我们来构造一个实验环境: from flask import Flask, abort, request import unicodedata from waf import waf app = Flask...(__name__) @app.route('/') def Welcome_name(): name = request.args.get('name') if waf(name):..., NFKC, NFD, and NFKD return 'Test XSS: ' + name if __name__ == '__main__': app.run(port=81) WAF...: def waf(input): print(input) blacklist = ["~","!"...3.2 Final//EN"> 403 Forbidden Forbidden XSS Detected 但是因为我们规范的不同,导致了一下绕过的存在
id=1 or true# 拦截 ●看来这个waf并没有拦截xor这个关键字 ●并且确定确实有注入点,并且参数是int型 select之类的关键字就不说了,肯定被拦截 第二步:尝试绕过WAF 如果waf...id=1%A0or 拦截 id=1%00or%00true 不拦截,但是%00却截断了注入语句,并没有注入成功 对空格进行编码绕过失败 换一个思路: 如果注入语句不在同一行上呢?.../usr/bin/env python """ Copyright (c) 2006-2018 sqlmap developers (http://sqlmap.org/) See the file.../usr/bin/env python """ Copyright (c) 2006-2018 sqlmap developers (http://sqlmap.org/) See the file...,就不一一举例了 关于怎么写tamper脚本 找到waf绕过规则,然后尝试修改sqlmap原有的tamper脚本 然后循序渐进,慢慢地提高自己的过waf能力 SQL语句和熟悉数据库的功底很重要 作者:ALDYS4
我曾经写了一篇关于Burp插件使用的技术的博文在这里。许多WAF设备可以被伪造的请求欺骗,这些伪造的会被认为是自身正常的请求来处理,因为如果被判断有特定的头部存在,那么对于它来说就是可信的。...然后我做了一些关于如何把它作为Java扩展来提高效率的快速研究。 要使用此插件添加必要的头部,首先需要下载该插件的Python版本,插件的Java版本或Java源码,然后自己编译。...然后根据语言选择对应的版本,使用的Java版本就用Java的,使用,然后导航到扩展路径。...这可以用来绕过依赖于路径信息的不好写的规则 6.路径模糊功能将路径中的最后一个斜杠修改为随机值,或者默认情况下不执行任何操作。...最后一个斜杠可以修改为许多值中的一个,在许多情况下,这会导致仍然有效的请求,但可能会绕过编写的依赖路径信息的WAF规则 7.参数混淆特征是语言特定的。
安全是一个不断对抗的过程,有防护手段,就有相应的绕过手段。 渗透测试过程中,WAF 是必定会遇到的,如何绕过 WAF 就是一个问题。...熟练掌握 MySQL函数和语法使用方法 深入了解中间件运行机制 了解 WAF 防护原理及方法 做到这三点,即可做到随心所欲的绕过 WAF 的保护。 白盒绕过 ? ?...黑盒绕过 架构层绕过 WAF 寻找源站(针对云 WAF) 利用同网段(绕过防护区域:例如WAF部署在同一网段的出口,使用网段的主机进行攻击,流量不经过WAF 。)...“ 而上述的绕过都是WAF的正则无法匹配,错误的进行的放行,导致绕过WAF的发生。 SQLmap的tamper sqlmap相信不用我多介绍,只需要记得两个选项帮组你记忆。...使用sqlmap –list-tampers查看tamper的描述信息。 ?
名称: Cloudflare 有效负载: click 绕过技术:非空白填充 名称: Wordfence 负载: click 绕过技术:数字字符编码 名称:Barracuda 有效载荷: click 绕过技术...:数字字符编码 名称: Akamai 负载: click 绕过技术:黑名单中缺少事件处理程序和函数调用混淆 名称: Comodo 有效负载...(confirm)>click 绕过技术:黑名单中缺少事件处理程序和函数调用混淆 名称: ModSecurity 负载: 绕过技术:黑名单中缺少标签...名称: dotdefender 负载: <details/open/ontoggle=(confirm)()// 绕过技术:黑名单中缺少标签、函数调用混淆和备用标签结尾
使用HTTP参数污染和Double Url编码在重定向参数中反映的XSS Akami Waf绕行: /login?
,咱们可以得出一种过waf的姿势了 我们可以使用布尔盲注得到网站表中的数据了。...提交方式绕过 可以看到数据包都是以GET方式传递的,咱们将GET提交方式改为POST,看看结果如何: 可以看到这里咱们将攻击PYLOAD执行过去之后,并没有被拦截,这个原理很简单,程序首先判断是什么方式请求...对于攻击者而然,只需要在POST BODY前面添加许多无用数据,把攻击payload放在最后即可绕过WAF检测。.../**/(),这样就可以绕过 通过POST传递关键函数可以直接绕过 总结 一个好WAF并不是吹出来的,而是实践出来的。...研究waf的绕过,并不是为了去攻击某某网站,而是为了提高waf的防御能力。 当然我们不能仅仅停留在一个层面上,更要明白其漏洞原理,在代码层面上就将其修复,而不是事事靠第三方软件的防御。
.%00./file.php
前言 某狗可谓是比较好绕过的waf,但是随着现在的发展,某狗也是越来越难绕过了,但是也不是毫无办法,争取这篇文章给正在学习waf绕过的小白来入门一种另类的waf绕过。...multipart/form-data接收POST请求的时候,服务器如何知道开始位置和结束位置的呢???...waf绕过的思路: 正常传输的payload都是可以被waf的正则匹配到的,而进行分块传输之后的payload,waf的正则不会进行匹配,而又满足http的规则,所以就能绕过waf。...(以pikachu靶场为例) 这里上面讲到了分块传输,这里直接先使用分块传输来进行绕过。...的长度变换来绕过某些waf (3)分块传输只是适用于post请求,这也是存在的弊端问题 总结: 绕过waf的方式多种多样,但是越简单的方式越需要底层的探索,所以底层的学习是非常必要的。
: Chunked 通过分块传输进⾏绕过,将原始数据进行拆分小块,注意每个小块长度尽量不要设置太大,否则可能引起报错。...一些比较好的WAF已经对Transfer-Encoding的分块传输做了处理,可以把分块组合成完整的HTTP数据包,这时直接使用常规的分块传输方法尝试绕过的话,会被WAF直接识别并阻断。...;asdsdsasdqweq -- 8;QWEasdZXC &submit= 9;1qaz2wsx %E6%9F%A5 9;123123123 %E8%AF%A2 0 (两个换行) 利用分块传输绕过...WAF注入成功 0x05 sqlmap联动分块传输插件 为了方便演示,在测试sqlmap分块传输注入前,需要将安全狗的cc攻击防护关闭 首先在分块传输插件的设置中,勾选作用于代理(Proxy) 将...BurpSuite拦截的数据包保存到本地txt文件中,sqlmap使用-r参数读取本地txt文件,-p指定注入参数 然后使用sqlmap对漏洞参数进行注入测试,并设置BurpSuite的代理地址 sqlmap
由于产品的设计或实现原理,及其他问题都有可能导致攻击者可以成功绕过WAF的防护,来达到攻击后端Web应用的目的。除了WAF自身的安全性以外,现在讨论最多的就是WAF的绕过技术。...在介绍WAF绕过技术之前,我们必须要要搞明白一个问题,那就是WAF为什么会存在被绕过的风险?这是因为WAF对数据包的解析和Web服务器对数据包的解析两者之间存在差异,所以存在被绕过的可能。...下面列出了一些在SQL注入过程中主流的WAF绕过技术: 1、参数污染 2、URL重写 例如:http://localhost/uyg/id/123+or+1=1/tp/456 3、加密payload(例如...Transfer-Encoding:chunked 这次就给大家分享一下分块传输绕过WAF的经验。...然后再装上waf,可以看到被拦截了。 ? 然后:数据包头中添加Transfer-Encoding:chunked进行分块传输,将注入的内容进行分块,发现是可以进行绕过的。 ? ? ?
如今市面上的所有WAF几乎都已具备了对RCE攻击的拦截甚至阻断,但当它发生在Linux系统中时,我们已经有了极为巧妙的方法来绕过WAF规则集。作为渗透测试人员我们最大的朋友不是“狗”,而是“通配符”。...但为什么使用通配符(特别是问号)可以帮助我们躲避WAF规则集呢? 让我从Sucuri WAF讲起! Sucuri WAF绕过 ? 测试WAF规则集的最好办法是什么?...c),还可以执行像curl或wget这样的命令,来获取服务器的真实IP地址,使我能够通过直接连接目标来绕过WAF。...但是如果我使用?作为通配符呢? 结果成功绕过了WAF: ? 发生这种情况是因为“?”,“/”和“空格”在规则920271和920272的可接受的字符范围内。而且使用“?”...无论如何,当你在你的ModSecurity或类似的东西上编写一个新的SecRule时,请记住,可能会有很多种方法能绕过你的过滤规则,你需要不停的思考各种绕过的可能性,并不断的去完善它。
waf分类 掌握绕过各类WAF可以说是渗透测试人员的一项基本技能,本文将WAF分为云WAF、硬件WAF、软件WAF、代码级WAF,分别从各自的特性来谈一些相关的绕过技巧,更侧重于针对基于规则类的WAF绕过技巧...*/select 5.空白符绕过 基于正则表达式的WAF, SQL注入规则使用正则表达式的“\s”匹配空格,例如”select\s+union”。...5.文件名覆盖 在一个Content-Disposition 中,存在多个filename ,协议解析应该使用最后的filename值作为文件名。...3.MySQL文件读取 (5.5以上的版本 由于secure_file_priv这个变量为null 因此无法使用文件读取 文件写入的功能。)...总结:本文主要对基于规则的WAF的绕过技巧,基于规则的waf有着天然的缺陷型,构造出基于规则之外的特性就有可能绕过。或者干脆将WAF直接打挂,这时waf很有可能直接启用Bypass模式。
图片来源于网络 通过标题,您可能会知道这是有关使用UNICODE进行 XSS WAF绕过的文章。因此,让我们给你一个关于我正在测试的应用程序的小想法。...如果用户进行了正确的身份验证,则此发布请求会将项目保存在用户帐户中,以供以后使用;如果用户未进行正确的身份验证,则该请求仅会返回一些值。...因此,存在WAF。...为了绕开它,我开始模糊测试,结果是: xss \" onclick= \" alert(1) ==> WAF xss \" xss = \" alert(1) ==> WAF xss...因此,我们唯一的方法是绕过WAF 在标记中使用事件属性。我尝试通过fuzzdb使用html-event-attributes.txt 进行暴力破解。
日常测试的时候遇到的一个case,存在XSS漏洞,但是WAF把 onload,onerror,onstart等常用的on属性都过滤了。 通过搜索,找到一段遍历所有on属性的代码。
一般来说,这种技术适用于红队研究工作中针对Web应用防火墙的绕过和其他反向代理安全方面的任务。 ...然后,该工具会使用Levenshtein算法将每个HTTP响应与原始响应进行比较,以确定相似度。如果响应信息相似,则视为匹配。 ...接下来,我们可以直接使用下列命令下载和安装hakoriginfinder: go install github.com/hakluke/hakoriginfinder@latest 或者说,可以使用下列命令将该项目源码克隆至本地...: git clone https://github.com/hakluke/hakoriginfinder.git 工具使用 我们可以通过stdin向工具提供一个目标IP地址列表,并通过-h参数来设置原始主机的主机名...除此之外,我们还可以通过-t参数来设置工具运行所使用的线程数量,默认为32。 使用-h参数则可以直接设置主机名称,这个参数是没有默认值的,为必填选项。
[20201114210534.png] 3、编码绕过,把SQL语句编码便可以绕过waf [20201114210943.png] 4、修改请求方式绕过 [20201114212238.png] 利用waf...的默认规则绕过,如默认只针对GET拦截,不对post拦截,那我们就可以用POST方式传输绕过waf 5、复合参数绕过 例如一个请求是这样的 GET /pen/news.php?...id=1&id=union&id=select&id=user,password&id=from%20mysql.user 很多WAF都可以这样绕,测试最新版WAF能绕过部分语句 6、WAF触发规则的绕过...from*/ mysql.user 空格替换法 把空格替换成%0a/**/可以绕过 使用大小写 http://www.***.com/index.php?...异或绕过 lucy' Xor '1'='1' # 利用WAF本身的功能绕过,把""替换为空 union+sel*ect+1,2,3,4....
一、WAF简介 Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。...二、WAF分类 四类: 云WAF 腾讯云 百度云 阿里云盾 奇安信网站卫士 软件WAF d盾:http://www.d99net.net/ 云锁:https://yunsuo.qianxin.com...http-waf-fingerprint www.varin.cn 五、Bypass 技巧-服务器特性 六、Bypass 技巧-应用层特性 七、Bypass 技巧-WAF层特性 八、Bypass 技巧-...数据库特性 简介 可以利用数据库特性来进行WAF绕过,如: # 内联注释: /*!...12345 union*/ select # 当MySQL数据库版本号大于1.23.45时,执行 # Mysql黑魔法: select {x user} from {x mysql.user} # 换行符绕过
绕过 Cloudflare WAF 最近,我又改进了Hackvertor,以让其支持在repeater等工具的实际请求中使用。...你也可以在Intruder中使用它们,首先在repeater中定义它们然后再将它们发送到Intruder。你甚至还可以在proxy中使用它们,但默认情况下是关闭的。...下面,我将为大家演示如何在repeater中使用标签来绕过Cloudflare WAF。我们将以下网址发送给repeater:https://waf.party/xss/xss.php?...第一步是确定key的长度,你可以为各个候选键使用频率分析来确定。这里我使用30作为最大猜测key长度。我将每个字符都存储在了频率表中,并每次当它们出现在密文中时递增它们。...无论如何,一旦你获取到了key长度,你只需循环遍历密文和每个字符并进行xor加密,然后根据字符结果为其分配一个分数。
文章作者:奇安信攻防社区(中铁13层打工人) 文章来源:https://forum.butian.net/share/3639 浅析waf绕过 在挖洞过程中往往会遇到各种攻击利用被waf拦截的情况,本文浅析总结了常见的一些绕过思路以及具体实现...利用WAF的缺陷绕过 1.1利用WAF性能缺陷-垃圾字符填充 对于通用性较强的软WAF来说,不得不考虑到各种机器和系统的性能,故对于一些超大数据包、超长数据可能会跳过不检测 因此可以填充大量垃圾字符来逃避...2.利用waf适配组件的缺陷 由于后端web容器、中间件、数据库、脚本语言的多样性,waf很难覆盖全,容易导致waf解析不了而后端可以正常解析读取导致的绕过 IIS+asp 在IIS+ASP的环境中如果...(需要服务端能正常接受) 3.2分块传输 仅仅适用于post传输方法 分块传输不少waf现在也都可以识别了,可以结合waf性能缺陷的思路综合利用-延时分块传输 具体使用可以参考该项目 http://github.com...ip 可以使用https://github.com/TheKingOfDuck/burpFakeIP插件将xff等头部设置为127.0.0.1等进行绕过尝试 搜索引擎爬虫的访问数据 User-Agent