Webhacking.kr old-03
Challenge
Solve the Nonogram, then alter the hidden
answerfield in the log request.解出 5×5 Nonogram,并提交网格编码。
1 | https://webhacking.kr/challenge/web-03/ |
Analysis
页面把 25 个格子编码为 _1 到 _25,黑格为
1、白格为 0,JavaScript 再按顺序拼成 hidden
字段 _answer。解题后出现的日志表单通过 POST 提交
answer 和 id;answer
会进入查询,而 id 只决定日志中的名字。观察到修改
answer
会改变查询结果后,可以在该字段结束原字符串并追加恒真条件。
5×5 网格按行编码如下:
1 | 10101 |
按行拼接后得到:
1 | 1010100000011100101011111 |
Solution
先用完整网格参数打开 challenge,让服务端进入 Clear 页面;随后复用同一个 session,向日志表单提交 SQL injection。下面的脚本包含两个请求和所有字段:
1 | #!/usr/bin/env python3 |
-- 后面的空格是 payload
的一部分,用于注释查询剩余内容。answer 必须作为 POST
字段发送,不能只把它放在初始 Nonogram 的 GET 参数中。