zoukankan      html  css  js  c++  java
  • 报错注入分析之updatexml注入

    PS:今天元旦,家里打来电话说,今年春节要回老家。心里倍感恐惧。可以清楚的感觉得到父母说话的气息没有底气。大概如同我一样是恐惧吧。加油吧!努力赚钱!

    先丢一篇很不错的文章:http://www.moonsec.com/post-299.html


    UPDATEXML (XML_document, XPath_string, new_value); 

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


    PS:高版本的mysql已经修复了该bug

    先丢出payload:

    and updatexml(1,concat(null,(select @@version),null),1);

    MySQL 5.1.5版本中添加了对XML文档进行查询和修改的函数,分别是ExtractValue()和UpdateXML()

    我们要学习的便是mysql里的修改函数即updatexml函数

    其实也有extractvalue注入  以后的文章再做介绍。

    先来做如下操作:

     执行一下报错payload:

      and updatexml(1,concat(null,(select @@version),null),1);

    updatexml的爆错原因很简单,updatexml第二个参数需要的是Xpath格式的字符串。我们输入的显然不符合。故报错由此报错。

    updatexml的最大长度是32位的,所以有所局限(PS:但是应对大多的已经足够。)

    如果密码长度超过了32位就不会被显示出来。

     

    THE END


  • 相关阅读:
    RabbitMQ消息队列 基本订阅/发布Demo(PHP版)
    Docker安装部署RabbitMQ
    CentOS Docker 基本操作
    new worker
    JavaScript避坑
    如何开启MySQL慢查询日志
    kinshard
    Linux shell
    Linux shell
    Linux shell
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6243497.html
Copyright © 2011-2022 走看看