Lab: Blind SQL injection with conditional responses PRACTITIONER 带条件响应的SQL盲注靶场复盘

靶场完成目标:

This lab contains a blind SQL injection vulnerability. The application uses a tracking cookie for analytics, and performs an SQL query containing the value of the submitted cookie.

The results of the SQL query are not returned, and no error messages are displayed.But the application includes a “Welcome back” message in the page if the query returns any rows.

The database contains a different table called users, with columns called username and password. You need to exploit the blind SQL injection vulnerability to find out the password of the administrator user.

To solve the lab, log in as the administrator user.
综上所述,没有报错,但是如果合法就会出现welcome back的字样
靶场目标是使用administrator账户登录

开启演练

打开靶场并用burp抓包,发送到repeater
在这里插入图片描述
在这里插入图片描述
测试语句

  • ' and 1=1 --+是否会显示welcome
    在这里插入图片描述

  • ’and 1=2 --+是否不会返回错误
    在这里插入图片描述
    正如猜想的那样,这里有个盲注点

  • ' and (selcet 'a' from users limit 1)='a' --+ 这条语句确认是不是users这个数据表,它寻找’a’这一列,如果users存在,那么就会返回’a’这个字符串,因为SQL语句中,即使某列不存在,也会返回那一列的名字,加上limit是防止那一列真的存在返回了那一列的某个值
    在这里插入图片描述

  • ' and (select 'a' from users where username='administrator' limit 1)='a' --+ 用来确认是否有administrator这个用户:
    在这里插入图片描述

  • ' and (select 'a' from users where username='administrator' and length(password)>5)='a' --+ 来确定password的长度
    在这里插入图片描述
    但是我们需要手动确定password的长度,所以我们需要变更length的条件,最后发现,password的长度为20
    在这里插入图片描述

  • 暴力破解密码:知道密码长度后,我们就可以暴力破解了:使用语句:' and (select substring(password,1,1) from users where username='administrator')='a' --+ 通过这个语句,我们可以知道password的第一个字符是不是a,所以变量有两个:一个是substring的第二个参数,一个是最后面的字符。

  • 放入Intruder模式:选取两个变量:
    在这里插入图片描述

  • 第一个字典是1~20的数字,第二个字典是0~9、A~Z、a~z的内容:
    在这里插入图片描述
    在这里插入图片描述

  • 设置判断条件是回显 Welcome back
    在这里插入图片描述

  • 开始攻击(攻击过程有些慢,国外网站你懂的):
    根据内容,我们可以找到数字所对应的密码为
    在这里插入图片描述

  • 记下来输入密码即可:
    在这里插入图片描述

和传统的URL盲注不同的是,这里是在cookie字段中注入的,但是这个cookie或许就是被加密的用户名,所以利用这个的真与假,我们就能一步步判断我们的步骤,虽然不能一步到位

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zeker62

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值