当前位置: 首页 > news >正文

Session攻击

Session攻击

  • Session攻击简介
    • 主要攻击方式
      • 会话预测
      • 会话劫持
        • 中间人攻击
      • 会话固定

Session攻击简介

Session对于Web应用是最重要的,也是最复杂的。对于Web应用程序来说,加强安全性的首要原则就是:不要信任来自客户端的数据,一定要进行数据验证以及过滤,才能在程序中使用,再保存到数据层。然而,为了维持来目同一个用尸的个同请X之同的状态,客户端必须要给服务器端发送一个唯一的身竹你以付(B工H大 的)大飞维持状这和前面提到的安全原则是矛盾的,但是没有办法,http协议是无状态的,为了维持状态,我们别无选择。由此可以看出,Web应用程序中最脆弱的环节就是session,因为服务器端是通过来自客户端的一个身份标识来认证用户的, 所以session是Web应用程序中最需要加强安全性的环节。

主要攻击方式

基于session的攻击有很多种方式。大部分的手段都是首先通过捕获或者固定合法用户的session,然后冒充该用户来访问系统。也就是说,攻击者至少必须要获取到一个有效的session标识符,用于接下来的身份验证。
攻击者至少可以通过以下三种方式来获取一个有效的session标识符:

  1. 预测
  2. 捕获(劫持)固定
  3. 固定

会话预测

会话预测这种方式需要攻击者猜测出系统中使用的有效的session标识符(PHP中格式为PHPSESSID=1234),类似暴力破解。
目前会话预测这种攻击方式基本上不太可能成功,因为:

  1. PHP生成随机的session id往往是极其复杂的并且难于被预测出来
  2. 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应用是最重要的&#xff0c;也是最复杂的。对于Web应用程序来说&#xff0c;加强安全性的首要原则就是:不要信任来自客户端的数据&#xff0c;一定要进行数据验证以及…...

【Linux】Shell详解

&#x1f60a;&#x1f60a;作者简介&#x1f60a;&#x1f60a; &#xff1a; 大家好&#xff0c;我是南瓜籽&#xff0c;一个在校大二学生&#xff0c;我将会持续分享Java相关知识。 &#x1f389;&#x1f389;个人主页&#x1f389;&#x1f389; &#xff1a; 南瓜籽的主页…...

汉字找不同隐私协议

本隐私信息保护政策版本&#xff1a;2021 V1 一、重要提示 请您&#xff08;以下亦称“用户”&#xff09;在使用本平台App时仔细阅读本协议之全部条款&#xff0c;并确认您已完全理解本协议之规定&#xff0c;尤其是涉及您的重大权益及义务的加粗或划线条款。如您对协议有任…...

CEC2017:斑马优化算法(Zebra Optimization Algorithm,ZOA)求解cec2017(提供MATLAB代码)

一、斑马优化算法 斑马优化算法&#xff08;Zebra Optimization Algorithm&#xff0c;ZOA&#xff09;Eva Trojovsk等人于2022年提出&#xff0c;其模拟斑马的觅食和对捕食者攻击的防御行为。 斑马因身上有起保护作用的斑纹而得名。没有任何动物比斑马的皮毛更与众不同。斑…...

【Linux要笑着学】进程创建 | 进程终止 | slab分派器

爆笑教程《看表情包学Linux》&#x1f448; 猛戳订阅&#xff01;​​​​​​​​​​​​&#x1f4ad; 写在前面&#xff1a;本章我们主要讲解进程的创建与终止。首先讲解进程创建&#xff0c;fork 函数是我们早在讲解 "进程的概念" 章节就提到过的一个函数&#…...

数据资产管理建设思考(二)

关于数据资产管理&#xff0c;近两年是数据治理行业中一个热点话题&#xff0c;当然有我们前面提到的国家的政策支持及方向指引的原因。另一方面我们做数据治理的同行们从学习吸收国外优秀的数据治理理论&#xff0c;进一步在实践中思考如何应用理论&#xff0c;并结合我们国家…...

微软发布多模态版ChatGPT!取名“宇宙一代”

文&#xff5c;CoCo酱Ludwig Wittgenstein曾说过&#xff1a;“我语言的局限&#xff0c;即是我世界的局限”。大型语言模型&#xff08;LLM&#xff09;已成功地作为各种自然语言任务的通用接口&#xff0c;只要我们能够将输入和输出转换为文本&#xff0c;就可以将基于LLM的接…...

