Challenge
Read the JavaScript and derive the hidden PHP path.
阅读 JavaScript,推导隐藏的 PHP 路径。
https://webhacking.kr/challenge/js-3/Analysis
脚本用 String.fromCharCode(124) 生成字符 |,再拼接 .php。这是相对当前 challenge 目录的路径,因此浏览器会请求 |.php。竖线不是路径分隔符,放入 URL 时必须百分号编码。
Solution
下面根据题面规则构造请求:
from urllib.parse import quotefrom urllib.request import Request
BASE_URL = "https://webhacking.kr/challenge/js-3/"filename = chr(124) + ".php"request_url = BASE_URL + quote(filename, safe="")request = Request(request_url, method="GET")
print(request.full_url)quote 会把生成的 | 编码为 %7C,请求对象因此携带正确的 URL 编码路径。