目录
waf绕过和鉴权
- 过waf的手段 sql注入绕过waf
- 在请求数据包中的数据 都需要过waf 这种都是可以在编码中绕过
- 自己写绕过规则 在sqlmap tamper中写入自己的py文件
- 加载自己的py文件规则 –tamper py文件 来加载自己的规则文件过waf
WAF识别
在请求中设置自己的cookie,例如:Citrix、Netscaler、Yunsuo WAF、safedog。
---------------------------------------------
在header中关联,例如:Anquanbao WAF、AmazonAWSWAF。
经常更改标头和混乱的字符以使攻击者感到困惑,例如:Netscaler、Big-IP。
---------------------------------------------
在服务器头数据包中暴露自己,例如: Approach、WTS WAF。
一些WAF在响应内容body中公开自身。例如:DotDefender、Armor、Sitelock。
---------------------------------------------
其他WAF会对恶意请求做出不寻常的响应代码答复。例如:WebKnight、360WAF。
---------------------------------------------
有些WAF会返回一堆垃圾数据。例如:百度云加速乐。
其实总结起来就是 cookie header bady 都可能有waf的指纹信息
---------------------------------------------
1. HTTP头分析
查看响应头:WAF通常会在HTTP响应头中添加特定字段
例如:
Cloudflare的WAF会在响应头中包含
Server: cloudflare
或CF-RAY
字段。
工具:使用浏览器开发者工具或
curl
命令查看响应头。
curl -I http://example.com
2. 发送恶意请求
触发WAF:发送恶意请求(如SQL注入、XSS等),观察响应。
响应码:WAF通常会返回403、406等错误码,或显示特定拦截页面。
工具:使用
sqlmap
等工具测试。
sqlmap -u http://example.com/page?id=1
3. 延迟检测
时间延迟:WAF可能会对可疑请求进行额外检查,导致响应时间变长。
工具:使用
time
命令测量响应时间。
time curl -o /dev/null http://example.com
4. 特定路径测试
WAF管理界面:尝试访问常见的WAF管理路径(如
/waf-admin
、/waf-login
)。工具:使用
dirb
或gobuster
进行目录扫描。
gobuster dir -u http://example.com -w /path/to/wordlist.txt
5. 使用在线工具
WAF识别工具:使用如
WAFW00F
等工具自动检测WAF。
wafw00f http://example.com
6. 分析错误页面
拦截页面:WAF通常会显示特定的拦截页面,包含WAF名称或标识。
工具:使用浏览器或
curl
查看页面内容。
curl http://example.com
7. SSL证书检查
证书信息:某些WAF(如Cloudflare)会使用自己的SSL证书。
工具:使用
openssl
查看证书信息。
openssl s_client -connect example.com:443
检测技术
从浏览器发出普通的GET请求,拦截并记录响应头(特别是cookie)。
从命令行(例如curl)发出请求,并测试响应内容和标头(不包括user-agent)。
向随机开放的端口发出GET请求,并抓住可能暴露WAF身份的标语。
如果某处有登录页面,表单页面等.请尝试一些常见的(易于检测的)有效负载,例如 " or 1=1 -- -
将../../../etc/passwd附加到URL末尾的随机参数
在url的末尾添加一些吸引人的关键字,如'or sleep(5)‘
使用过时的协议(如http/0.9)发出get请求(http/0.9不支持post类型查询)。
很多时候,waf根据不同的交互类型改变服务器头。
删除操作技术-发送一个原始的fin/rst包到服务器并识别响应。
侧通道攻击-检查请求和响应内容的计时行为。
主流WAF指纹识别工具推荐
wafw00f 集成在kali中
主流waf工具
wafw00f
- https://github.com/enablesecurity/wafw00f
identywaf
- https://github.com/stamparm/identywaf
sqlmap
- sqlmap检测waf:之前用这个参数: --identify-waf ,但是这个选项已经被废弃了。
- sqlmap源码:https://github.com/sqlmapproject/sqlmap但是新版的
sqlmap已经集成了上面的identywaf 的源码
所以sqlmap的waf探测功能其实还是靠的identywaf
喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。