Webhacking.kr old-45
Challenge
Bypass the
addslashesand encoding boundary to return admin.利用多字节编码边界绕过
addslashes并返回 admin。
1 | https://webhacking.kr/challenge/web-22/ |
Analysis
id 先经过 addslashes,再从 EUC-KR 转为
UTF-8。%aa 是 EUC-KR
多字节序列的前导字节;它与后续单引号及服务端插入的反斜杠共同跨过编码边界,使单引号重新参与
SQL 语法。id like 0x61646d696e 用十六进制字面量表达
admin,|| 提供逻辑或,#
注释掉原查询尾部。
Solution
请求为:
1 | /challenge/web-22/?id=%aa%27%20%7C%7C%20id%20like%200x61646d696e%23&pw=guest |
该请求返回 hi admin,进入 admin 分支。
该 payload
依赖服务端字符集转换顺序和连接字符集;改变编码或转换顺序可能使
%aa%27 失效。