html%3cb%3e标签,用最短的payload绕过WAF(入门)

想绕过一个WAF,我们可以用最短的payload来做,这里只是基础示例,望各位大佬勿喷,小弟在此谢过。

我在这里先使用一个网页举例。

a77f64483979025997267933650b3577.png

然后输入经典的payload

fa78a89169205f809d5f65e6d51483fe.png

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

46d94185b343334d9ba4a4285d76e5cf.png

9ae9a7a14af592c834305d4097e9212b.png

现在来看看是否可以绕过WAF

60278c350297a9f3abe8af8fba2d3877.png

是啊 我们成功了!

这真的很简单,但如果搜索表单不允许我们输入超过35个字符怎么办?或者25呢?

先尝试缩短这个75个字符长的payload。

首先,我们并不需要对所有内容进行编码,所以尝试通过不同的payload来找出WAF进行限制的字符。(这是一种方法,先测试waf限制的字符有哪些,哒哒哈)

%3cscript%3ealert(1)%3c%2fscript%3e Success

%3cscript>alert(1)%3c%2fscriptAccess Denied

%3cscript%3ealert(1)%3c/scriptSuccess

实际上也可以使用alert()而不是alert(1)。alert()将给我们一个空白的警告弹出,并将减小使用1个字符。

所以这里是我们的最后的payload只有31个字符:

%3cscript%3ealert()%3c/script>

JavaScript不限于脚本标签。所以可以尝试用不同的标签和事件处理程序创建payload。

拒绝访问

编码之后成功

%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()>

没有编码它看起来像这样

如果你输入了这个payload,没有任何事情会发生。

15096173358695.png!small

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

15096173402379.png!small

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

1509617346964.png!small

原文:http://www.cnblogs.com/ichunqiu/p/7773686.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值