floor报错
见less5
updatexml报错
updatexml函数的基本语法:
updatexml(xml_document, XPath_string, new_value)
其中,xml_document是XML文档对象,XPath_string是Xpath路径表达式,new_value是更新后的内容。在报错注入中,我们通常将第一个和第三个参数设置为任意值,重点是通过第二个参数注入不符合Xpath语法的表达式,从而引起数据库报错,并通过错误信息获取数据。
XPath语法基础
XPath是一种在XML文档中查找信息的语言,使用路径表达式来选取节点。XPath支持多种节点类型,包括元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XPath语法使用关系运算符(如/和//)来连接步骤,描述节点的位置关系
正确使用时:
updatexml('<h1>hello</h1>','/h1','x')
这个语法的作用是将hello换成了x。
报错时的使用:
我们可以通过修改XPath的语句进而构成语法错误。
例如:updatexml('hello',concat('--',(select version()),'--'),'x')
这样就会爆出类似XPATH syntax error : '--5.7.26--'
的语句。
extractvalue报错注入
extractvalue函数的基本语法extractvalue(xml_frag, xpath_expr)
其中,xml_frag是XML片段,xpath_expr是Xpath表达式。在报错注入中,通过提供一个无效的Xpath表达式,导致函数报错,从而获取数据。
例如
extractvalue(1,concat(0x7e,(select database())))
便会返回数据库名称。