返回介绍

15.4 密码重置凭证与用户账户关联不严

发布于 2024-10-11 00:03:36 字数 1481 浏览 0 评论 0 收藏 0

有些信息系统在密码找回功能的校验逻辑上存在缺陷,只校验了密码重置凭证是否在

数据库中存在,但未严格校验该重置凭证和用户账号之间的绑定关系。这种密码重置凭证

与用户账户关联不严的逻辑漏洞就让攻击者可以通过在数据包中修改用户账号达到重置其

他密码的目的,如图 15-26 所示。

图 15-26 业务流程图

15.4.1 使用短信验证码找回密码

步骤一:进入某手机厂商官网,首先填写自己的手机号码进行密码找回。

步骤二:收到验证码后填入验证码和新密码提交,这时候使用数据抓包工具进行抓

包,将数据包中的 username 修改为其他账号,post 上去后就可以使用自己设置的密码登录

其他账号,如图 15-27 所示。

图 15-27 重置密码链接

15.4.2 使用邮箱 Token 找回密码

步骤一:进入某公共信息网站使用真实信息找回密码后,系统会发送一封邮件到绑定

的邮箱。邮件中的找回密码链接如下:

http://**.**.**.**/test.do?method=resetPassword&id=用户 ID 值

&authcode=XXX&Email=邮箱地址

步骤二:访问后可直接进入用户密码重置页面。在该页面输入新密码,并在提交时使

用抓包工具抓取数据抓包,可获得以下内容:

org.apache.struts.taglib.html.TOKEN=83accc27d5178f832d9f22a1d02bdacf&org.apache.struts.taglib.html.TOKEN=83accc27d5178f832d9f22a1d02bdacf&rt Password=123456&passwordw=123456&rtEmail=邮箱&idtagCard=用户 ID

步骤三:虽然包文中含有 org.apache.struts.taglib.html.TOKEN 和

org.apache.struts.taglib.html.TOKEN 两个 Token 参数,但因为并没有和用户 ID 进行绑定验

证,依然可以通过修改用户 ID 重置他人密码。随机修改了一个用户 ID 并提交后,提示密

码重置成功,如图 15-28 所示。

图 15-28 密码重置成功

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文