题目描述
签到题,访问目标站点,提示「flag 在 admin 的密码里」。
解题过程
打开页面是一个登录框,随手测试 admin' or '1'='1,页面返回登录成功。
进一步用 UNION 注入dump数据:
| |
响应中拿到:
| |
原理分析
登录 SQL 拼接形如:
| |
单引号闭合后注释掉后半段即可绕过。时间复杂度为 $O(n)$,其中 $n$ 为注入尝试次数。
总结
- 过滤单引号是治标不治本,应该用参数化查询
- 本题考点:基础 SQL 注入 + UNION 查询
签到题,访问目标站点,提示「flag 在 admin 的密码里」。
打开页面是一个登录框,随手测试 admin' or '1'='1,页面返回登录成功。
进一步用 UNION 注入dump数据:
| |
响应中拿到:
| |
登录 SQL 拼接形如:
| |
单引号闭合后注释掉后半段即可绕过。时间复杂度为 $O(n)$,其中 $n$ 为注入尝试次数。