此扩展会劫持 Burp 的 HTTP 和 TLS 协议栈,使您能够伪装任意浏览器的 TLS 指纹(JA3)。它增强了 Burp Suite 的能力,同时降低了被 CloudFlare、PerimeterX、Akamai、DataDome 等各种 WAF 指纹识别的可能性。
此扩展无需借助丑陋的 hack、反射或 Burp Suite Community 的分支代码即可运行。

本项目的维护离不开所有可爱的贡献者和赞助商。 如果您想赞助本项目,并希望您的头像或公司徽标出现在此部分, 请点击此处。 💖

这只是其中一个示例。如果您在另一个专门的机器人检测网站上测试过,请告诉我您的测试结果!
遗憾的是,Burp 的 API 对于此类更高级的用例非常有限,因此我不得不反复尝试才能使其正常工作。
当请求进入时,扩展会将其拦截并转发到后台启动的本地 HTTPS 服务器(在扩展加载后启动)。该服务器的作用类似于代理;它将请求转发到目标地址,同时保留原始标头顺序并应用可自定义的 TLS 配置。然后,本地服务器将响应转发回 Burp。
配置设置以及目标服务器地址和协议等其他必要信息,会通过一个魔法标头随每个请求发送到本地服务器。在该请求被转发到目标服务器之前,这个魔法标头会从请求中剥离。

ℹ️ 另一种选择是编写一个上游代理服务器并将 Burp 连接到它,但我个人需要一个便于定制和移植的扩展。
Java 作为扩展类型,并浏览到您刚下载的 jar 文件。点击底部的 'Next',扩展应该会无错误地加载。此扩展是“即插即用”的,应当不言自明。您可以将鼠标悬停在 'Awesome TLS' 选项卡中的每个字段上,以获取有关每个字段的更多信息。
要从 WireShark 加载自定义的 Client Hello,您可以将 client hello 记录复制为十六进制流,然后粘贴到“Hex Client Hello”字段中。

在 'advanced' 选项卡中,您可以启用一个额外的代理监听器,它将自动应用来自请求的当前指纹:

启用后,示意图将变为这样:

此扩展是使用 JetBrains IntelliJ(和 GoLand)IDE 开发的。以下构建说明假定您使用相同的工具进行构建。有关目标编程语言版本,请参阅workflows。
./src-go/ 中的 go 包。运行 cd ./src-go/server && go build -o ../../src/main/resources/{OS}-{ARCH}/server.{EXT} -buildmode=c-shared ./cmd/main.go,将 {OS}-{ARCH} 替换为您的操作系统和 CPU 架构,将 {EXT} 替换为您的平台对动态 C 库的首选扩展名。例如:linux-x86-64/server.so。有关受支持平台的更多信息,请参阅 JNA 文档。Build > Build project 将 GUI 表单 SettingsTab.form 编译为 Java 代码。gradle buildJar。现在您应该会得到一个可在您的操作系统上与 Burp 配合使用的 jar 文件(通常位于 ./build/libs)。
特别感谢以下仓库的维护者:
以及以下网站的创建者: