可我浪费着我寒冷的年华

报错注入分析之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


 

posted @ 2017-01-02 23:04  珍惜少年时  阅读(2605)  评论(0编辑  收藏  举报
可我浪费着我寒冷的年华