【学习笔记】深入理解JVM之对象的实例化

参考尚硅谷JVM 102 - 106 集 首发地址&#xff1a;地址 1、JVM对象的实例化 1.1 对象的创建方式 对象有一下几种创建对象的方式 new Object object new Object();Class的newInstance() Object object Object.class.newInstance();Constructor的newInstance&#xff08…...

IP协议的漏洞及防护措施

文章目录一、TCP/IP协议族二、IP协议三、IP协议的安全问题及防护措施一、TCP/IP协议族 二、IP协议 网际协议&#xff08;Internet Protocol&#xff0c;IP&#xff09;是TCP/IP协议族的核心&#xff0c;也是网际层最重要的协议。 IP数据报由首部和数据两部分组成&#xff1b…...

Linux命令·mkdir

linux mkdir 命令用来创建指定的名称的目录&#xff0c;要求创建目录的用户在当前目录中具有写权限&#xff0c;并且指定的目录名不能是当前目录中已有的目录。1&#xff0e;命令格式&#xff1a;mkdir [选项] 目录...2&#xff0e;命令功能&#xff1a;通过 mkdir 命令可以实现…...

智能家居项目(八)之树莓派+摄像头进行人脸识别

目录 1、编辑Camera.c 2、编辑contrlDevices.h 3、编辑mainPro.c 4、进行编译&#xff1a; 5、运行结果&#xff1a; ./test1 6、项目图片演示 智能家居项目&#xff08;七&#xff09;之Libcurl库与HTTPS协议实现人脸识别_Love小羽的博客-CSDN博客 经过上一篇文章&…...

渗透测试之地基服务篇:无线攻防之钓鱼无线攻击(上)

简介 渗透测试-地基篇 该篇章目的是重新牢固地基&#xff0c;加强每日训练操作的笔记&#xff0c;在记录地基笔记中会有很多跳跃性思维的操作和方式方法&#xff0c;望大家能共同加油学到东西。 请注意 &#xff1a; 本文仅用于技术讨论与研究&#xff0c;对于所有笔记中复现…...

「ABAP」一文带你入门OPEN SQL中的SELECT查询(附超详细案例解析)

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后…...

【搞透C语言指针】那年我双手插兜, 不知道指针是我的对手

☃️内容专栏&#xff1a;【C语言】进阶部分 ☃️本文概括&#xff1a; 征服C语言指针&#xff01;一篇文章搞清楚指针的全部要点。 ☃️本文作者&#xff1a;花香碟自来_ ☃️发布时间&#xff1a;2023.3.3 目录 一、字符指针 二、指针数组 三、数组指针 1.数组指针的定义…...

如何从 Android 手机上的 SD 卡恢复已删除的照片

为了扩展手机的存储空间&#xff0c;很多人都会在安卓手机上插入一张SD卡来存储一些大文件&#xff0c;比如电影、照片、视频等。虽然SD卡给我们带来了很大的方便&#xff0c;但我们还是避免不了数据丢失一些事故造成的。您是否正在为 SD 卡上的照片意外丢失而苦恼&#xff1f;…...

01-前端-htmlcss

文章目录HTML&CSS1&#xff0c;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超详细解读(网络详解)

前言 吼吼&#xff01;终于来到了YOLOv5啦&#xff01; 首先&#xff0c;一个热知识&#xff1a;YOLOv5没有发表正式论文哦~ 为什么呢&#xff1f;可能YOLOv5项目的作者Glenn Jocher还在吃帽子吧&#xff0c;hh 目录 前言 一、YOLOv5的网络结构 二、输入端 &#xff08;1…...

从 ChatGPT 爆火回溯 NLP 技术

ChatGPT 火遍了全网&#xff0c;多个话题频频登上热搜。见证了自然语言处理&#xff08;NLP&#xff09;技术的重大突破&#xff0c;体验到通用技术的无限魅力。GPT 模型是一种 NLP 模型&#xff0c;使用多层变换器&#xff08;Transformer&#xff09;来预测下一个单词的概率分…...

面了 6 家大厂,并拿下 5 家 offer,进大厂好像也没有那么困难吧....

前言 二月份的时候因为换工作的缘故&#xff0c;陆续参加了华为、蚂蚁、字节跳动、PDD、百度、Paypal 的社招面试&#xff0c;除了字节跳动流程较长&#xff0c;我主动结束面试以外&#xff0c;其他的都顺利拿到了 Offer。 最近时间稍微宽裕点了&#xff0c;写个面经&#xf…...

