Repository navigation
3.1 documentation update #3613
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.1 documentation update #3613
Changes from all commits
1995206
88fef73
3e6b6d7
fedf360
52bc5f0
cd2bf7f
c068b08
0506155
5427051
74f897b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,7 +10,6 @@ output_modules: | |
|
|
||
| config: | ||
| dns: | ||
| threads: 25 | ||
| brute_threads: 1000 | ||
| # put your API keys here | ||
| # modules: | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,6 +6,12 @@ If a change is missing here, please open an issue. | |
|
|
||
| --- | ||
|
|
||
| ## Python | ||
|
|
||
| BBOT 3.1 requires Python 3.11 or newer, and Python 3.10 is no longer supported. On 3.10, `pip install --upgrade bbot` doesn't fail; it stays on the latest 3.0 release, so upgrade Python first. Python 3.15 is now supported. | ||
|
|
||
| --- | ||
|
|
||
| ## Config and Presets | ||
|
|
||
| ### Custom module folders (`module_dirs`) | ||
|
|
@@ -77,6 +83,22 @@ By default, open ports other than 80 and 443 are dropped on hosts tagged `cdn` o | |
|
|
||
| ## Modules | ||
|
|
||
| ### `lightfuzz` probes WAF-protected hosts instead of skipping them | ||
|
|
||
| In 3.0, lightfuzz skipped every host tagged `waf`. In 3.1, `modules.lightfuzz.avoid_wafs` defaults to `try_bypasses`: lightfuzz sends each WAF-tagged host a test payload in a POST body, first unpadded and then padded (the nowafpls technique). It fuzzes the host only if that probe gets past the WAF: either the padding gets the payload through, or the WAF didn't block it even unpadded. Even then, only request-body parameters are fuzzed. The `lightfuzz`, `lightfuzz-heavy`, `lightfuzz-max`, and `lightfuzz-xss` presets also enable the `nowafpls` module, which runs the same probe on every WAF-tagged host and emits a `FINDING` when padding gets through. Expect more traffic to WAF-fronted targets after upgrading. See [WAF Handling](../modules/lightfuzz.md#waf-handling). | ||
|
|
||
| | 3.0 | 3.1 | | ||
| |-----|-----| | ||
| | the top-level `avoid_wafs` (default `true`) controlled lightfuzz | no longer read | | ||
| | `modules.lightfuzz.avoid_wafs` was ignored | controls lightfuzz: `always` (skip), `never` (fuzz whatever the probe finds, still padding request bodies where padding gets through), or `try_bypasses` (default); `true` / `false` still work as `always` / `never` | | ||
| | `lightfuzz-max` still skipped WAF-tagged hosts | `lightfuzz-max` sets `never` and fuzzes them whatever the probe finds, still padding POST and JSON bodies where padding gets through | | ||
|
|
||
| `lightfuzz-light` still skips WAF-tagged hosts. To keep the 3.0 behavior with the other presets, set `avoid_wafs` to `always` and exclude nowafpls: | ||
|
|
||
| ```bash | ||
| bbot -t evilcorp.com -p lightfuzz -c modules.lightfuzz.avoid_wafs=always -em nowafpls | ||
| ``` | ||
|
|
||
| ### `dnsdumpster` requires an API key | ||
|
|
||
| dnsdumpster no longer has a keyless mode. Set `modules.dnsdumpster.api_key`, or the module is disabled at setup. | ||
|
|
@@ -89,6 +111,10 @@ dnsdumpster no longer has a keyless mode. Set `modules.dnsdumpster.api_key`, or | |
|
|
||
| With `urls: true`, wayback now probes each host once and drops URLs on hosts that don't respond. Expect fewer, but live, URLs from wayback. | ||
|
|
||
| ### API requests identify as BBOT | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔴 Add an entry here: 3.0 lightfuzz skipped every WAF-tagged host; 3.1 defaults
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added under Modules in 52bc5f0, with the WAF Handling link and a "Check your setup" bullet in cd2bf7f. It covers the |
||
|
|
||
| Modules that query third-party APIs through BBOT's API request helper now send `User-Agent: BBOT/<version>` instead of the scan's user agent, so `web.user_agent` and `web.user_agent_suffix` no longer apply to those requests. Not every module uses the helper yet, so some third-party requests still send `web.user_agent`; don't rely on `BBOT/<version>` for allowlisting. Requests to your targets still use `web.user_agent`. | ||
|
|
||
| --- | ||
|
|
||
| ## Event Output | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔴 For the removed
threads: 25above: please paste before/afterbbot -p subdomain-enum --current-preset-fulldns output showing threads go 25 to 50.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added to the PR body under Validation:
threadsgoes from 25 on dev to 50 on this branch, and it's the only value that changes in the full output.