逻辑漏洞之密码找回

image
该图片出处是经典电影《教父》,大概是老柯里昂对长子桑尼说的,之后他已经把大权移交,还被对手暗杀,差点死掉

0x00 背景介绍


有人的地方就有江湖。

互联网中,有用户注册的地方,基本就会有密码找回的功能。

而密码找回功能里可能存在的漏洞,很多程序员都没有想到。

而这些漏洞往往可能产生非常大的危害,如用户账号被盗等。

并且这种漏洞在非常多的大互联网公司中都出现过。

这是乌云瞌睡龙几年前发的,我暂时摘抄一点。

一般的密码重置设计基本上是一下步骤:

  • 申请找回,输入账号
  • 验证码发送到关联的邮箱或者手机号
  • 校对验证码
  • 修改密码

0x01 密码找回逻辑测试一般流程


  • 首先尝试正常密码找回流程,选择不同找回方式,记录所有数据包
  • 分析数据包,找到敏感部分
  • 分析后台找回机制所采用的验证手段
  • 修改数据包验证推测

找回密码的方式一般有:

  • 验证邮箱
  • 短信验证码
  • 密保答案

密保答案比较难猜解,除程序员直接放到网站上。
挖掘导图
image


0x02 实例演示


测试网站:某电商平台

验证码爆破

注册账号后,申请邮箱找回密码。使用临时邮箱或者一直都是自用的测试专用邮箱注册
image

填写邮箱和验证码后

点击获取校检码,

image
查看邮箱收到几位数的验证码
image
发现是4位,随便输入1234,burpsuit抓包查看,此时验证码为9704
image
image

使用bp的爆破

image

最后得出的payload和收到的一样。payload为9704和收到的一样。

image

输入正确的之后bp放行后就能改密码了。

image

短信验证码

还是本站测试,这次用手机验证码来测试。

由于个人信息不好在渗透测试中使用,所以想着绑定手机号的验证码也是抓包爆破方式,随便输入一个手机号,于是抓包爆破,绑定一个手机号。
image
bp抓包显示信息:
image
忘记当时什么原因没爆破出来
image

换个手机号爆破绑定成功后,申请手机号找回

image

抓包准备测试抓包测试验证码,猜测肯定都是4位验证。
image
爆破后,找到正确的
image

改包forward就转到修改密码的页面。
image

密保答案

密保答案找回密码难度比较大,得长期社工一个人,了解家庭生活兴趣爱好,才有可能通过此种方式吧。
我填的密保答案都是和问题不符的,谁知道会有什么乱七八糟的答案呢。


0x03 防御方法


代码能力有待加强,暂时想不到,代码层的问题。不能只增加次数时限限制,得从多处考虑逻辑问题避免被绕过

具体修复详情看瞌睡龙大牛的剖析

题外话:如果你对本站文章字体有任何不适,请告知我,我会回复你,字体问题请配置浏览器,调到对眼睛舒适的大小;默认不允许转载,除非转载注明出处。

end