恣意用户暗码重置(五):重置凭据可暴破

在逻辑缝隙中,恣意用户暗码重置最为常见,或许出现在新用户注册页面,也或许是用户登录后重置暗码的页面,或许用户忘掉暗码时的暗码找回页面,其间,暗码找回功用是重灾区。我把日常浸透过程中...

在逻辑缝隙中,恣意用户暗码重置最为常见,或许出现在新用户注册页面,也或许是用户登录后重置暗码的页面,或许用户忘掉暗码时的暗码找回页面,其间,暗码找回功用是重灾区。我把日常浸透过程中遇到的事例作了缝隙成因剖析,这次,重视因重置凭据可暴破导致的恣意用户暗码重置问题。

暗码找回需求辨别用户的合法身份,证明你便是你,一般有两种做法,一是网站将重置验证码发至用户绑定的邮箱或手机号,用户持重置验证码证明你便是你,二是用户输入暗码保护问题对应的答案。其间,验证码、密保答案便是重置暗码的重要凭据。有些网站生成四位数字的重置验证码,复杂度较低,[0000, 9999] 也就一万种组合,在现在的核算才能和网络带宽条件下,随手的东西三五分钟的功夫就能枚举完。假如服务端又未设置验证码的存活有效期、未约束高频拜访,那么极易暴破。
事例一
暗码找回页面 http://www.xxxx.com/find-pw.html 用攻击者账号 13908081024 进入暗码找回全流程,输入图片验证码、挑选手机找回、获取短信验证码,发现短信验证码为 4 位数字且短信内容上未看到有效期信息,所以,可暴破短信验证码,进行后续的重置流程。
用账号枚举缝隙遍历得到的一般手机号 13908093346 为例,进入暗码找回流程,提交短信验证码:

其间,1234 是我随意输入的过错的短信验证码,需求对 code 参数值进行暴破以找出正确的短信验证码。
详细而言,我将该恳求中的 code 参数值界说为枚举变量、以 [0000, 9999] 为字典,设定 32 个线程进行暴破:

很快暴出短信验证码为 6909:

提交短信验证码后顺畅进入新暗码设置页面,重置暗码设为 PenTest1024 后提交,服务端回来“修正成功”:

尝试用 13908093346/PenTest1024 登录,验证成功:

事例二
暗码找回页面 http://xx.xxxx.com/xxxx/findpassword 用攻击者账号 13908081024 进入暗码找回全流程,输入图片验证码、挑选手机找回、获取短信验证码,发现短信验证码为 4 位数字且短信内容上未奉告有效期,所以,可暴破短信验证码,进行后续的重置流程。
用用户名枚举得到的一般手机号 15012804897 为例,进入暗码找回流程,提交短信验证码:

其间,1234 是我随意输入的过错的短信验证码,需求对 auto 参数进行暴破以找出正确的短信验证码:

很快暴出短信验证码为 9997,输入后进入新暗码提交页面,重置暗码为 PenTest1024 后提交:

尝试用 15012804897/PenTest1024 登录,验证成功:

加固办法
暗码重置凭据强度进步,主张六位数字,有效期十分钟,而且验证码应校验一次后当即报废。别的,服务端应约束枚举等歹意恳求。
 

  • 发表于 2021-04-08 12:14
  • 阅读 ( 179 )
  • 分类:互联网

0 条评论

请先 登录 后评论
ch123456
ch123456

663 篇文章

你可能感兴趣的文章

相关问题