实验环境:php、Apache
实验原理:由于网站开发人员在建设网站的时候验证不合格,造成的bug,本次实验以任意用户重置密码为例
实验条件:修改密码时会发送修改的url到指定邮箱,并且此url长期有效。
实验危害:1.任意用户重置密码
2.提权/越权
3.任意金额购买
4.验证码绕过等等
实验一:任意用户密码重置
1.注册一个用户,获取修改密码的url
2.点击忘记密码,修改密码,发送修改的url到指定的邮箱
3.这是在指定的邮箱就可以看到以下邮件,打开该链接,即可重置密码
4.新注册一个xx用户,如若知道用户名,即可利用上述重置密码的url进行攻击重置密码,只需要将url的密码的令牌改为xx即可,这里需要给xx进行md5加密,在与xx拼接进行base64加密
2.修改url里的用户名为其他用户,令牌为上述编码后的令牌,即可进入密码重置的页面,重置密码
实验二:提权/越权
越权分为水平越权和垂直越权
垂直越权
1.在管理员处获得添加用户的链接:http://localhost/pikachu-master/vul/overpermission/op2/op2_admin_edit.php
2.在普通管理员处执行该链接添加新用户
3.查看用户,这时已经添加成功
水平越权
1.查看lucy个人信息,并获取lucy的个人信息链接:http://localhost/pikachu-master/vul/overpermission/op1/op1_mem.php?username=lucy&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF
2.修改以上链接的用户名为lili,即可查看lili的个人信息,实现水平越权:http://localhost/pikachu-master/vul/overpermission/op1/op1_mem.php?username=lili&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF