sql注入之二次注入学习记录

本人小白,如果哪里有问题请大佬指出,师傅们如果有什么疑问也可以在评论区留言我们可以一起探讨学习。

sql注入之二次注入

二次注入,它与传统的一次性注入攻击略有不同。在二次注入中,攻击者利用应用程序中存储的用户输入,该输入被存储在数据库中,然后在稍后的某个时间点被再次使用,进而导致注入漏洞。

语句相当于其他的sql注入不会有什么区别,唯一在一注入的节点与时间。

接下来我们使用sqli-labs24靶场来进行一个测试

第一步:创建一个账户

我们可以将其命名为一个

admin'#

密码我就随便输入一个数字1

这是我们二次注入的第一步

第二步:登录并且改密码

 可以看到我们已经登录进来了,现在进行改密码

可以看到我们已经改密码成功了。

师傅们仔细观察一下,是不是可以发现我们在改密码时候在current password也就是当前密码这一栏会发现,我们之前设置的密码不是1吗?

为什么现在明明不是之前的密码也可以改密码呢?

这就是我们的二次注入了。

结果解释

这是因为我们的后端代码是

UPDATE users SET PASSWORD='更改的密码' where username='xxxx' and password='xxxxx'

而我们的id也就是username是admin'#这就导致了一个问题的诞生我们的后端语句被改为了

UPDATE users SET PASSWORD='更改的密码' where username='admin'#' and password='xxxxx'

它后面的password明显被我们注释掉了,所以造就了我们不需要进行一个正确的密码就可以更改密码。

大家也可以使用一个sql语句进行一个注入。

但是大部分对注册名称都有长度限制。

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值