学习笔记-SQL报错注入
报错注入的前提条件:
Wed应用程序未关闭数据库报错函数,对于一些SQL语句的错误直接回显在页面上
后台未对一些具有报错功能的函数(extractvalue,updataxml)过滤
Xpath类型函数(MySQL数据库版本号>=5.1.5)
extractvalue()
作用:对XML文档进行查询,相当于在HTML文件中用标签查找元素
语法:extractvalue(XML_document,XPath_string) (XML_document是String格式,为XML文档对象的名称;XPath_string(Xpath格式的字符串),注入时可操作的地方
示例:mysql> select extractvalue (1,concat('~',user()); //该函数最大长度为32,超过长度可以配合subatr,limit等函数来显示
updatexml()
作用:改变文档中符合条件的节点的值。
语法:updatexml(XML_document,XPath_string,new_value) (XML_document是String格式,为XML文档对象的名称;XPath_string(Xpath格式的字符串),注入时可操作的地方,new_value,String格式,替换查找到的符合条件的数据
示例:mysql> select updatexml(1,concat('~',user(),'~'); //同extractvalue()