声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险和责任!
实验目的
利用密码找回漏洞,实现任意用户的密码重置。理解漏洞发生的场景。
实验环境
操作系统:CENTOS 7
软件:BURP zzcms
主机:2台,1台攻击机,1台靶机
实验拓扑
攻击机直接连靶机即可。
实验内容
一、登录靶机,开启环境:
sudo docker start 0eee14b79f56
二、攻击机,访问以下地址:
使用火狐浏览器访问下面URL,其中IP为靶机IP:http://IP:8081/user/login.php
三、访问找回密码功能:
依次点击,登录->找回密码
四、此处具有用户名遍历的问题(可以常见用户名称字典、中国姓名Top 500等字典进行遍历)
五、开启BURP,配置火狐代理
火狐代理配置
这里重点要配置BURP的拦截响应。
勾选下面选项
六、填写验证码,点击下一步,并利用Burp进行抓包
点击获取验证码后,输入任意验证码
重点观察提交验证码后 Burp拦截的Response包:
然后将源码中的no更改为yes即可,然后forward
(注意这里操作要快一点,不能太慢,否则会失败)
七、放行后续其它包,或关闭BURP的拦截
可跳转至更改密码界面,直接操作即可修改成功:
实验小结
本实验是通过拦截修改RESPONSE,来实现的密码找回邮件绕过。
实际过程中还会存在其它绕过,比如在重置链接中,直接包含用户名或用户ID或用户ID的哈希值 这类情况。也可以直接绕过。