WAF 绕过工具是一款开源工具,可使用预定义和可自定义的有效负载来分析任何 WAF 的安全性,以防止误报和漏报。
使用 Docker 运行
docker pull nemesida/waf-bypass
'example.com' docker run nemesida/waf-bypass --host=
使用 pipx 运行
使用 CLI 直接从源代码运行
clone https://github.com/nemesida-waf/waf_bypass.git /opt/waf-bypass/ git
python3 -m pip install -r /opt/waf-bypass/requirements.txt
'example.com' python3 /opt/waf-bypass/main.py --host=
'--proxy'( ) - 选项允许指定连接到何处而不是主机。--proxy='http://proxy.example.com:3128'
'--header'( --header 'Authorization: Basic YWRtaW46YWRtaW4=' --header 'X-TOKEN: ABCDEF') - 选项允许指定与所有请求一起发送的 HTTP 标头(例如用于身份验证)。允许多次使用。
'--user-agent'( --user-agent 'MyUserAgent 1/1') - 选项允许指定与所有请求一起发送的 HTTP 用户代理,除非用户代理由有效负载 ( "USER-AGENT") 设置。
'--block-code'( --block-code='403' --block-code='222') - 选项允许您指定 WAF 被阻止时预期的 HTTP 状态代码。(默认为403)。允许多次使用。
'--threads'( --threads=15) - 选项允许指定并行扫描线程的数量(默认为10)。
'--timeout'( --timeout=10) - 选项允许指定请求处理超时(以秒为单位)。(默认为30)。
'--exclude-dir'- 排除有效负载的目录(--exclude-dir='SQLi,XSS').
'--json-format'- 允许您以 JSON 格式显示工作结果的选项(对于将该工具与安全平台集成很有用)。如果未指定该选项,输出将以表格格式(默认格式)。
'--details'- 显示误报和误报负载。与选项选项不兼容--json-format。
'--curl-replay'- 显示 cURL 命令以重现误报、误报或失败的请求。与选项选项不兼容--json-format。
有效载荷
根据用途,有效负载位于相应的文件夹中:
FP - 误报有效负载
API - API 测试负载
CM - 自定义 HTTP 方法有效负载
GraphQL - GraphQL 测试负载
LDAP - LDAP 注入有效负载
LFI - 本地文件包含有效负载
MFD - 多部分/表单数据有效负载
NoSQLi - NoSQL 注入有效负载
或者 - 打开重定向有效负载
RCE - 远程代码执行有效负载
RFI - 远程文件包含有效负载
SQLi - SQL 注入有效负载
SSI - 服务器端包括有效负载
SSRF - 服务器端请求伪造有效负载
SSTI - 服务器端模板注入有效负载
UWA - 不需要的访问有效负载
XSS - 跨站脚本负载
编写您自己的有效负载
编译有效负载时,使用以下区域、方法和选项:
URL——请求的路径
ARGS - 请求的查询
BODY - 请求的正文
COOKIE - 请求的cookie
USER-AGENT - 请求的用户代理
REFERER - 请求的引用者
HEADER - 请求的标头
METHOD - 请求的方法
BOUNDARY - 指定请求边界的内容。仅适用于 MFD 目录中的有效负载。
ENCODE -除了有效负载的编码之外,还指定有效负载编码的类型(
Base64
、HTML-ENTITY
、 )。UTF-16
多个值用空格表示(例如Base64 UTF-16
)。仅适用于 forARGS
、BODY
和zone。不适用于 API 和 MFD 目录中的有效负载。与选项不兼容。COOKIE
HEADER
JSON
JSON - 指定请求的正文应为 JSON 格式
BLOCKED - 指定请求应被阻止(FN 测试)或不被阻止(FP)
除了下面描述的某些情况外,这些区域是相互独立的,并且是单独测试的(如果指定了 2 个区域 - 脚本将发送 2 个请求 - 交替检查一个和第二个区域)。
对于区域,您可以使用%RND%
后缀,它允许您生成 6 个字母和数字的任意字符串。(例如:param%RND=my_payload
或param=%RND%
或A%RND%B
)
您可以创建自己的有效负载,为此,请在“/payload/”文件夹中创建您自己的文件夹,或将有效负载放置在现有的文件夹中(例如:“/payload/XSS”)。允许的数据格式为 JSON。
API目录
位于此目录中的 API 测试有效负载会自动附加标头'Content-Type: application/json'
。
MFD目录
对于位于此目录中的 MFD(多部分/表单数据)有效负载,您必须指定BODY
(必需)和BOUNDARY
(可选)。如果BOUNDARY
不设置,则会自动生成(此时只需为 BODY 指定有效负载,无需额外数据('... Content-Disposition: form-data; ...'
)。
如果BOUNDARY
指定了 a,则 的内容BODY
必须根据 RFC 进行格式化,但这允许在 中BODY
分隔多个有效负载BOUNDARY
。
该目录中允许存在其他区域(例如:URL
等ARGS
)。无论区域如何,标头'Content-Type: multipart/form-data; boundary=...'
都会添加到所有请求中。
项目地址:
https://github.com/nemesida-waf/waf-bypass
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...