MCPcopy Index your code
hub / github.com/PortSwigger/bypass-bot-detection

github.com/PortSwigger/bypass-bot-detection @v0.0.7

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.7 ↗ · + Follow
99 symbols 209 edges 19 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Bypass bot detection

Burp Suite extension that mutates ciphers to bypass TLS-fingerprint based bot detection

Usage

  1. Install the extension from Releases or build from sources.
  2. The extension changes network settings at Settings -> Network -> TLS and select Use custom protocols and cipher.
  3. Right-click on a Request/Response item in the Proxy History tab, navigate to Extensions -> Bypass bot detection, and select one of the menu items.
  4. If the server's response changes (i.e., the number of words and headers are different), the extension will log the message and add notes to the Proxy History.

Build Instructions

  • Ensure that Java JDK 17 or newer is installed
  • From root of project, run the command ./gradlew jar
  • This should place the JAR file Bypass-Bot-Detection-0.0.7.jar within the build/libs directory
  • This can be loaded into Burp by navigating to the Extensions tab, Installed sub-tab, clicking Add and loading the JAR file
  • This BApp is using the newer Montoya API, so it's best to use the latest version of Burp (try the earlier adopter channel if there are issues with the latest stable release)

Modes

  • Firefox Mode: Install the following list of cipher suites: 4865, 4867, 4866, 49195, 49199, 52393, 52392, 49196, 49200, 49162, 49161, 49171, 49172, 156, 157, 47, 53 and add the Firefox User-Agent header.
  • Chrome Mode: Use cipher suites 4865, 4866, 4867, 49195, 49199, 49196, 49200, 52393, 52392, 49171, 49172, 156, 157, 47, 53 and add the Chrome User-Agent header.
  • Safari Mode: Include cipher suites 4865, 4866, 4867, 49196, 49195, 52393, 49200, 49199, 52392, 49162, 49161, 49172, 49171, 157, 156, 53, 47, 49160, 49170, 10 and add the Safari User-Agent header.
  • HTTP2 Downgrade: By default, Burp uses HTTP/2 to communicate with all servers that advertise support for it during the TLS handshake. When that feature is selected, the Burp Suite will use HTTP/1 even if the server supports HTTP/2. It allows to bypass aggressive HTTP/2 fingerprinting.
  • Brute Force Mode: Tries different combinations of TLS protocol versions and cipher suites. For a full list, visit: PortSwigger/bypass-bot-detection.

Warning

The extension modifies network settings during brute force attacks. It is not recommended to use this extension concurrently with other active scans.

This extension cannot bypass aggressive bot detection

Core symbols most depended-on inside this repo

Shape

Method 80
Class 17
Enum 2

Languages

Java100%

Modules by API surface

src/main/java/net/portswigger/burp/extensions/Utilities.java25 symbols
src/main/java/net/portswigger/burp/extensions/beens/MatchAndReplace.java8 symbols
src/main/java/net/portswigger/burp/extensions/beens/TLSSettings.java6 symbols
src/main/java/net/portswigger/burp/extensions/beens/Proxy.java6 symbols
src/main/java/net/portswigger/burp/extensions/beens/ProjectOptions.java6 symbols
src/main/java/net/portswigger/burp/extensions/beens/Negotiation.java6 symbols
src/main/java/net/portswigger/burp/extensions/TLSContextMenuItemsProvider.java6 symbols
src/test/java/JA3Test.java4 symbols
src/main/java/net/portswigger/burp/extensions/beens/SSL.java4 symbols
src/main/java/net/portswigger/burp/extensions/beens/ProxySettings.java4 symbols
src/main/java/net/portswigger/burp/extensions/beens/HTTP2.java4 symbols
src/main/java/net/portswigger/burp/extensions/beens/HTTP.java4 symbols

For agents

$ claude mcp add bypass-bot-detection \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page