xss

过滤了小写的``,可以使用大小写绕过


过滤了不区分大小写的``与``,可以使用嵌套的script标签绕过,

url/example.php?name=ipt>alert("xss")ipt>


包含script字符串即报错,可以使用img标签绕过。

URL/example.php?name=


包含alert字符串即报错,可以使用编码方式绕过。URL/example.php?name=


代码在js环境中输出通过html编码的php变量,htmlentities没有过滤单引号,可以使用单引号绕过。

url/example.php?name=';alert('xss');'


post地址使用了当前url,我们构造当前url地址达到xss目的,尝试构造代码如下

url/example.php/[/url]">


使用str_replace()函数将``用空格取代。这种防护几乎没有什么作用,只需要简单改变大小写即可绕过该函数的防御。

输入`alert(/xss/)`即可。


Name处限制了字符长度。但是PHP源码中并没有对Name的长度进行验证。可以采用分段绕过,即“/* */ ”的方式


需要先将value属性闭合

">


oninput事件

属性       值            描述

Oninput   script      当元素获得用户输入时运行的脚本。

该事件会在元素获得用户输入时执行包含的脚本

123' oninput='alert(123)

由于使用的是oninput事件,需要捕获到用户输入才能执行事件,所以在上面的输入框中输入即可触发alert()函数


判断value使用的是单引号还是双引号方法:

输入' " > 三个字符测试闭合,查看文本框内的内容

 文本框无内容就是单引号,内容为 ' 即为双引号

 

Oninput和script都被替换,使用伪链接方式假造一个超链接尝试:

"> link

点击链接

你可能感兴趣的:(xss)