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

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

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


 

场景描述

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

 

漏洞描述

步骤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操作失败。

 

目录
打赏
0
0
0
0
17
分享
相关文章
深入体验阿里云通义灵码:测试与实例展示
阿里云通义灵码是一款强大的代码生成工具,支持自然语言描述需求,快速生成高质量代码。它在测试、代码质量和用户体验方面表现出色,能够高效地生成 Python 和 Java 等语言的代码,助力开发者提升开发效率和代码质量。无论是新手还是资深开发者,都能从中受益匪浅。
深入体验阿里云通义灵码:测试与实例展示
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
881 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
Kali渗透测试:对软件的溢出漏洞进行测试
Kali渗透测试:对软件的溢出漏洞进行测试
42 1
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
55 2
渗透测试-JBoss 5.x/6.x反序列化漏洞
渗透测试-JBoss 5.x/6.x反序列化漏洞
55 14
Kali渗透测试:使用Armitage针对漏洞进行攻击
Kali渗透测试:使用Armitage针对漏洞进行攻击
83 0
渗透测试-Openssl心脏出血漏洞复现
渗透测试-Openssl心脏出血漏洞复现
156 7
CentOS7 安装vulhub漏洞测试环境
CentOS7 安装vulhub漏洞测试环境
136 0
Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)
Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)
61 11
AI助理

阿里云 AI 助理已上线!

快来体验一下吧。