XSS Payload绕过云锁学习

前言

对于我这个菜鸟来说,我通过谷歌百度学习到很多前辈的资料,甚至每句话都是他的指导,我也很感激前辈的为我们铺设的道路,让我们更快的成长起来。我也乐于分享,可能有些知识点过于单调或者久远,请见谅。

WAF


前几天花了10买了一个月的服务器,换个WAF来测试。 

XSS Payload绕过云锁学习_第1张图片

Bypass

遗漏标签就不测试了,上一篇水文[https://www.anquanke.com/post/id/176185]的分享的标签也可以过,不信找几个试试= =

好吧非常打脸,拦截了。

XSS Payload绕过云锁学习_第2张图片

然而换个prompt()函数???免费版当然是这样的啦,高级服务不仅我买不起,还绕不过啊,而且我不是真正的站长,规则我也不会设啊,总之就是这也不会那也不会。

XSS Payload绕过云锁学习_第3张图片

 

XSS Payload绕过云锁学习_第4张图片

Top属性类似的补充


还记得上篇的top属性嘛

XSS Payload绕过云锁学习_第5张图片

实际上可以利用的还有好几个,看到这里各位是否get到什么了。

XSS Payload绕过云锁学习_第6张图片

我们可以利用的类似拼接的对象又多了几个,例如:

//一家人就是要整整齐齐

这些都可以绕过waf,总结起来有 top self parent frames content window,无疑top是最短的,所谓短小精悍,这里借用PKAV的一张ppt。

 

其他补充

除了拆分构造,我们必须要了解还有编码,这个确实是老生常谈的话题,先看个例子吧

将e字母url编码,成功弹窗也绕过waf。 

 

XSS Payload绕过云锁学习_第7张图片

其他编码

JS8编码:
JS16编码:
其他

parseInt()与toString()


parseInt()

XSS Payload绕过云锁学习_第8张图片

例子: alert字符串用parseInt函数,以基数为30转化后为8680439

XSS Payload绕过云锁学习_第9张图片

toString()

XSS Payload绕过云锁学习_第10张图片

例子: toString函数将返回的数字8680439,以基数为30还原

XSS Payload绕过云锁学习_第11张图片

这样你就能理解下面这个例子了。

XSS Payload绕过云锁学习_第12张图片

俩个例子


例1

al

这个例子很巧妙,将altlang属性分别赋值合并起来就是alert,并在top属性内将2个属性相加。

例2

 

在top属性内添加2个变量,并赋值构造eval,然后执行alert(1)

测试下,拦截了。 

XSS Payload绕过云锁学习_第13张图片

其实waf拦截的是alert这个关键字,换个prompt()函数就过了

XSS Payload绕过云锁学习_第14张图片

也可以选择将alert(1)编码,因为有eval存在啊,直接拿来用

XSS Payload绕过云锁学习_第15张图片

setTimeout()函数也是没问题的,毕竟也能执行代码。

eval函数的补充


setTimeout

XSS Payload绕过云锁学习_第16张图片

WAF拦截

XSS Payload绕过云锁学习_第17张图片

编码下,就绕过了。

XSS Payload绕过云锁学习_第18张图片

setInterval

setInterval不同,对于setTimeout()只执行code一次。

XSS Payload绕过云锁学习_第19张图片

XSS Payload绕过云锁学习_第20张图片

绕过waf,引用外部js。

XSS Payload绕过云锁学习_第21张图片

其他

拆分与编码




 
结合函数:

扩展


关于运用基于DOM的方法创建和插入节点把外部JS文件注入到网页,这种方法在<>有介绍过。我这里简单演示下,如果你了解或者不感兴趣可以跳过这段。

首先用createElement方法创建一个script标签。

XSS Payload绕过云锁学习_第22张图片

接下来给

你可能感兴趣的:(网络知识)