sql注入6之延时注入(借助sqli-labs版)

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:确认注入点
  1. 访问目标 URL:

    http://localhost/sqli-labs/Less-9/?id=1

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值