挖洞经验 | 密码重置Token可预测性导致的账号劫持漏洞

栏目: IT技术 · 发布时间: 5年前

挖洞经验 | 密码重置Token可预测性导致的账号劫持漏洞

今天分享的Writeup是一个有趣的账号劫持漏洞,漏洞原因在于目标服务端重置用户密码时,其Token生成算法有问题,存在可预测和可枚举可能,导致网站注册用户面临账号被劫持风险。

这里我们把目标服务端称为program.com,当我在测试其忘记密码功能时发现一个怪异的现象,每次我对我当前账号发起密码重置请求后,在我收到的下述密码重置Token信息中,其Token串中的前3个字符都是一样的,所以这引起了我的注意。

https://program.com/forgot_password/

几分钟后,我惊奇地发现Token信息中的前3个字符,是我在目标网站时绑定注册邮箱前缀中,从第4个字符住前反向 排序 到第2个字符的3个字符。也就是说,假设我在该网站的注册邮箱为 johndoe@domain.com ,那么我发起密码重置请求后,在我邮箱中收到的重置Token信息其前3个字符就是“nho”(无引号),如下:

挖洞经验 | 密码重置Token可预测性导致的账号劫持漏洞

有了这个发现,我想那么Token信息中剩余字符应该也存在某种意义吧,于是,经我多次的测试分析,发现其余字符就是当前的时间戳信息(Timestamp)。但是,最后,还余下2个字符我无法找到规律,这两个字符位于前3个字符和后部份时间戳字符之间,它们可能是随机生成的。

挖洞经验 | 密码重置Token可预测性导致的账号劫持漏洞

我想,如果是随机生成的话,那就来暴力枚举试试看,非常好的是,目标服务端竟然毫无任何速率限制措施。这里,我用两个注册邮箱来进行测试,一个当成受害者邮箱的johndoe@domain.com,另一个当成攻击者邮箱的johndoe@domain2.com,可以看到它们前缀都是相同的。在测试中,我同时向目标服务端对该两个邮箱发起了账户密码重置请求,由于它们的邮箱前缀都是相同的,所以,在服务端发送回来的密码重置Token中,除了那2个随机字符之外,其余的Token字符应该是一样的。

挖洞经验 | 密码重置Token可预测性导致的账号劫持漏洞

这样,我可以登录作为攻击者的邮箱johndoe@domain2.com,从中获取包含Token信息的密码重置链接,然后,针对该密码重置链接请求,在Burp Instruder中构造字典文件进行暴力枚举。果然,不一会儿,在不多的请求发出之后,我成功地枚举到了一个302跳转的有效密码重置请求。

挖洞经验 | 密码重置Token可预测性导致的账号劫持漏洞

该漏洞上报后,厂商把该漏洞定级为P1严重级,及时进行了修复。

*参考来源: medium ,clouds 编译整理,转载请注明来自 FreeBuf.COM


以上所述就是小编给大家介绍的《挖洞经验 | 密码重置Token可预测性导致的账号劫持漏洞》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Operating System Algorithms

Operating System Algorithms

Nathan Adams、Elisha Chirchir / CreateSpace Independent Publishing Platform / 2017-4-21 / USD 39.15

Operating System Algorithms will walk you through in depth examples of algorithms that you would find in an operating system. Selected algorithms include process and disk scheduling.一起来看看 《Operating System Algorithms》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具