使用python编写sql时间盲注的exp

本文介绍了时间盲注的概念和原理,通过MySQL中的sleep()函数实现延迟效果。在Web安全领域,当布尔盲注无法应用时,可以利用时间盲注来探测数据库信息。文章以Python编写的时间盲注EXP为例,展示了如何在sql-labs靶场的第9关中获取数据库名,并强调了延时时间设置的重要性。
摘要由CSDN通过智能技术生成

前言:

前面学习了布尔盲注的exp,原理是根据页面的两个返回状态来确定注入的语句是否正确执行,从而得到我们想要的数据,但有时候,页面只会返回一种状态,布尔盲注就无法实行了,此时,我们就要用到另一种盲注方式:时间盲注,也叫延时注入

延时注入原理:

延时注入是利用sql语句达到延时的目的,在mysql中用的sleep()函数,

select sleep(3) 数据库延时3秒 返回信息。利用这个函数加上if函数进行判断,就可以达到延时注入,注入得出数据。

我们在exp中怎样利用呢?

我们可以获取注入代码执行之前的时间戳和注入代码执行后的时间戳,取两者的时间差,当时间差大于或等于我们注入语句中构造的延时时间(受到网络情况或其它因素的影响,一般延时的时间会大于我们规定的时间),则说明该注入语句被数据库成功执行,我们仍然要先获取到查询数据的长度,在依次判断出每一个字符,从而得到最终的数据。

有了这个思路,具体实现就很容易了:

我使用的环境是sql-labs靶场的第9关,直接用burp抓到数据包:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值