WAF详解,检测与一些绕过方法

在上一篇随笔中,已经简单介绍过WAF的基本信息了。

WAF依据配置情况分为:嵌入性WAF和非嵌入型WAF

嵌入型WAF:直接将WAF嵌入在web应用的代码里。

非嵌入型WAF:独立工作的WAF:此类又分为:

软件型WAF:以软件模式安装配置在服务器上的WAF,能够直接接触服务器文件,可以检查服务器上是否存在后门。

硬件型WAF:以硬件形式部署在链路中,有些类似于IDS和IPS的对流量监控检测防御的原理。

云WAF:以反向代理的方式,对受保护web服务器的进出请求和数据包进行过滤控制。

WAF的检测:这里主要是采用一些安全工具来检测waf

1.sqlmap的WAF检测,利用sqlmap -u ''url'' --indentify -waf --batch

可以识别出是否存在waf,以及waf类型

2.namp:nmap -http-waf-url

3.wafw00f:wafw00f url  指定检测:wafw00f url -t waf类型

WAF的简单绕过: 

1.手注绕过:

(1)大小写绕过:例如select,做大小写混合,不过这种绕过方法已经过时了

(2)空字符绕过:在注入语句中拼接空字符,利用waf过滤时检测到空字符无法处理的原理。

(3)重写绕过:有些waf在过滤特殊字符时,可能只会过滤一次,这时候做一个重写,se select lect 利用过滤后,正好组成一个新的恶意特殊字符

(4)编码绕过:waf往往只对url进行一次解码检查,那么进行两次编码就可以简单绕过。

(5)注释绕过:利用反斜杠表示注释来欺骗waf,反斜杠后的关键语句前加上!从而执行恶意操作

2.白名单绕过:

修改use-agent为waf白名单,例如搜索引擎,从而使waf放行

3.上传点绕过:修改数据包信息来绕过过滤机制,例如加前缀后缀,文件头。

posted @ 2022-03-07 15:11  mu3e  阅读(627)  评论(0)    收藏  举报