学徒-基本密码重置投毒
# 实验室:基本密码重置投毒
# 题目
此实验室容易受到密码重置投毒的攻击。用户carlos
会不小心点击电子邮件中的任何链接。若要解决实验室问题,请登录到carlos
的帐户。
你可以使用以下凭据登录到自己的帐户:wiener:peter
。发送到此帐户的任何电子邮件,都可以通过漏洞利用服务器上的电子邮件客户端读取。
- name: 实验室-学徒
desc: 基本密码重置投毒 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/host-header/exploiting/password-reset-poisoning/lab-host-header-basic-password-reset-poisoning
bgColor: '#001350'
textColor: '#39d50c'
1
2
3
4
5
6
2
3
4
5
6
# 实操
点击 “ACCESS THE LAB” 进入实验室。
点击 “My account” 进入登录界面。
输入题目中提供的用户名和密码进行登录。
点击右上角的 “Log out” 退出登录状态。
回到登录界面,点击 “Forgot password?”(忘记密码)功能。
输入要找回密码的用户名。
点击 “Submit” 之后,会向该用户名下的邮箱发送一封密码重置邮件。
进入漏洞利用服务器上的电子邮件客户端,可以看到一封密码重置邮件。
回到之前的 “忘记密码” 界面,在点击 “Submit” 时捕获一个请求数据包。
将数据包中的Host
标头修改为漏洞利用服务器的域。
再次查看邮件客户端,收到了一封新的密码重置邮件,但这次用于重置密码的 URL 包含恶意域。
将数据包中的username
参数修改为受害者的用户名carlos
,然后发送数据包。
受害者的邮箱会收到包含恶意域的密码重置 URL,受害者访问该 URL 后会将 token 参数发送至攻击者的域。
在漏洞利用服务器的访问日志中,可以看到受害者的访问记录,其中包含其密码重置 token。
将捕获的 token 拼接到密码重置 URL 中,即可对受害账户的密码进行重置操作。
/forgot-password?temp-forgot-password-token=7rsq6uidi0z0o7gjkjk2i1qdrp74y23m
1
输入新密码,例如carlos123
,然后点击 “Submit”。
访问登录界面,使用受害账户的用户名carlos
以及刚刚重置的密码carlos123
进行登录。
登录成功,实验完成。
编辑 (opens new window)