首页 > 数据库技术 > 详细

sqli-labs:Less-24

时间:2020-04-09 16:33:05      阅读:194      评论:0      收藏:0      [点我收藏+]

Less 24实验主要是:二次注入

在本实验中,直接从用户名和密码位置是无法注入的,从源码中也能看到,这里我们就不试了。
技术分享图片

因此我们大概看一下二次注入的原理:注册一个"特殊的用户",然后在修改密码的时候,使sql语句发生改变,任意执行一些命令,从而达到注入的目的。

接下来我们介绍一下该过程:

1、首先,该网站可以允许注册用户,以及用户自行修改密码。这里代码如下:
在login_create.php中有可以写入用户名和密码:
$sql = "insert into users ( username, password) values("$username", "$pass")";
在pass_change.php中有更新用户名和密码:
$sql = "UPDATE users SET PASSWORD=‘$pass‘ where username=‘$username‘ and password=‘$curr_pass‘ ";

2、这里我们可以构造一个“特殊的用户”: admin‘# ,这里目的是为了修改admin这个用户的用户名和密码。点击注册,然后注册用户名为 admin‘# 和 密码为 123456
技术分享图片
技术分享图片

创建成功后,我们该用户登录后会进入修改密码的页面:
技术分享图片

3、这里我们就可以进行注入,来修改admin的密码。我们从上面更新用户名和密码的语句可以看到,该语句会变为:
$sql = "UPDATE users SET PASSWORD=‘$pass‘ where username=‘admin‘#‘ and password=‘$curr_pass‘ ";

后面的curr_pass已经被注释了,所以我们只用在New password输入我们想改的密码,就会对admin这个用户的密码进行修改。例如我们输入tangjf
技术分享图片

点击提交,这时admin的密码就被修改为tangjf了,数据库执行的语句为:
UPDATE users SET PASSWORD=‘tangjf‘ where username=‘admin‘
技术分享图片

4、退出当前用户,用admin用户来登录,发现密码已经改为了tangjf

所以我们就是构造一个 admin‘# 用户, 从而对 admin 用户发起攻击

sqli-labs:Less-24

原文:https://www.cnblogs.com/tangjf10/p/12667215.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!