SQL盲注-布尔+报错+延时

文章介绍了SQL注入中的盲注技术,包括布尔盲注、报错盲注和延时盲注。通过实例展示了如何利用这些方法在不同功能点(如插入、上传和删除)中探测和利用漏洞,例如通过报错注入获取数据库版本,以及利用延时盲注判断数据库名。
摘要由CSDN通过智能技术生成

 SQL-盲注&布尔&报错&延时

知识总结

          查询方式增删改查这四种特性,有部分是不需要进行数据取出和显示的,所以此类注入基本上需要采用盲注才能正常得到结果(黑盒测试可以根据功能判断注入查询方式)

查询方式增删改查四种特性决定应用功能点(会员注册,删除文章,修改文章等)

案例讲解

熊海cms——insert功能——报错盲注

        报错注入就是利用了数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中。

      报错注入的前提就是页面上可以没有回显点,但是必须有sql语句执行错误的信息

想要sql语句有执行错误的信息,网站就得要使用mysql_error()函数

mysql_error() 函数             #返回上一个 MySQL 操作产生的文本错误信息

 

打开熊海cms源码查看功能点,发现使用了mysql_error() 函数

就可以在该功能点测试报错注入

输入报错注入payload' or updatexml(1,concat(0x7e,(version())),0) or '  

点击提交,成功注入出数据库版本

 

 

 

熊海cms——upload功能——报错盲注

源码搜索upload功能点,发现一个更新功能点使用了mysql_error() 函数

 

网站打开功能点测试

输入注入payload:and updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)

 

成功爆出数据库

 

 

 

 

 

 

kkcms——delete功能——延时盲注

        延时注入是通过页面的响应时间判断条件是否成立,如:如果条件成立则页面10秒后在响应,条件不成立则正常响应。

 

 

代码审计得知功能点接收了用户的数据并且在数据库执行删除操作,没有数据回显,打开功能点

 

输入sql延时盲注payload:or if(1=1,sleep(5),0),页面等待五秒才响应。说明存在延时注入

 

猜解数据库名

我的数据库名是:kkcms

输入:or if(left(database(),1)='k',sleep(5),0)        payload意思:如果数据库名第一位是k就延时五秒响应。结果页面立马就响应了,明明数据库第一位就是k。

 

 

再次代码审计发现【'】单引号被转义了

于是我们使用ord参数绕过转义

ord(x)=97          #判断x的ascii码是否等于97

使用CaptfEncoder加解密工具获取k的10进制ascii码值

输入payload:or if(ord(left(database(),1))=107,sleep(5),0)    页面果然五秒后才响应,依次猜解数据库名称

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xiaoheizi安全

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

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

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

打赏作者

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

抵扣说明:

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

余额充值