SQLi-Labs 的 Less-9 和 Less-10 是典型的延时注入练习关卡:
- Less-9:基于 GET 请求,页面无论注入是否成功只返回固定内容("You are in..."),无法通过页面内容判断注入结果,适合延时注入。
- Less-10:基于 POST 请求,同样是盲注场景,需通过延时注入获取数据。
环境假设:
- 数据库:MySQL
- 目标 URL(以 Less-9 为例):http://localhost/sqli-labs/Less-9/?id=1
- 后端查询语句(推测):SELECT * FROM users WHERE id='$id' LIMIT 0,1
- 页面响应:无论注入是否成功,页面内容不变,但响应时间可被操控。
2. 延时注入原理
延时注入利用数据库的延时函数(如 MySQL 的 SLEEP())构造条件语句,通过响应时间判断条件是否成立:
- 如果条件为真,数据库执行延时,响应时间变长(例如延迟 5 秒)。
- 如果条件为假,数据库不延时,响应正常。
典型 Payload:
1' AND IF(condition, SLEEP(5), 0) --
- condition:测试的条件(如数据库名、表名、数据的某个字符)。
- SLEEP(5):条件为真时暂停 5 秒。
- 0:条件为假时不暂停。
3. 延时注入实践步骤(以 Less-9 为例)
步骤 1:确认注入点
-
访问目标 URL:
http://localhost/sqli-labs/Less-9/?id=1

最低0.47元/天 解锁文章
1198

被折叠的 条评论
为什么被折叠?



