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

admin 2024年2月18日15:41:59评论10 views字数 1068阅读3分33秒阅读模式

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

知识总结

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

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

案例讲解

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

网站打开功能点测试

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

输入注入payloadand updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)

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

成功爆出数据库

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

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

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

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

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

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

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

猜解数据库名

我的数据库名是:kkcms

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

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

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

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

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

使用CaptfEncoder加解密工具获取k10进制ascii码值

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

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

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

原文始发于微信公众号(小黑子安全):SQL盲注-布尔+报错+延时

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月18日15:41:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SQL盲注-布尔+报错+延时http://cn-sec.com/archives/2502191.html

发表评论

匿名网友 填写信息