逻辑漏洞-密码找回

声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险和责任!

实验目的

利用密码找回漏洞,实现任意用户的密码重置。理解漏洞发生的场景。

实验环境

操作系统:CENTOS 7
软件:BURP zzcms
主机:2台,1台攻击机,1台靶机

实验拓扑

攻击机直接连靶机即可。

实验内容

一、登录靶机,开启环境:

sudo docker start 0eee14b79f56

逻辑漏洞-密码找回_第1张图片

二、攻击机,访问以下地址:

使用火狐浏览器访问下面URL,其中IP为靶机IP:http://IP:8081/user/login.php

逻辑漏洞-密码找回_第2张图片

三、访问找回密码功能:

依次点击,登录->找回密码

逻辑漏洞-密码找回_第3张图片

四、此处具有用户名遍历的问题(可以常见用户名称字典、中国姓名Top 500等字典进行遍历)

逻辑漏洞-密码找回_第4张图片

五、开启BURP,配置火狐代理

火狐代理配置

逻辑漏洞-密码找回_第5张图片

这里重点要配置BURP的拦截响应。

勾选下面选项

逻辑漏洞-密码找回_第6张图片

六、填写验证码,点击下一步,并利用Burp进行抓包

点击获取验证码后,输入任意验证码

重点观察提交验证码后 Burp拦截的Response包:

逻辑漏洞-密码找回_第7张图片

然后将源码中的no更改为yes即可,然后forward

(注意这里操作要快一点,不能太慢,否则会失败)

七、放行后续其它包,或关闭BURP的拦截

可跳转至更改密码界面,直接操作即可修改成功:

逻辑漏洞-密码找回_第8张图片

实验小结

本实验是通过拦截修改RESPONSE,来实现的密码找回邮件绕过。

实际过程中还会存在其它绕过,比如在重置链接中,直接包含用户名或用户ID或用户ID的哈希值 这类情况。也可以直接绕过。

你可能感兴趣的:(web安全)