简单的xss绕过

简要说明 


考虑了一下,决定还是先写一写xss的简单绕过

我并没有下载waf,只是,单纯的从关键词,或者其他一些方式的绕过

开始测试


首先自己先做一个最简单的测试页面,如下

简单的xss绕过_第1张图片

确保我们可以执行弹窗

简单的xss绕过_第2张图片

简单绕过

上面这种就是没有任何过滤的反射型xss

像如下这种简单的过滤,不区分大小写的,我们完全可以通过大小写混合的模式,来进行弹窗

但在测试的过程中,不清楚什么问题script一直不生效,采用了img标签测试

简单的xss绕过_第3张图片

那过滤了alert我们怎么办呢?有两个可以替代alert弹窗的函数

confirm()函数和prompt()函数

把img修改成大写后,如下

简单的xss绕过_第4张图片

还有一种场景是检测小括号的alert后面的小括号会被检测

这个时候可以尝试双引号、单引号以及反引号,如下

简单的xss绕过_第5张图片

那么,和sql一样自然也是可以尝试双写关键字的,但是,双写的前提就是后台检测到关键词,不执行exit或者die函数,而是把关键词删除,让我们有了利用的机会

再如下,再正则匹配中,如果加入了不区分大小写呢?

简单的xss绕过_第6张图片


标签绕过

其实,如上这种形式,在后台过滤中估计都已经过时了

但如果遇到这种情况,我们应该怎么办呢?我首先想到的肯定是,如果后台通过黑名单,自然是寻找后台漏掉的危险标签

有很多,在这里不在全部列举了,参考:https://www.w3school.com.cn/tags/html_ref_byfunc.asp

只要是可以再html页面生产一下东西的,都拿来试试

比如我就随便找了个下拉列表的标签

简单的xss绕过_第7张图片

我们可以尝试的常用标签,淡然还有不少,比如a标签





简单的xss绕过_第9张图片

URL编码
Javascript:伪协议后面可以使用URL编码。

test    ///可成功执行弹窗

    ///无法执行

因为href属性会跳转到其中的URL,而会进行URL解码。onerror属性则只会执行JS,不跳转


连接函数绕过

top对象:

top可以连接对象以及属性或函数,那么我们可以做到很多,例如:

直接top连接一个alert函数

简单的xss绕过_第10张图片

可以直接在标签中执行如下

简单的xss绕过_第11张图片

也可以尝试如下方式执行,完全木有问题,调用alert函数

简单的xss绕过_第12张图片

但是当waf拦截了alert关键词怎么办,首先可以使用一下confirm或者prompt函数

但你这个时候就想使用alert,top直接关键词的拼接,如下

注意+号在url中需要使用url编码  %2b

简单的xss绕过_第13张图片

它还支持如下书写形式

简单的xss绕过_第14张图片

昨天遇到一个某师范大学的网站存在这么一个洞,和上面的payload类似,贴不上图了,ip给我ban了

window对象

其用法于top类似

简单的xss绕过_第15张图片

concat()函数

concat方法在实际应用中,不仅仅可以用于连接两个或多个数组,还可以合并两个或者多个字符串

模拟一个应用场景比如,我们过滤了script和alert,如下

简单的xss绕过_第16张图片

经过测试,需配合iframe标签使用