SQL注入--盲注(布尔与延时)

布尔与延时盲注的区别

首先,使用二者的前提是,在参数错误的情况下(例如:1’)不会返回报错信息

布尔盲注:在正确与错误参数下,页面返回的信息有所不同
延时盲注:不论输入正确或错误参数,页面没有明显区别

时间盲注更像是布尔盲注的升级,布尔盲注的时候比较直观的变化
所以这个时候基于时间的盲注,也就是在基于布尔的盲注上结合if判断和sleep()或benchmark()函数来得到一个时间上的变换延迟的参照,也就可以让我们进行一些判断


盲注常使用的函数

  1. length():确定字符长度
  2. ascii():确定某个字符是什么
  3. substr()/mid():截取字符串
  4. count():计算数量
  5. sleep()/ bentchmark():延时
  6. if():判断语句

盲注的大体流程

数据库:

  1. 确定数据库名字长度length()
  2. 确定数据库名字ascii()与substr()

表名:

  1. 确定数据库中几张表 count(table_name)
  2. 确定第一张表名字长度 length()
  3. 确定第一张表名字ascii()与substr()
  4. 确定其他表名字长度与表名ascii()与substr()

字段名:

  1. 确定第一张表中共有几个字段count(column_name)
  2. 确定第一个字段名字的长度length()
  3. 确定第一个字段的名字ascii()与substr()
    10.确定第一张表其他字段的名字以及其他表字段名字ascii()与substr()

字段值:

  1. 确定某一字段(例如为uname)中共有几条数据conut(uname)
  2. 确定第一条数据的长度length()
  3. 确定第一条数据的内容ascii()与substr()
  4. 确定其他数据的内容ascii()与substr()

盲注案例(sqli-labs-less-15)

  1. 获取数据库名字长度
    盲注,通过测试发现单引号闭合
    得知数据库名称长度为8
uname=admin&passwd=admin' and 1=if((length(database())=8),1,2)--+&submit=Submit

在这里插入图片描述

  1. 获取数据库名字
    通过ascii和substr可以推算出数据库名字为security
  uname=admin&passwd=admin' and 1=if((ascii(substr(
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值