介绍WAF
网站存在WAF,意味着我们不能使用安全工具对网站进行测试,因为一旦触碰了WAF的规则,轻则丢弃报文,重则拉黑IP。所以,我们需要手动进行WAF的绕过,而绕过WAF前肯定需要对WAF 的工作原理有一定的理解。本文主要从绕过WAF过程中需要注意的角色和点出发,尝试理解它们的运作,构建一个简单的知识框架。
非嵌入型WAF对Web流量的解析完全是靠自身的,而嵌入型WAF拿到的Web数据是已经被解析加工好的。所以非嵌入型的受攻击机面还涉及到其他层面,而嵌入型WAF从Web容器模块型WAF、代码层WAF往下走,其对抗畸形报文、扫操作绕过的能力越来越强。当然,在部署维护成本方面,也是越高的。
WAF判断
1、sqlmap
如果网站有waf,sqlmap会提示
python sqlmap.py -u "https://www.ustc.edu.cn/" --identify-waf --batch
2、手动检测有没有WAF
直接在相应的网站的URL后面加上最基础的测试语句,比如union select 1,2,3%23,并且放入一个不存在的参数aaa
这里被拦截的表现为(增加了无影响的测试语句后):页面无法访问、响应码不同、返回与正常请求网页时不同的结果