标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-2859] 作者: hudie 发表于: [2021-03-27]
本文共 [410] 位读者顶过
浅谈waf绕过
waf简介: WAF是Web应用防火墙(Web Application Firewall)的简称,对来自Web应用程序客户端的各类请求进行内容检测和验证,确 保其安全性与合法性,对非法的请求予以实时阻断,为Web应用提供防护,也称作应用防火墙,是网络安全纵深防御体系里重要的一环。WAF属于检测型及纠正型防御控制措施。WAF分为硬件WAF、软件WAF(ModSecurity)和代码级WAF WAF对请求的内容进行规则匹配、行为分析等识别出恶意行为,并执行相关动作,这些动作包括阻断、记录、告警等 WAF工作在web服务器之前,对基于HTTP协议的通信进行检测和识别。通俗的说,WAF类似于地铁站的安检,对于HTTP请求进行快速安全检查,通过解析HTTP数据,在不同的字段分别在特征、规则等维度进行判断,判断的结果作为是否拦截的依据从而决定是否放行 来源网络,侵权私我 用人话来说就是,你上传文件,waf就是用来检测是否是恶意文件的,或者你要做注入等攻击行为,waf会检测你的行为来进行封禁
[出自:jiwo.org] ![]()
绕过方式: 1 大小写绕过 以XSS举例 <script>alert(“zac”)</script> 更改为:<sCriPt>alert(“zac”)</sCriPt>
2 ip绕过 部分waf是靠ip来决定你的操作是否能过去的 我们直接将包的内容改成ip内的白名单其中之一就可以绕过
3 注释绕过 union select 1,2,3 from zac 注释完的效果 /**/union/**/select/**/1,2,3 from zac /**/un/**/io/**/n/**/sel/**/ec/**/t/**/1,2,3 from zac 4 编码绕过 少数waf不会对普通字符进行URL解码,还有一部分waf只会进行一次url解码,所以可以对payload进行二次url编码 比如base64等 5 关键字替换 有些WAF会删除或者替换关键字,比如遇到select union等敏感字词 像 union select 1,2,3可替换为ununionion selselectect 1,,2,3 6 后缀名绕过 部分网站会对上传的文件格式有限制,我们可以写一句话木马保存到zac.php文件中,然后将zac.php更改为zac.jpg,抓包后再将后缀名更改回来绕过 (最近这两天审了一个cms,那玩意到数据库中强制转换格式,我是没辙,能过的大佬记得call我) 7 参数污染 ?a=/*&id=1 and 1=1&b=*/ 像这串payload就是典型的参数污染 可以看看NOVASEC的“渗透实战:Mssql过狗命令执行” 里面有非常详细的解释 对于网站来说他会把这个分成三个部分 第一部分a=/* 第二部分id=1 and 1=1第三部分 b=*/,然后网站会认为第一部分和第三部分是垃圾参数,他不接收,他只接受自己想要的参数,id 那个参数就过去了
8 多请求绕过 如这样的请求:?zac=[inputzac]&zac1=[inputzac1] 可将参数zac和zac1拼接如:and zac=[inputzac] and zac1=[inputzac1]
|