SQLi-Labs是一个用于学习和练习SQL注入漏洞的开源应用程序。通过它,我们可以学习如何识别和利用不同类型的SQL注入漏洞,并了解如何修复和防范这些漏洞。
Less 5
SQLI DUMB SERIES-5
判断注入点:
1. 首先,尝试正常的回显内容,如?id=1。
2. 接着,输入?id=1'来查看是否出现语句错误。如果出现,那么可能存在单引号的闭合问题。
判断当前表的字段数:
使用order by语句来判断当前表的字段数。例如,?id=1' order by 3--和?id=1' order by 4--,通过页面回显的结果来确定字段数。
使用错误函数注入爆库名:
1. 既然没有直接的回显信息,您可以使用MySQL的updatexml()函数来触发错误并提取信息。updatexml()函数在第二个参数包含特殊符号时会报错,并将第二个参数的内容显示在报错信息中。
2. 尝试使用类似?id=1' and updatexml(1, concat(0x7e, version()), 3)--的语句来提取数据库版本信息。
3. 逐步构造更复杂的语句来提取其他信息,如数据库名、表名等。
判断注入点
通过测试可知使用单引号会使得系统报语法报错
http://sqli-labs.com/Less-5/
?id=1'

即使使用注释语句重新获取数据页面中也不回显数据。

意味着只有报错的时候才会在页面显示数据,那么我们通过使用报错注释函数获取数据。

updatexml()是一个使用不同的xml标记匹配和替换xml块的函数。
语法:updatexml(XML_document,XPath_string,new_value)
XML_document:是string格式,为XML文档对象的名称
XPath_string:代表路径,Xpath格式的字符串例如
new_value:string格式,替换查找到的符合条件的数据
updatexml使用时,当xpath_string格式出现错误,mysql则会爆出xpath语法错误(xpath syntax)
注入
通过报错注入代码,查看数据库名称:
http://sqli-labs.com/Less-5/
?id=1' union select 1,

最低0.47元/天 解锁文章
1504

被折叠的 条评论
为什么被折叠?



