2 3 4 5 6 7 8 9 10 11 12

xss-level 1-5

level 1

打开靶场看到url有参数

发现网页源码的head中的

level 2

用level 1 的操作可以发现没有跳出弹窗

在搜索框中输入<script>alert('1')</script>,会提示报错信息

仔细的看就会发现搜索按钮前就是多的">符号(也可用brup抓包,可以看的很清楚)

此时可以先闭合前面的<",再注释掉后面的">即可正常的执行其中的xss语句

"><script>alert('1')</script>\

level 3

使用level1与2的方法,显然都是不对的,尝试加入鼠标事件(htmlspecialchars默认配置是不过滤单引号),闭合单引号 'onclick='window.alert()

然后用鼠标点击输入框即可

level 4

在输入框中输入`'',查看网页源码可以知道

<>俩符号被过滤了,

可以使用level 3的方法

"onclick="window.alert()
    --提交后鼠标点击触发事件

也可以使用(level 3 )同理--HTML事件

" oninput="alert('是') 
    -- 提交后输入任意值触发事件

level 5

在输入框中输入"><script>alert('yes')</script>,查看网页源码可以知道

在源代码发现字符被替换

此时可以考虑使用大小写混合法"><sCRipt>alert('yes')</scRipt>

此时结果没有发生任何变化

再考虑HTML事件" oninput="alert('是') ------ 无用

再考虑鼠标点击事件"onclick="window.alert() --------无用

使用伪链接方式假造一个超链接尝试:

"> <a href="javascript:alert('test')">链接</a>

执行后点击链接即可

posted @ 2021-11-12 23:14  MrDevil  阅读(134)  评论(0)    收藏  举报