文档章节

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

o
 osc_mervd488
发布于 2018/04/22 15:04
字数 503
阅读 0
收藏 0

精选30+云产品,助力企业轻松上云!>>>

 

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

By: 授客 QQ:1033553122

 

场景描述

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

安全测试 <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操作失败。

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

Linux系统检查用户账户到期时间

如果你在 Linux 上启用了密码策略。密码必须在到期前进行更改,并且登录到系统时会收到通知。如果你很少使用自己的帐户,那么可能由于密码过期而被锁定。在许多情况下,这可能会在无需密码登...

老孟的Linux私房菜
13分钟前
9
0
关于南京哪里有开餐饮费发票?

关于南京哪里有开餐饮费发票?聚焦餐饮行业,谈话〖18 7一電一7 5 3 8一徴一3331〗研究院昨发布数据显示,今年上半年,全国餐饮行业招聘需求增长46.18%,平均月薪6387元.随着餐饮行业的快速...

点击fojewio
45分钟前
7
0
android studio 4.0 打开DDMS

1、先找到AndroidStudio配置的SDK路径; 2、在SDK的/tools/路径下有个monitor.bat 的批处理文件; 3、鼠标连续点击两下monitor.bat这个批处理文件,在屏幕上会打开一个类似CMD的命令行中输入...

chenhongjiang
48分钟前
10
0
如何在Android中使用SharedPreferences来存储,获取和编辑值

问题: Closed . 已关闭 。 This question needs to be more focused. 这个问题需要更加集中。 It is not currently accepting answers. 它当前不接受答案。 Learn more . 了解更多 。 Want...

fyin1314
57分钟前
6
0
【JDK1.8】LinkedList源码分析

LinkedList的特性 LinkedList内部使用双向链表作为存储结构,LinkedList可以理解为链表的扩展对象,封装了常用的和非常用的操作链表的方法。以及在通过索引获取元素时的简单优化,通常Linke...

XuePeng77
今天
36
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部