九、SQL-labs的第24关——二次注入(Post)

二次注入首先的一点就要在HTTP请求中提交恶意代码,将这个恶意代码存储在数据库中,以便后面使用。

在第24关,我们是通过注册新账号这种方式,将恶意代码存储到数据库中。

假设我们的攻击目标是Dummy。

1、将恶意代码存储到数据库中

点击注册,输入语句

Dummy'#

,并给它设置密码返回页面如下:

注册成功,Dummy#就是我们存储到数据库中的恶意代码。由于我们的注释符#将注册时的密码给注释了,所以我们注册的新用户无密码。

也确定'是闭合方式。

2、修改密码

我们接下来要给Dummy重新设置密码。首先登录Dummy'#,然后将它的密码修改为123456,返回页面如下:

然而,数据库执行的语句是:

update users set password='123456'where username='Dummy'#'and password='1111'

,由于我们存储的恶意代码发挥作用,所以最终修改了用户Dummy的密码而不是Dummy'#。

因此我们获得了Dummy这个账号的拥有权,可以使用Dummy用户成功登录。

除了可以获取账号外,我们还可以我们还通过这种方法来爆破数据库。

比如:注册时输入语句

admin' and updatexml(1,concat('~',database(),'~',user(),'~',version(),'~'),1)#

。但是这种方法通常会因为有限制而无法实现。

比如:前端或后端有对写入内容长度的限制。如果是前端,可以通过修改HTML代码来改变对长度的限制,但是如果是后端就不行了。

但是这一关我们可以修改密码,我们可以尝试在修改密码时,将一些SQL语句写入数据库。也会有一样的效果。

到此打靶结束

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hacker-小胖锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值