Session攻击
Session攻击
- Session攻击简介
- 主要攻击方式
- 会话预测
- 会话劫持
- 中间人攻击
- 会话固定
Session攻击简介
Session对于Web应用是最重要的,也是最复杂的。对于Web应用程序来说,加强安全性的首要原则就是:不要信任来自客户端的数据,一定要进行数据验证以及过滤,才能在程序中使用,再保存到数据层。然而,为了维持来目同一个用尸的个同请X之同的状态,客户端必须要给服务器端发送一个唯一的身竹你以付(B工H大 的)大飞维持状这和前面提到的安全原则是矛盾的,但是没有办法,http协议是无状态的,为了维持状态,我们别无选择。由此可以看出,Web应用程序中最脆弱的环节就是session,因为服务器端是通过来自客户端的一个身份标识来认证用户的, 所以session是Web应用程序中最需要加强安全性的环节。
主要攻击方式
基于session的攻击有很多种方式。大部分的手段都是首先通过捕获或者固定合法用户的session,然后冒充该用户来访问系统。也就是说,攻击者至少必须要获取到一个有效的session标识符,用于接下来的身份验证。
攻击者至少可以通过以下三种方式来获取一个有效的session标识符:
- 预测
- 捕获(劫持)固定
- 固定
会话预测
会话预测这种方式需要攻击者猜测出系统中使用的有效的session标识符(PHP中格式为PHPSESSID=1234),类似暴力破解。
目前会话预测这种攻击方式基本上不太可能成功,因为:
- PHP生成随机的session id往往是极其复杂的并且难于被预测出来
- PHP生成session字符串无任何规律和顺序
会话劫持
会话预测这种方式需要攻击者猜测出系统中使用的有效的session标识符(PHP中格式为PHPSESSID=1234),类似暴力破解。
目前会话预测这种攻击方式基本上不太可能成功,因为:
1、PHP生成随机的session id往往是极其复杂的并且难于被预测出来
2、PHP生成session字符串无任何规律和顺序
步骤:
1、目标用户需要先登录站点
2、登录成功后,该用户会得到站点提供的一个会话标识SessionlD3、攻击者通过某种攻击手段捕获Session lD
3、攻击者通过捕获到的Session lD访问站点即可获得目标用户合法会话
获取Session ID方式:
1、暴力破解:尝试各种Session lD,直到破解为止
2、预测:如果Session lD使用非随机的方式产生,那么就有可能计算出来窃取
3、使用网络嗅探、XSS攻击等方法获得
对于php来说,其内部Session的实现机制虽然不是很安全,但是关于生成Session ID的环节还是比较安全的,这个随机的Session ID往往是极其复杂的并且难于被预测出来,所以,暴力破解Session ID和预测Session ID的攻击方式基本上是不太可能成功的。
对于窃取Session ID的方式大多使用网络数据通讯层进行攻击获取,可以使用SSL进行防御。
防御方式:
1、更改Session名称: PHP中Session的默认名称是PHPSESSID,此变量会保存在Cookie中,如果攻击者不分析站点,就不能猜到Session名称,可以阻挡部分攻击。
2、关闭透明化Session lD:透明化Session lD指当浏览器中的Http请求没有使用Cookie来存放Session lD时,Session lD则使用URL来传递。
3、设置HttpOnly:通过设置Cookie的HttpOnly为true,可以防止客户端脚本访问这个Cookie,从而有效的防止XSS攻击。
4、关闭所有phpinfo类dump request信息的页面: phpinfo页面会dump出请求信息,其中就包括Cookie信息。
5、验证HTTP头部信息
中间人攻击
中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种通过窃取或篡改通信物理、逻辑链路间接完成攻击行为的网络攻击方法。攻击者与通信的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,实际上整个会话都被攻击者完全控制。这个被攻击者控制的通信节点就是所谓的“中间人”。
中间人攻击有两种常见形式:
1、基于监听的信息窃取
2、基于监听的身份冒认
中间人攻击难以防御的原因:
1、攻击者在窃听时,一般网络连接仍能正常运行,不会断线,因此很少有人会主动发现
2、受害者电脑上不会被安装木马或恶意软件,难以被杀毒软件发现
3、攻击者在欺骗网络协议时,虽然会留下一些蛛丝马迹,但由于网络设备不会保留太多记录,事后难以追踪
4、绝大多数的网络协议,仍然基于“对方的数据是安全可靠”的假设来运作的,这导致攻击者有太多漏洞可以利用进行欺骗网络设备、伪装成中间人
会话固定
概念:
诱骗受害者使用攻击者指定的会话标识(SessionlD)的攻击手段。
这是攻击者获取合法会话标识的最简单的方法。(让合法用户使用攻击者预先设置的Session ID进行登录,从而使Web不再进行生产新的Session lD,导致攻击者预先设置的Session lD变成了合法桥梁)
会话固定也可以看成是会话劫持的一种类型,因为会话固定攻击的主要目的同样是获得目标用户的合法会话,不过会话固定还可以是强迫受害者使用攻击者设定的一个有效会话,以此来获得用户的敏感信息。
攻击步骤:
1、攻击者通过某种手段重置目标用户的Session lD,然后监听用户会话状态;
2、目标用户携带攻击者设定的Session lD登录站点;
3、攻击者通过Session lD获得合法会话;
接收机制:
早期浏览器存储的session lD容易暴露、使用URL来传送session ID。
首先检查携带cookie是否含有sessionlD;若没有则再检查get、post数据中是否含有,若有则使用此数据;没有才会使系统生成一个session ID发给客户端。
重置方式:
使用客户端脚本来设置Cookie到浏览器
< script> document.cookie=“PHPSESSID=99999”;< /script>这种方式可以使用XSS来达到目的
防御方案:
开启Httponly阻止攻击者读取Cookie、但有少数低版本浏览器存在漏洞,即使设置了HttpOnly,也可以重写Cookie。所以还需要添加其他方式校验,如User-Agent验证,Token校验。
重置Session ID的方式:
使用HTML的< META>标签加Set-Cookie属性。
服务器可以在返回的HTML文档中增加< META>标签来设置Cookie与客户端脚本相比,对< META>标签的处理目前还不能被浏览器禁止
防御手段:
1、每当用户登陆的时候就进行重置Session lD
2、Session lD闲置过久时,进行重置Session lD
3、大部分防止会话劫持的方法对会话固定攻击同样有效。如设置HttpOnly,关闭透明化Session lD,User-Agent验证,Token校验等。
相关文章:
Session攻击
Session攻击Session攻击简介主要攻击方式会话预测会话劫持中间人攻击会话固定Session攻击简介 Session对于Web应用是最重要的,也是最复杂的。对于Web应用程序来说,加强安全性的首要原则就是:不要信任来自客户端的数据,一定要进行数据验证以及…...
【Linux】Shell详解
😊😊作者简介😊😊 : 大家好,我是南瓜籽,一个在校大二学生,我将会持续分享Java相关知识。 🎉🎉个人主页🎉🎉 : 南瓜籽的主页…...
汉字找不同隐私协议
本隐私信息保护政策版本:2021 V1 一、重要提示 请您(以下亦称“用户”)在使用本平台App时仔细阅读本协议之全部条款,并确认您已完全理解本协议之规定,尤其是涉及您的重大权益及义务的加粗或划线条款。如您对协议有任…...
CEC2017:斑马优化算法(Zebra Optimization Algorithm,ZOA)求解cec2017(提供MATLAB代码)
一、斑马优化算法 斑马优化算法(Zebra Optimization Algorithm,ZOA)Eva Trojovsk等人于2022年提出,其模拟斑马的觅食和对捕食者攻击的防御行为。 斑马因身上有起保护作用的斑纹而得名。没有任何动物比斑马的皮毛更与众不同。斑…...
【Linux要笑着学】进程创建 | 进程终止 | slab分派器
爆笑教程《看表情包学Linux》👈 猛戳订阅!💭 写在前面:本章我们主要讲解进程的创建与终止。首先讲解进程创建,fork 函数是我们早在讲解 "进程的概念" 章节就提到过的一个函数&#…...
数据资产管理建设思考(二)
关于数据资产管理,近两年是数据治理行业中一个热点话题,当然有我们前面提到的国家的政策支持及方向指引的原因。另一方面我们做数据治理的同行们从学习吸收国外优秀的数据治理理论,进一步在实践中思考如何应用理论,并结合我们国家…...
微软发布多模态版ChatGPT!取名“宇宙一代”
文|CoCo酱Ludwig Wittgenstein曾说过:“我语言的局限,即是我世界的局限”。大型语言模型(LLM)已成功地作为各种自然语言任务的通用接口,只要我们能够将输入和输出转换为文本,就可以将基于LLM的接…...
【学习笔记】深入理解JVM之对象的实例化
参考尚硅谷JVM 102 - 106 集 首发地址:地址 1、JVM对象的实例化 1.1 对象的创建方式 对象有一下几种创建对象的方式 new Object object new Object();Class的newInstance() Object object Object.class.newInstance();Constructor的newInstance(…...
IP协议的漏洞及防护措施
文章目录一、TCP/IP协议族二、IP协议三、IP协议的安全问题及防护措施一、TCP/IP协议族 二、IP协议 网际协议(Internet Protocol,IP)是TCP/IP协议族的核心,也是网际层最重要的协议。 IP数据报由首部和数据两部分组成;…...
Linux命令·mkdir
linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。1.命令格式:mkdir [选项] 目录...2.命令功能:通过 mkdir 命令可以实现…...
智能家居项目(八)之树莓派+摄像头进行人脸识别
目录 1、编辑Camera.c 2、编辑contrlDevices.h 3、编辑mainPro.c 4、进行编译: 5、运行结果: ./test1 6、项目图片演示 智能家居项目(七)之Libcurl库与HTTPS协议实现人脸识别_Love小羽的博客-CSDN博客 经过上一篇文章&…...
渗透测试之地基服务篇:无线攻防之钓鱼无线攻击(上)
简介 渗透测试-地基篇 该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。 请注意 : 本文仅用于技术讨论与研究,对于所有笔记中复现…...
「ABAP」一文带你入门OPEN SQL中的SELECT查询(附超详细案例解析)
💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后…...
【搞透C语言指针】那年我双手插兜, 不知道指针是我的对手
☃️内容专栏:【C语言】进阶部分 ☃️本文概括: 征服C语言指针!一篇文章搞清楚指针的全部要点。 ☃️本文作者:花香碟自来_ ☃️发布时间:2023.3.3 目录 一、字符指针 二、指针数组 三、数组指针 1.数组指针的定义…...
如何从 Android 手机上的 SD 卡恢复已删除的照片
为了扩展手机的存储空间,很多人都会在安卓手机上插入一张SD卡来存储一些大文件,比如电影、照片、视频等。虽然SD卡给我们带来了很大的方便,但我们还是避免不了数据丢失一些事故造成的。您是否正在为 SD 卡上的照片意外丢失而苦恼?…...
01-前端-htmlcss
文章目录HTML&CSS1,HTML1.1 介绍1.2 快速入门1.3 基础标签1.3.1 标题标签1.3.2 hr标签1.3.3 字体标签1.3.4 换行标签1.3.5 段落标签1.3.6 加粗、斜体、下划线标签1.3.7 居中标签1.3.8 案例1.4 图片、音频、视频标签1.5 超链接标签1.6 列表标签1.7 表格标签1.8 布…...
【YOLO系列】YOLOv5超详细解读(网络详解)
前言 吼吼!终于来到了YOLOv5啦! 首先,一个热知识:YOLOv5没有发表正式论文哦~ 为什么呢?可能YOLOv5项目的作者Glenn Jocher还在吃帽子吧,hh 目录 前言 一、YOLOv5的网络结构 二、输入端 (1…...
从 ChatGPT 爆火回溯 NLP 技术
ChatGPT 火遍了全网,多个话题频频登上热搜。见证了自然语言处理(NLP)技术的重大突破,体验到通用技术的无限魅力。GPT 模型是一种 NLP 模型,使用多层变换器(Transformer)来预测下一个单词的概率分…...
面了 6 家大厂,并拿下 5 家 offer,进大厂好像也没有那么困难吧....
前言 二月份的时候因为换工作的缘故,陆续参加了华为、蚂蚁、字节跳动、PDD、百度、Paypal 的社招面试,除了字节跳动流程较长,我主动结束面试以外,其他的都顺利拿到了 Offer。 最近时间稍微宽裕点了,写个面经…...
四、Spring对IoC的实现
1.IoC 控制反转 控制反转是一种思想。控制反转是为了降低程序耦合度,提高程序扩展力,达到OCP原则,达到DIP原则。控制反转,反转的是什么? 将对象的创建权利交出去,交给第三方容器负责。将对象和对象之间关系…...
web.py终极指南:开发者最关心的20个常见问题与解决方案
web.py终极指南:开发者最关心的20个常见问题与解决方案 【免费下载链接】webpy web.py is a web framework for python that is as simple as it is powerful. 项目地址: https://gitcode.com/gh_mirrors/we/webpy web.py是一个简单而强大的Python Web框架&…...
Windows 11系统优化终极指南:一键清理预装软件与隐私保护
Windows 11系统优化终极指南:一键清理预装软件与隐私保护 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化…...
告别传统拍摄:THE LEATHER ARCHIVE低成本生成高质量皮衣展示图
告别传统拍摄:THE LEATHER ARCHIVE低成本生成高质量皮衣展示图 1. 时尚行业的数字革命 在时尚电商领域,商品展示图的质量直接影响消费者的购买决策。传统皮衣拍摄面临三大痛点: 高昂成本:专业模特、摄影师、场地租赁等费用动辄…...
阿姆智创21.5寸工控电脑一体机,硬核性能解锁工业自动化,源头工厂ODM定位解决方案
在工业4.0的浪潮下,SMT产线的精密化运行、MES与ESOP系统的数字化落地、自动化设备的智能化联动,对工业控制终端的综合性能、系统适配性和场景贴合度提出了更高要求。阿姆智创21.5寸工控电脑一体机,以工业级硬核性能为基底,以多系统…...
Linux下用qemu-nbd挂载qcow2镜像的完整指南(含LVM/非LVM/ntfs场景)
Linux下用qemu-nbd挂载qcow2镜像的完整指南(含LVM/非LVM/ntfs场景) 当虚拟机突然崩溃或需要从镜像中提取关键数据时,直接挂载qcow2镜像往往是最直接的解决方案。不同于常规磁盘挂载,qcow2镜像可能包含复杂的存储结构——从简单的e…...
ComfyUI-WanVideoWrapper:AI视频生成性能优化的终极指南
ComfyUI-WanVideoWrapper:AI视频生成性能优化的终极指南 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 在AI视频生成领域,显存限制和部署复杂性一直是开发者面临的核心挑…...
工业协议通信开发实战:lib60870开源库完全指南
工业协议通信开发实战:lib60870开源库完全指南 【免费下载链接】lib60870 Official repository for lib60870 an implementation of the IEC 60870-5-101/104 protocol 项目地址: https://gitcode.com/gh_mirrors/li/lib60870 在工业自动化领域,设…...
2026最权威AI论文写作工具榜单:这些被高校和导师悄悄推荐的软件你还不知道?
AI论文写作工具正在重塑学术研究的效率与质量。依托权威检测平台、高校实测数据及广大师生的真实反馈,这些工具已逐步成为科研工作者不可或缺的助手。本文基于多维测评与实际应用效果,盘点2026年最受高校和导师推荐的AI论文写作软件,带你了解…...
CCS12.3.0保姆级教程:手把手教你为AWR6843AOP毫米波雷达新建工程(附完整配置参数)
CCS12.3.0零基础实战指南:AWR6843AOP毫米波雷达工程搭建全解析 第一次打开Code Composer Studio 12.3.0时,满屏的选项和参数确实容易让人望而生畏。特别是当你要为TI的AWR6843AOP毫米波雷达创建新工程时,那些关于Cortex R、DSP C67XX、mss/ds…...
ChatTTS一键启动:从零搭建语音合成服务的实战指南
语音合成服务在现代应用中扮演着越来越重要的角色。它被广泛应用于智能客服、有声读物生成和视频内容配音等场景。通过将文本转化为自然流畅的语音,极大地提升了人机交互的体验和应用的可访问性。 然而,对于希望快速部署ChatTTS这类先进语音合成模型的开…...
