0x02 漏洞利用
1.首先打开靶场页面
2.尝试输入admin/admin登录 好吧成功了 我们退出来,因为这个题不是让你用弱口令登录。
3.既然他说是越权,那么说明确实存在管理员账户,我们猜测他的sql查询语句是这样的:
$sql = "SELECT id, username, password FROM user_test WHERE username = '{$username}' AND password = '{$password}'";
$res = $dbConnect->query($sql);
4.以前文章已经说过直接通过账号输入 admin ' # 登录 密码随意输入 因为前面的#已经把后面的语句注释掉。
5.登录成功:发现直接是修改密码页面
6.旧密码随便输,记下输入的新密码
7.使用admin和你刚才输入的新密码登录:
发现成功登录进去。正常的越权不可能这么简单,这题只能给大家做个参考。
8.原因分析:直接上源码
我们发现他是根据id改的,我们通过admin '#登录 可能我们的id就是为1 通过id=1修改密码 直接就能登录
猜测:如果我们使用其他用户登录的话,只要修改id的参数就能够越权修改密码
9.首先我们使用其他用户登录:首先查看了一下表中的其他用户
使用其他用户登录:
10.登陆进去我们可以看到,确实是这个用户id=2,我们尝试把id改为1尝试修改密码一下。
11.弹窗ok
但是我们发现提交后上面的id又变为2了,可能修改没有成功,我们尝试了一下 果然 看来不能偷懒了 抓包试一下
12.使用burpsuite抓包
13.把id=2改为1 send to repeater 点击go
发现回显成功
14.我们尝试登录成功。ok 越权修改了密码。
0x03 结语
很简单