四、Spring对IoC的实现

1.IoC 控制反转 控制反转是一种思想。控制反转是为了降低程序耦合度&#xff0c;提高程序扩展力&#xff0c;达到OCP原则&#xff0c;达到DIP原则。控制反转&#xff0c;反转的是什么&#xff1f; 将对象的创建权利交出去&#xff0c;交给第三方容器负责。将对象和对象之间关系…...

VisualCppRedist AIO:告别DLL错误,Windows系统必备的一体化运行库解决方案

VisualCppRedist AIO&#xff1a;告别DLL错误&#xff0c;Windows系统必备的一体化运行库解决方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经在打…...

智能设备语音交互进阶:从‘慢交互’到‘快交互’,详解ONESHOT模式下的音频残留音过滤实战

智能设备语音交互进阶&#xff1a;ONESHOT模式下的音频残留音过滤实战 在智能语音交互领域&#xff0c;ONESHOT模式已经成为提升用户体验的关键技术。这种允许用户在唤醒设备后无需二次唤醒即可直接下达指令的交互方式&#xff0c;正在重塑人机对话的自然流畅度。然而&#xff…...

大模型API响应延迟飙升470%,却查不到根因?SITS2026可观测性四象限诊断法,今天就落地

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;SITS2026可观测性框架的起源与核心范式 SITS2026&#xff08;System Intelligence Telemetry Standard 2026&#xff09;并非凭空诞生&#xff0c;而是源于云原生系统在超大规模微服务编排、边缘-中心协…...

中国科学院发布类脑大模型瞬悉2.0,打破长序列与低功耗部署核心瓶颈

来源&#xff1a;ScienceAI 本文约3000字&#xff0c;建议阅读5分钟验证了类脑机制与高效模型架构结合的广阔前景。当前&#xff0c;大模型发展正从「参数和数据规模驱动」逐步延展至「上下文能力驱动」。在智能体、代码理解、长文档分析等应用中&#xff0c;模型需要处理数十万…...

如何在5分钟内将你的普通鼠标变成macOS生产力神器

如何在5分钟内将你的普通鼠标变成macOS生产力神器 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 还在为macOS上鼠标滚轮生硬、侧键闲置而烦恼吗…...

Spring Boot + JWT 实现无状态认证

1. JWT JWT&#xff08;JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;用于在网络应用环境间安全地将信息作为 JSON 对象传输。JWT 是目前最流行的跨域认证解决方案&#xff0c;特别适合前后端分离的架构。 1.1 JWT 的结构 JWT 由三…...

CSS 容器查询完全指南

CSS 容器查询完全指南 引言 CSS 容器查询&#xff08;Container Queries&#xff09;是 CSS 规范中的一项革命性特性&#xff0c;它允许开发者根据容器的尺寸而非视口尺寸来应用样式。本文将深入探讨容器查询的各种用法和高级技巧。 基础概念回顾 容器查询 vs 媒体查询 特…...

别再到处找激活码了!手把手教你用vlmcsd在Windows上自建KMS服务器(附各版本密钥)

企业级Windows批量激活解决方案&#xff1a;安全高效的本地KMS部署指南 在数字化办公环境中&#xff0c;批量激活Windows操作系统一直是IT管理员面临的常见挑战。传统单机激活方式效率低下&#xff0c;而依赖外部KMS服务器又存在连接不稳定、隐私泄露等潜在风险。本文将深入探讨…...

DSP+FPGA异构架构在实时信号处理中的应用与优化

1. 实时信号处理系统架构解析在工业自动化、医疗影像和通信系统中&#xff0c;对信号处理实时性要求极高的场景比比皆是。传统纯软件方案往往受限于CPU的串行处理特性&#xff0c;难以满足严格的时序要求。这正是DSPFPGA异构架构大显身手的领域——我曾参与过多个类似项目&…...

从SPICE到Q-SPICE:四阶累积量如何重塑阵列信号处理的超分辨能力

1. 从SPICE到Q-SPICE&#xff1a;为什么我们需要四阶累积量&#xff1f; 我第一次接触SPICE算法是在处理雷达信号的时候。当时团队遇到一个头疼的问题&#xff1a;在强噪声环境下&#xff0c;传统算法就像近视眼观察星空&#xff0c;明明知道那里有信号&#xff0c;却怎么也分辨…...