简介
现实生活中网站服务器为了加强自身的安全问题,通常读会安装一些防火墙进行恶意的扫描检测请求,这样的情况下就提升了渗透测试人员正确判断网站相关信息的成本。
在KaliLinux中提供了一款防火墙探测工具“wafw00f”(这里的“00”是数字),该工具可以通过发送正常以及不正常甚至是包含恶意代码的HTTP请求,来探测网站是否存在防火墙,并识别该防火墙的厂商及类型。
wafw00f的工作原理
1、发送正常的HTTP请求,然后观察返回的一些特征字符,这可以识别出很多WAF。
2、如果上述条件不成功,则会发送一些恶意的HTTP请求,触发WAF的拦截来获取其返回的特征进而判断所使用的WAF类型。
3、如果上述的两个条件都不成功,它会分析之前返回的响应,使用一些算法去猜解是否有某个WAF或者安全解决方案响应了我们的攻击请求。
常用的命令参数
-a 匹配所有签名特征的WAFS,不仅仅局限于第一优先匹配选项
-r 不遵循3xx状态的重定向
-t 测试一个指定的WAF
-o 输出文件,文件类型取决于文件名后缀,支持csv、json、文本
-i 从文件中读取目标。输入格式可以是csv,json或文本。
-l 显示支持探测的所有WAF列表
-p 设置代理
-H 设定一个头文件信息,用以覆盖默认的头信息
查看支持检测的WAF类型
wafw00f -l
探测防火墙
wafw00f 域名或者IP
nmap探测防火墙脚本
nmap www.baidu.com --script=http-waf-detect.nse