zoukankan      html  css  js  c++  java
  • updatexml()报错注入

    首先了解下updatexml()函数

    UPDATEXML (XML_document, XPath_string, new_value); 
    第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc 
    第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。 
    第三个参数:new_value,String格式,替换查找到的符合条件的数据 
    作用:改变文档中符合条件的节点的值

    用MySQL测试一下

    新建的user表如图:

    查看表所属的数据库为test:

    构造注入语句:select name from user where id=1 and updatexml(1,concat('~',(select database()),'~'),3);

    发现注入成功,成功爆出数据库名。

    解释:由于updatexml的第二个参数需要Xpath格式的字符串,以~开头的内容不是xml格式的语法,concat()函数为字符串连接函数显然不符合规则,但是会将括号内的执行结果以错误的形式报出,这样就可以实现报错注入了。
    ————————————————
    版权声明:本文为CSDN博主「仰望星空world」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_37873738/article/details/88042610

  • 相关阅读:
    数据的增、删、改(jQuery.Ajax)
    tomcat内置jdk(tomcat集成jdk)(windows环境)
    进行数据库进程的杀死
    矩阵与自然基向量
    实对称矩阵
    坐标变换
    设置PySpark的Python版本
    CentOS7中安装Python3.6
    一个矩阵有几个实特征向量
    centos7系统设置固定IP
  • 原文地址:https://www.cnblogs.com/0daybug/p/12334557.html
Copyright © 2011-2022 走看看