Webhacking.kr old-12
Challenge
Understand the obfuscated JavaScript route check.
分析混淆 JavaScript 的路径检查。
1 | https://webhacking.kr/challenge/code-3/ |
Analysis
页面源码是 aaencode 风格的 JavaScript。解码后,脚本从 URL 的
= 之后取值,并将一组 String.fromCharCode
结果与它比较。比较通过后,脚本执行:
1 | location.href = "./" + ck.replace("=", "") + ".php"; |
解码比较值后得到目标文件名
youaregod~~~~~~~!.php,所以无需依赖浏览器执行混淆脚本,也可以直接请求生成后的路径。
Solution
直接请求下面的完整 URL。--path-as-is 让 curl
保留路径中的 ~ 和 !:
1 | curl --path-as-is 'https://webhacking.kr/challenge/code-3/youaregod~~~~~~~!.php' |
浏览器中也可以直接访问:
1 | https://webhacking.kr/challenge/code-3/youaregod~~~~~~~!.php |
请求目标路径即为题目要求的隐藏文件。