dom-xss-x查看源码payload 'onclick="alert('wyz')">闭合后相当于 "<a href=''onclick="alert('wyz')">"+xss+"'>就让往事都随风,都随风吧</a>"a标签就是"<a href=''onclick="alert('wyz')">"对应的引号闭合后就只剩下 '>就让往事都随风,都随风吧点击触发事件
xss-盲打随意输入一些内容后,返回初步猜测这是一个存储型的xss,并且评论内容用户不可见,那么payload注入后可能是由管理员来触发那我们登录管理员账号
为了验证我们的想法还是采用我们最爱的<script>alert('xss')</script>,由于有两个可注入点,一个用xss1,一个用xss2表示再次管理员登入
xss-过滤随意输入直接注入<script>alert('xss')</script>,发现
说明输入被过滤了简单测试一下他的过滤机制 <script>!#,.?123xasf发现<script>会被过滤简单对<script>大小写进行改变 <SCript>alert(1)</sCRipt>再尝试一下不使用<script>的payload <a href=''onclick="alert('wyz')">发现已经生成链接,点击返回wyz弹窗
xss-htmlspecialchars输入hhh看看源码什么情况 <a href='hhh'>hhh</a>
再次输入<script>,'"123qwe看看字符过滤发现<>和"被编码那在payload的选择上我们就避免这两种字符 ' onclick='alert(1) 相当于变成了<a href= '' onclick='alert(1)'>点击链接有1弹窗响应 也可以使用javascript伪协议的payload alert(1)那就等同于<a href='alert(1)'>同样点击后响应1弹窗需要注意的是,这两种payload中alert括号中的内容不能是'xss','会和前面的'闭合,提前结束属性值
xss-href输入beeK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0点击链接跳转至百度,查看源码
看着和上一个模块差不多,直接注入' onclick='alert(1)看看失败了,再看源码发现单引号被编码了那我们使用alert(1),成功注入
但我们发现alert('xss'),也能成功,这是为什么呢查看源码
实际上对于href=' onclick='alert(1),整个字符串都成为 href 的内容,而 onclick 并没有被解析为一个独立的属性,因为单引号被编码后失去了属性分隔符的功能。而对于href=javascript:alert(' xss')来说,浏览器在解析html属性时,会先将 html实体还原成字符,所以实际 href 的值变为 alert('xss')
xss-js输入yaoming看看源码,是js脚本尝试输入<script>alert(1)</script>,再查看源码发现本来脚本的</script>被我们注入的payload提前闭合了
那我们构造payload时先用</script>闭合脚本开始的<script>,后面的内容就可以任意发挥了 </script><script>alert('js')</script>
我们还可以使用 ';alert(document.cookie);// '用于闭合前面的',//则是注释掉后面的内容
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2026-3-3 17:16
被mb_tqjnyivs编辑
,原因: 标题错误
---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-290155.htm
[原创]pikachu靶场--xss续
375 浏览
0 回复
暂无回复,快来抢沙发吧!