漏洞:会话固定攻击(session fixation attack)

简介: 什么是会话固定攻击?会话固定攻击(session fixation attack)是利用应用系统在服务器的会话ID固定不变机制,借助他人用相同的会话ID获取认证和授权,然后利用该会话ID劫持他人的会话以成功冒充他人,造成会话固定攻击。

什么是会话固定攻击?

会话固定攻击(session fixation attack)是利用应用系统在服务器的会话ID固定不变机制,借助他人用相同的会话ID获取认证和授权,然后利用该会话ID劫持他人的会话以成功冒充他人,造成会话固定攻击。


看下面Session Fixation攻击的一个简单例子:


整个攻击流程是:


1、攻击者Attacker能正常访问该应用网站;


2、应用网站服务器返回一个会话ID给他;


3、攻击者Attacker用该会话ID构造一个该网站链接发给受害者Victim;


4-5、受害者Victim点击该链接,携带攻击者的会话ID和用户名密码正常登录了该网站,会话成功建立;


6、攻击者Attacker用该会话ID成功冒充并劫持了受害者Victim的会话。


更多攻击例子参考:https://www.owasp.org/index.php/Session_fixation


攻击分析

攻击的整个过程,会话ID是没变过的,所以导致此漏洞。


攻击修复

1、登录重建会话


每次登录后都重置会话ID,并生成一个新的会话ID,这样攻击者就无法用自己的会话ID来劫持会话,核心代码如下。

// 会话失效
session.invalidate();
// 会话重建
session=request.getSession(true);

2、禁用客户端访问Cookie


此方法也避免了配合XSS攻击来获取Cookie中的会话信息以达成会话固定攻击。在Http响应头中启用HttpOnly属性,或者在tomcat容器中配置。关于HttpOnly更多详细说明大家可以自行百度。


道高一尺,魔高一丈。目前我们已经对全线系统及时填补了该漏洞,以免给攻击者留下突破口。


相关文章
|
Java Maven
开源一套原创文本处理工具:Java+Bat脚本实现自动批量处理对账单工具
这款工具是笔者在2018年初开发完成的,时隔两载,偶然想起这款小工具,于是,决定将其开源,若有人需要做类似Java批处理实现整理文档的工具,可参考该工具逻辑思路来实现。
298 0
|
7月前
|
机器学习/深度学习 弹性计算 安全
2核4G云服务器租用多少钱?2核4G云服务器租赁配置价格明细(1 个月、1 年、3 年和 5 年)
2核4G云服务器租用多少钱?本文介绍了最新的2 核4G云服务器租用价格:实例收费标准、活动价格及选配教程,以阿里云为例。
|
存储 安全 大数据
网安工程师必看!AiPy解决fscan扫描数据整理难题—多种信息快速分拣+Excel结构化存储方案
作为一名安全测试工程师,分析fscan扫描结果曾是繁琐的手动活:从海量日志中提取开放端口、漏洞信息和主机数据,耗时又易错。但现在,借助AiPy开发的GUI解析工具,只需喝杯奶茶的时间,即可将[PORT]、[SERVICE]、[VULN]、[HOST]等关键信息智能分类,并生成三份清晰的Excel报表。告别手动整理,大幅提升效率!在安全行业,工具党正碾压手动党。掌握AiPy,把时间留给真正的攻防实战!官网链接:https://www.aipyaipy.com,解锁更多用法!
|
存储 算法 Go
【LeetCode 热题100】17:电话号码的字母组合(详细解析)(Go语言版)
LeetCode 17题解题思路采用回溯算法,通过递归构建所有可能的组合。关键点包括:每位数字对应多个字母,依次尝试;递归构建下一个字符;递归出口为组合长度等于输入数字长度。Go语言实现中,使用map存储数字到字母的映射,通过回溯函数递归生成组合。时间复杂度为O(3^n * 4^m),空间复杂度为O(n)。类似题目包括括号生成、组合、全排列等。掌握回溯法的核心思想,能够解决多种排列组合问题。
569 11
|
Web App开发 应用服务中间件 nginx
|
存储 安全 Ubuntu
Linux入门创建一个快捷方式
Linux入门创建一个快捷方式
1290 0
Linux入门创建一个快捷方式
|
传感器 人工智能 数据挖掘
柔性电子器件:未来可穿戴技术的趋势
【9月更文挑战第30天】柔性电子器件是一种将电子元件集成在柔性基板上的新兴技术,具备出色的灵活性和适应性。本文探讨了其定义、发展历程及关键技术,并展望了其在可穿戴设备中的应用前景。柔性电子器件不仅能够实时监测生理信号,还能实现自然图像显示和持久能量供应,推动医疗健康、智能手表等领域的发展。尽管面临制造成本和耐久性等挑战,其市场潜力巨大,预计到2025年将达到340亿美元,引领智能穿戴技术的新时代。
1160 2
|
机器学习/深度学习 Ubuntu KVM
ubuntu启动emulator : /dev/kvm is not found: VT disabled in BIOS or KVM kernel module not loaded
本文记录了解决AOSP模拟器无法启动的问题,原因是微星B450M主板BIOS中虚拟化技术未开启,通过安装KVM模块并修改BIOS设置以启用SVM模式来解决。
929 0
ubuntu启动emulator : /dev/kvm is not found: VT disabled in BIOS or KVM kernel module not loaded
|
监控 网络协议 Linux
心跳机制方案
心跳机制方案
725 1
|
安全 网络安全 PHP
Pikachu 目录遍历通关解析
Pikachu 目录遍历通关解析