WAF漏洞挖掘及安全架构 主讲人:黄登 服云科技 安全攻防实验室 关于...这个[男人]: Winger: EMAIL Twitter : free.winge@gmail.com : WingerFree Weixin : GNUSEC No White No Black No Green Hat WAF =>? Wh@Fk WTK WAF ~~ 0x1 绕绕绕绕绕绕绕绕绕绕绕绕绕绕绕绕绕绕绕绕NI Y的 0x2 RB 0x3 业务 OR 安全 ? 0x4 Matrix => Revolution 0x1 Bingo vs Rule breaker 一个无法加规则的漏洞 PHP-DDOS CVE-2015-4024 规则不是万能的,恰恰是万万不能的. (单一防御远远不够) 如何做一个RB 高手呢? 来叔叔教你 PHP DDOS CVE-2015-4024 由 LiuShusheng 2015-04-03 提交 PHP TEAM。 漏洞通过提交特定规则的POST上传数据包,触发服务器PHP容器的资源过 度消耗, 最终造成DDoS攻击。 一周之内各大安全厂商相继推出新规则, 新补丁。以宣“天下太平”。 一切看似安然无恙。 然 并 卵 漏洞原理----> 通杀的快感--指哪打哪 第一次RB HOW FIX? 核心思路就是用\r\n\r\n将form-data的body part分成header和body,header再用\n分割, 如果数量大于10的话就直接拦截下来,返回447错误。通过这样的方式,临时抵御这次的 DOS漏洞 问题来了 0x1 : 影响正常业务 10行太少, 遇到论坛之类的多文件上传的环境就影响正常使用了. 0x2: RULES DDOS 随着匹配行数的增加, 匹配函数的复杂度以及正则表达式的复杂 度都会成倍增长。 最终导致过滤器本身占用系统资源过多(ReDoS). 第二次RB 0x2 R B 之 ReDos Regex BooM (正则表达式拒绝服务攻击 ) ReDos 产生的原因在于正则表达式在执行的过程中, 存在过度滥用计算机资源的情况. 最终导致匹配 器性能低下, 甚至HANG住业务. 0x1: 很久以前, 很久以后一直会有的一个洞. 0x2: 架构 --> 策略 --> 规则复杂度. 0x3: 安全性 VS 业务量 这是一个普遍存在此问题. 在架构无法弥补的情况下, 规则越复杂就陷的越深. ReDos 表达式特性 分组重叠 ^(\d+)*$ 组内和组外存在匹配重叠 ^(\d*)*$ ^(\d+|\s+)*$ 平行表达式重叠 ^(\d|\d\d)+$ ^(\d|\d?)+$ 组内各表达式之间存在重叠 如何成为RB高手? 一: 你的长得丑. 人丑鬼怕. 二: 你的长得比我丑... 三:修炼FUZZ大法。。。。。。 人人都爱 FUZZ WAF测试中常见FUZZ策略 策略 1: BLIND FUZZ (传统的基于结果的FUZZ) 策略 2: SLICE FUZZ (基于容器特性的FUZZ+组合) WAF模糊测试框架 基于功能分块 分块FUZZ
2015-《WAF漏洞挖掘及安全架构v4-黄登》
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
本文档由 张玉竹 于 2022-04-07 17:45:14上传分享