sql爆破账号密码案例【cookie盲注】

有一个盲注漏洞,后台会执行SQL语句查询用户提交的 cookie 是否存在于users表(这个表有 username 和 password 两个字段),但是执行的结果并不会返回在响应包里,你也就不能使用联合查询来注入了。但是如果 cookie 无法查询到的话应用没有报错也没有数据返回,如果 cookie 查询到了,那会返回一个 “Welcome back”,所以我们可以使用盲注来一个字符一个字符的将密码猜解出来,然后登录即可完成任务

确定注入点

1、首先确认注入点,在 cookie 的 trackingId 值的后面添加 '
2、响应中搜索 'Welcome back',可见未修改cookie的情况下响应有一个 'Welcome back'
3、添加一个和两个单引号都没有找到 'Welcome back',在正常情况下使用两个单引号闭合语句之后应该返回和未修改时一样的响应,但这里并没有,如果只靠单引号判断的话这里就错过了呦

开始

这里我们再添加上布尔条件试试,' and '1'='1 和 ' and '1'='2,前一个结果为真,应该返回 'Welcome back',后一个结果为假,不应该返回 'Welcome back',现在让我们看看结果和预想的是不是一样的,如果一样,那就说明存在注入点

好,上面说明存在注入点,那么我们下面看看存不存在 users 这个表, ' and (select 'a' from users limit 1) = 'a ,这个语句的原理在于select 'a' from users limit 1 执行成功后会返回一个 'a' 使得该查询 cookie 的语句成立,返回 'Welcome back'

一切和任务简报中给的一样,那么下面就是找找里面有没有 administrator 这个用户,一样的语句' and (select username from users where username='administrator') = 'administrator
在这里插入图片描述

那我们接下来就是看看它的密码到底是几位,这里可以用 length() 函数加上 大小比较来搞定,我们先看看它是不是小于 10 位,' and length((select password from users where username='administrator')) < '10
在这里插入图片描述

没有返回 ‘Welcome back’ 说明密码长度大于10,那我们就继续往上加 20 30 ,最后我们是在 30 处返回了 ‘Welcome back’ 说明密码大于20小于30位
在这里插入图片描述

那下面就是枯燥无味的尝试了,10个数字+26个小写字母+26个大写字母,用 = 判断的话一共要尝试 1240 次,有编程基础的同学可以使用 脚本来完成这个过程,没有的话可以使用 burp 的 Intruder 模块来减小工作量

这里用到的语句是
' and substring((select password from users where username='administrator'),1,1) = '0
其中 substring(a,b,c) 的作用的从a字符串的第b位开始截取c个字符,所以上面的语句就是取密码的第一位,看是不是等于0

来到 Intruder ,选择 Cluster bomb 模式,在 substring()的b参数和对比的0上添加变量
在这里插入图片描述

payload 1 选择 number,设置1-20,步长为1;payload 2 选择列表,把0-9 A-Z a-z 都放到里面
在这里插入图片描述
在这里插入图片描述

下面就直接开干,在 attack 页面过滤 ‘welcome back’,可见把每一位的值都遍历了出来
在这里插入图片描述

最后administrator的密码就是 y96oysbzklfevyzfu0eh,登录收工

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晚来的棠棠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值