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())))

便会返回数据库名称。