报错注入分析之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
By:珍惜少年时博客:http://www.cnblogs.com/xishaonian/
*-------------------------------------------*