一、extractvalue()
extractvalue(xml_frag,xpath_expr)函数接受两个参数,第一个为XML标记内容,也就是查询的内容,第二个为XPATH路径,也就是查询的路径。如果没有匹配内容,不管出于何种原因,只要 xpath_expr
有效,并且 xml_frag
由正确嵌套和关闭的元素组成 - 返回空字符串。不区分空元素的匹配和无匹配。但是如果XPATH写入错误格式,就会报错,并且返回我们写入的非法内容。
information_schema:MySQL中自带数据库
information_schema.columns:表,其中列table_schema记录所有库名,列table_name记录所有表名,列column_name记录所有列名
information_schema.tables:表,其中列table_schema记录所有库名,列table_name记录所有表名,不含列名信息。
例题:http://ctf5.shiyanbar.com/web/baocuo/index.php (加了料的报错注入)
解题思路:经过测试,发现username处过滤了()而可以使用extractvalue、updatexml等报错函数字符,password处过滤了报错函数,而可以使用()。
于是构造payload