前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安全测试 一次会话安全测试漏洞实例总结

安全测试 一次会话安全测试漏洞实例总结

作者头像
授客
发布2019-09-11 16:44:41
8110
发布2019-09-11 16:44:41
举报
文章被收录于专栏:授客的专栏

场景描述

通过手机号找回密码,如下,输入手机号,验证手机号,输入新密码,提交

安全测试 <wbr>一次会话安全测试漏洞实例总结
安全测试 <wbr>一次会话安全测试漏洞实例总结

漏洞描述

步骤1.按场景所述,打开找回密码页,输入账户(假设账户1)的手机号,验证手机号,然后进入重置密码页面,但是不提交

步骤2.浏览器新开一个标签,打开找回密码页,输入另一个账户(假设账户2)的手机号

步骤3.切换回步骤1的重置密码页面,输入新密码,确认密码,提交。

结果:重置了账户2的密码,账户1的密码保持不变。

原因分析

步骤1和步骤2,步骤3,操作共用一个会话信息,如下:

步骤1, 输入账户1手机号码,此时会自动像服务器端发起请求,校验手机号是否存在,同时服务器端收到请求,验证通过后,会在会话中,存储待修改密码的账户信息,形如:sessionid-reset-user=a_user_id

点击发短信并验证通过后,服务器会修改会话中是否可修改密码标识,形如:

sessionid-reset-predicate=true

步骤2. 同步骤1,会导致修改会话信息

sessionid-reset-user=b_user_id

步骤3.在步骤2的基础上,自然的去修改了账户2的密码。

解决方案

这里是一个操作序列 步骤1-步骤2-步骤3-步骤4-……,假如操作中断,从步骤1开始,或者之前操作过的某个步骤,那么把这个步骤之后的操作会话信息都清除掉。

例中,进行步骤2操作时,即验证手机号是否存在,就会重置、清除会话是否可修改密码标识信息,

delete sessionid-reset-predicate

这样就可以使漏洞中的步骤3操作失败。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-04-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 场景描述
  • 漏洞描述
  • 原因分析
  • 解决方案
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档