加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 服务器 > 安全 > 正文

任意用户密码重设 应答中存在影响后续逻辑的状态参数

发布时间:2022-06-30 22:02:12 所属栏目:安全 来源:互联网
导读:想了解前五篇任意用户密码重置内容,可查看以下传送门: 任意用户密码重置(一):重置凭证泄漏 任意用户密码重置(二):重置凭证接收端可篡改 任意用户密码重置(三):用户混淆 任意用户密码重置(四):重置凭证未校验 任意用户密码重置(五):重置凭证
  想了解前五篇任意用户密码重置内容,可查看以下传送门:
 
  任意用户密码重置(一):重置凭证泄漏
 
  任意用户密码重置(二):重置凭证接收端可篡改
 
  任意用户密码重置(三):用户混淆
 
  任意用户密码重置(四):重置凭证未校验
 
  任意用户密码重置(五):重置凭证可暴破
 
  密码找回流程一般包括获取短信验证码、校验短信验证码是否有效、设置新密码等三个步骤。在第二步,校验短信验证码是否有效的结果应保存在服务端,某些网站未在服务端保存而是错误地将结果状态值下发客户端,后续又依靠前端 js 判断是否可以进入第三步,那么,更改应答包中的状态值,可重置其他用户的密码。
 
  案例一
  在密码找回页面 http://www.xx.cn/yy/action/forgot 用攻击者手机号 13908081024 进入密码找回全流程,获取短信验证码 033128、输入图片验证码、输入短信验证码并提交

  服务端校验通过后,系统应答如下

  简单分析发现,校验通过时服务端并未向客户端 set-cookie,猜测服务端并未记录校验状态,是否进入设置新密码页面完全是由前端 js 基于应答状态决定的,那么,即便我没有短信验证码,通过将服务端下发给客户端的校验状态从“失败”改为“成功”,也能成功重置找回账号密码。
 
  具体而言,以信息搜集时找到的客服手机号 13980808888 为例。输入手机号、获取短信验证码、输入图片验证码、输入错误的短信验证码 123123 后提交

  由于短信验证码错误,系统校验肯定失败,系统应答如下

  拦截该应答,用前面抓取校验成功的应答包替换之

  放行至客户端,顺利进入新密码设置页面 
 
  输入新密码 PenTest1024 后提交,页面提示密码修改成功。

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读