From c8c2f7b4c8e17122fa835c8af4ab4cc8df4c4010 Mon Sep 17 00:00:00 2001 From: epi Date: Thu, 4 Feb 2021 20:45:34 -0600 Subject: [PATCH] added banner entries for auto-tune/bail --- shell_completions/_feroxbuster | 2 ++ shell_completions/_feroxbuster.ps1 | 2 ++ shell_completions/feroxbuster.bash | 2 +- shell_completions/feroxbuster.fish | 2 ++ src/banner/container.rs | 1 - src/config/container.rs | 2 ++ src/parser.rs | 13 +++++++++++++ 7 files changed, 22 insertions(+), 2 deletions(-) diff --git a/shell_completions/_feroxbuster b/shell_completions/_feroxbuster index 5d9a40e..94f3e29 100644 --- a/shell_completions/_feroxbuster +++ b/shell_completions/_feroxbuster @@ -65,6 +65,8 @@ _feroxbuster() { '(-q --quiet)--silent[Only print URLs + turn off logging (good for piping a list of urls to other commands)]' \ '-q[Hide progress bars and banner (good for tmux windows w/ notifications)]' \ '--quiet[Hide progress bars and banner (good for tmux windows w/ notifications)]' \ +'(--auto-bail)--auto-tune[Automatically lower scan rate when an excessive amount of errors are encountered]' \ +'--auto-bail[Automatically stop scanning when an excessive amount of errors are encountered]' \ '--json[Emit JSON logs to --output and --debug-log instead of normal text]' \ '-D[Don'\''t auto-filter wildcard responses]' \ '--dont-filter[Don'\''t auto-filter wildcard responses]' \ diff --git a/shell_completions/_feroxbuster.ps1 b/shell_completions/_feroxbuster.ps1 index d98a5b0..d6f1b61 100644 --- a/shell_completions/_feroxbuster.ps1 +++ b/shell_completions/_feroxbuster.ps1 @@ -70,6 +70,8 @@ Register-ArgumentCompleter -Native -CommandName 'feroxbuster' -ScriptBlock { [CompletionResult]::new('--silent', 'silent', [CompletionResultType]::ParameterName, 'Only print URLs + turn off logging (good for piping a list of urls to other commands)') [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Hide progress bars and banner (good for tmux windows w/ notifications)') [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Hide progress bars and banner (good for tmux windows w/ notifications)') + [CompletionResult]::new('--auto-tune', 'auto-tune', [CompletionResultType]::ParameterName, 'Automatically lower scan rate when an excessive amount of errors are encountered') + [CompletionResult]::new('--auto-bail', 'auto-bail', [CompletionResultType]::ParameterName, 'Automatically stop scanning when an excessive amount of errors are encountered') [CompletionResult]::new('--json', 'json', [CompletionResultType]::ParameterName, 'Emit JSON logs to --output and --debug-log instead of normal text') [CompletionResult]::new('-D', 'D', [CompletionResultType]::ParameterName, 'Don''t auto-filter wildcard responses') [CompletionResult]::new('--dont-filter', 'dont-filter', [CompletionResultType]::ParameterName, 'Don''t auto-filter wildcard responses') diff --git a/shell_completions/feroxbuster.bash b/shell_completions/feroxbuster.bash index ec83884..430c81c 100644 --- a/shell_completions/feroxbuster.bash +++ b/shell_completions/feroxbuster.bash @@ -20,7 +20,7 @@ _feroxbuster() { case "${cmd}" in feroxbuster) - opts=" -v -q -D -r -k -n -f -e -h -V -w -u -t -d -T -p -P -R -s -o -a -x -H -Q -S -X -W -N -C -L --verbosity --silent --quiet --json --dont-filter --redirects --insecure --no-recursion --add-slash --stdin --extract-links --help --version --wordlist --url --threads --depth --timeout --proxy --replay-proxy --replay-codes --status-codes --output --resume-from --debug-log --user-agent --extensions --headers --query --filter-size --filter-regex --filter-words --filter-lines --filter-status --filter-similar-to --scan-limit --rate-limit --time-limit " + opts=" -v -q -D -r -k -n -f -e -h -V -w -u -t -d -T -p -P -R -s -o -a -x -H -Q -S -X -W -N -C -L --verbosity --silent --quiet --auto-tune --auto-bail --json --dont-filter --redirects --insecure --no-recursion --add-slash --stdin --extract-links --help --version --wordlist --url --threads --depth --timeout --proxy --replay-proxy --replay-codes --status-codes --output --resume-from --debug-log --user-agent --extensions --headers --query --filter-size --filter-regex --filter-words --filter-lines --filter-status --filter-similar-to --scan-limit --rate-limit --time-limit " if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 diff --git a/shell_completions/feroxbuster.fish b/shell_completions/feroxbuster.fish index e2354d7..9b41f17 100644 --- a/shell_completions/feroxbuster.fish +++ b/shell_completions/feroxbuster.fish @@ -26,6 +26,8 @@ complete -c feroxbuster -n "__fish_use_subcommand" -l time-limit -d 'Limit total complete -c feroxbuster -n "__fish_use_subcommand" -s v -l verbosity -d 'Increase verbosity level (use -vv or more for greater effect. [CAUTION] 4 -v\'s is probably too much)' complete -c feroxbuster -n "__fish_use_subcommand" -l silent -d 'Only print URLs + turn off logging (good for piping a list of urls to other commands)' complete -c feroxbuster -n "__fish_use_subcommand" -s q -l quiet -d 'Hide progress bars and banner (good for tmux windows w/ notifications)' +complete -c feroxbuster -n "__fish_use_subcommand" -l auto-tune -d 'Automatically lower scan rate when an excessive amount of errors are encountered' +complete -c feroxbuster -n "__fish_use_subcommand" -l auto-bail -d 'Automatically stop scanning when an excessive amount of errors are encountered' complete -c feroxbuster -n "__fish_use_subcommand" -l json -d 'Emit JSON logs to --output and --debug-log instead of normal text' complete -c feroxbuster -n "__fish_use_subcommand" -s D -l dont-filter -d 'Don\'t auto-filter wildcard responses' complete -c feroxbuster -n "__fish_use_subcommand" -s r -l redirects -d 'Follow redirects' diff --git a/src/banner/container.rs b/src/banner/container.rs index fc47b09..9b34263 100644 --- a/src/banner/container.rs +++ b/src/banner/container.rs @@ -499,7 +499,6 @@ by Ben "epi" Risher {} ver: {}"#, if config.auto_bail { writeln!(&mut writer, "{}", self.auto_bail)?; } - if config.auto_tune { writeln!(&mut writer, "{}", self.auto_tune)?; } diff --git a/src/config/container.rs b/src/config/container.rs index bc10484..de57014 100644 --- a/src/config/container.rs +++ b/src/config/container.rs @@ -750,6 +750,8 @@ impl Configuration { update_if_not_default!(&mut conf.verbosity, new.verbosity, 0); update_if_not_default!(&mut conf.silent, new.silent, false); update_if_not_default!(&mut conf.quiet, new.quiet, false); + update_if_not_default!(&mut conf.auto_bail, new.auto_bail, false); + update_if_not_default!(&mut conf.auto_tune, new.auto_tune, false); // use updated quiet/silent values to determine output level; same for requester policy conf.output_level = determine_output_level(conf.quiet, conf.silent); conf.requester_policy = determine_requester_policy(conf.auto_tune, conf.auto_bail); diff --git a/src/parser.rs b/src/parser.rs index c186820..b83ef2f 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -130,6 +130,19 @@ pub fn initialize() -> App<'static, 'static> { .takes_value(false) .help("Hide progress bars and banner (good for tmux windows w/ notifications)") ) + .arg( + Arg::with_name("auto_tune") + .long("auto-tune") + .takes_value(false) + .conflicts_with("auto_bail") + .help("Automatically lower scan rate when an excessive amount of errors are encountered") + ) + .arg( + Arg::with_name("auto_bail") + .long("auto-bail") + .takes_value(false) + .help("Automatically stop scanning when an excessive amount of errors are encountered") + ) .arg( Arg::with_name("json") .long("json")