1、从浏览器发出普通的GET请求,拦截并记录响应头(特别是cookie)。
2、从命令行(例如cURL)发出请求,并测试响应内容和标头(不包括用户代理)。
3、向随机开放的端口发出GET请求,并抓住可能暴露WAF身份的标语。
4、如果某处有登录页面,请尝试一些常见的(易于检测到的)有效负载,例如" or 1 = 1 --。
5、如果某处有一些输入字段,请尝试使用嘈杂的有效负载,例如<script>alert()</script>。
6、../../../etc/passwd在网址末尾将虚拟对象附加到随机参数。
7、将一些引人入胜的关键字(例如' OR SLEEP(5) OR 'URL末尾)附加到任何随机参数。
8、使用过时的协议发出GET请求,例如HTTP/0.9(HTTP/0.9不支持POST类型查询)。
9、WAF很多时候会Server根据不同类型的交互来更改标头。
10、丢弃动作技术-将原始的FIN / RST数据包发送到服务器并识别响应。 提示:使用HPing3或Scapy之类的工具可以轻松实现此方法。
11、边信道攻击-检查请求和响应内容的计时行为。
1、使用两个nmap脚本可以检测
--script=http-waf-detect
--script=http-waf-fingerprint
2、sqlmap
sqlmap -u “www.test.com/xxx?id=1”--identify-waf
3、wafw00f
https://github.com/EnableSecurity/wafw00f
4、identywaf
https://github.com/stamparm/identywaf
5、WhatWaf
https://github.com/Ekultek/WhatWaf.git
nmap ip/domain --script=http-waf-detect.nse
nmap ip/domain --script=http-waf-fingerprint
sqlmap -u “www.test.com/xxx?id=1”--identify-waf
wafw00f https://www.test.com
python3 identYwaf.py http://www.test.com
./Whatwaf -u http://www.test.com
https://github.com/0xInfection/Awesome-WAF
https://blog.csdn.net/zvall/article/details/104033810
https://www.cnblogs.com/cheyunhua/p/14077782.html