Bootstrap

SQL注入中的报错注入,updatexml(1,concat(0x7e,database(),0x7e),1)

(此文章是记录本人对知识理解的随手笔记,内容不肯定百分百正确,如有错误望指出并谅解)

先看一个通俗易懂的例子:
select updatexml(“abc”,"//div/p/text()","abcd")   的意思是把"abc"换成"abcd" ,而服务器要通过xpath路径"//div/p/text()"找到"abc" 


这时如果xpath路径格式出错了,则会把校验xpath路径后的结果通过报错信息显示出来,如果我们把xpath路径改成我们想知道的信息,结果就会通过报错信息显示出来。
例如改成
select updatexml(“abc”,concat(“~”,database()),"abcd")  就可以通过报错信息得到当前服务器使用数据库的名字如下图所示)。


concat()函数的作用是把“~”database()执行后的结果拼接起来,使用concat()的目的是为了让xpath路径格式出错,因为xpath路径格式中没有 ~ ,出错后就会让语句执行后的结果通过报错显示出来。

 

 

;