17、XSS——session攻击

文章目录

  • 一、session攻击简介
  • 二、主要攻击方式
    • 2.1 预测
    • 2.2 会话劫持
    • 2.3 会话固定

一、session攻击简介

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

二、主要攻击方式

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

  • 预测
  • 捕获(劫持)
  • 固定

2.1 预测

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

  • PHP生成随机的session id往往是极其复杂的并且难以被预测
  • PHP生成session字符串无任何规律和顺序

在这里插入图片描述

2.2 会话劫持

  含义:通过窃取合法用户session ID后,使用该session ID登录目标账户的攻击方法。会话劫持最重要的部分就是取得一个合法的会话标识来伪装成合法用户。
  攻击步骤:

  1. 目标用户需要先登录站点;
  2. 登陆成功后,该用户会得到站点提供的一个会话标识session ID;
  3. 攻击者通过某种攻击手段捕获session ID;
  4. 攻击者通过捕获的session ID访问站点即可获得目标用户合法会话。

  会话劫持示意图如下:
在这里插入图片描述

  中间人攻击(Man-in-the-MiddleAttack,简称”MIMT攻击“):是一种通过窃取或篡改通信物理、逻辑链路间接完成攻击行为的网络攻击方式。攻击者与通信的两端分别创建独立的联系,并交换其所收到的数据,是通信的两端认为它们正通过一个私密的连接与对方直接对话,实际上整个会话都被攻击者完全控制。这个被攻击者控制的通信节点就是所谓的”中间人“。
  中间人攻击有两种常见的形式:

  • 基于监听的信息窃取
  • 基于监听的身份冒认
    中间人攻击示意图:
    在这里插入图片描述

  中间人攻击难以防御的原因:

  • 攻击者在窃听时,一般网络连接仍然能正常运行,不会断线,因此很少有人会主动发现;
  • 受害者电脑上不会被安装木马或恶意软件,难以被杀毒软件发现;
  • 攻击者在欺骗网络协议时,虽然会留下蛛丝马迹,但由于网络设备不会保留太多记录,事后难以追踪;
  • 绝大多数的网络协议,仍基于”对方的数据是安全可靠“的假设来运作,这导致攻击者有太多漏洞可以利用进行欺骗网络设备、伪装成中间人。

2.3 会话固定

  含义:诱骗受害者使用攻击者指定的会话标识(session ID)的攻击手段。让合法yoghurt使用攻击者预先设置的session ID进行登录,从而使web不再进行生产新的session ID,导致攻击者预先设置的session ID变成了合法桥梁。

会话固定也可以看成会话劫持的一种类型,因为会话固定攻击的主要目的同样是获取目标用户的合法会话,不过会话固定还可以是强迫受害者使用攻击者设定的一个有效会话,以此来获得用户的敏感信息。

  攻击步骤:

  1. 攻击者通过某种手段重置目标用户的session ID,然后监听用户会话状态;
  2. 目标用户携带攻击者设定的session ID登录站点;
  3. 攻击者通过session ID获得合法会话。

在这里插入图片描述

  web接收session ID机制
  首先检查携带cookie是否含有session ID;若没有则再检查get、post数据中是否含有,若有则使用此数据;没有才会使系统生成一个session ID发给客户端。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/203209.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot与Mybatis基础配置(手动写增删改查)

一、 配置 1.新建项目 1.项目基础配置 解释:记得把这个改成start.aliyun.com要不没有java8也就是jdk1.8 2.项目依赖配置 2.配置maven 配置前: 配置后: 3.创建子项目并配置父子项目pom.xml 配置父pom.xml 声明当前项目不是要打成jar包的…

NFC和蓝牙在物联网中有什么意义?如何选择?

#NFC物联网# #蓝牙物联网# 在物联网中,NFC和蓝牙有什么意义? NFC在物联网中代表近场通信技术。它是一种短距离、高频的无线通信技术,可以在近距离内实现设备间的数据传输和识别。NFC技术主要用于移动支付、电子票务、门禁、移动身份识别、防…

利用阿里云 DDoS、WAF、CDN 和云防火墙为在线业务赋能

在这篇博客中,我们将详细讨论使用阿里云 CDN 和安全产品保护您的在线业务所需的步骤。 方案描述 创新技术的快速发展为世界各地的在线业务带来了新的机遇。今天的人们不仅习惯了,而且依靠互联网来开展他们的日常生活,包括购物、玩游戏、看电…

【python VS vba】(7) python与numpy (建设ing)

目录 1 numpy 的基本介绍 2 numpy里的两种新数据类型:ndarray 和 matrix 2.1 numpy特殊的数据类型 2.1.1 python的数据类型 2.1.2 首先 python原生的list 和 tuple 2.1.3 numpy的数据类型 2.2 np.matrix() 或者 np.mat() 2.2.1 首先,两种写法相…

基于PicGo实现Typora图片自动上传GitHub

文章目录 一. 引言二. 原理三. 配置3.1 GitHub 设置3.2 下载配置 PicGo3.3 配置 Typora3.4 使用 一. 引言 Typora是一款非常好的笔记软件,但是有一个比较不好的地方:默认图片是存放在本地缓存中。这就会导致文件夹一旦被误删或电脑系统重装而忘记备份文件…

18、XSS——cookie安全

文章目录 1、cookie重要字段2、子域cookie机制3、路径cookie机制4、HttpOnly Cookie机制5、Secure Cookie机制6、本地cookie与内存cookie7、本地存储方式 一般来说,同域内浏览器中发出的任何一个请求都会带上cookie,无论请求什么资源,请求时&…

西南科技大学C++程序设计实验六( 继承与派生一)

一、实验目的 1. 理解不同继承属性对派生类访问基类成员的区别 2. 掌握单继承程序编写 二、实验任务 1、调试下列程序,并在对程序进行修改后再调试,指出调试中的出错原因(该题中A为基类,B为派生类,B以public方式继承A) 重点:理解不同继承方式数据的访问权限,派生类…

.kann勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

导言: 在数字化的今天,.kann勒索病毒等数字威胁正日益猖狂,给个人和企业的数据安全带来了巨大威胁。本文将深入介绍.kann勒索病毒的特征,提供有效的数据恢复方法,并分享一些预防措施,助您更好地在数字世界…

Java利用TCP实现简单的双人聊天

一、创建新项目 首先创建一个新的项目,并命名为聊天。然后创建包,创建两个类,客户端(SocketClient)和服务器端(SocketServer) 二、实现代码 客户端代码: package 聊天; import ja…

Memory-augmented Deep Autoencoder for Unsupervised Anomaly Detection 论文阅读

Memorizing Normality to Detect Anomaly: Memory-augmented Deep Autoencoder for Unsupervised Anomaly Detection 摘要1.介绍2.相关工作异常检测Memory networks 3. Memory-augmented Autoencoder3.1概述3.2. Encoder and Decoder3.3. Memory Module with Attention-based S…

mysql知识分享(包含安装卸载)(一)

如果博客有错误,请佬指正。 目录 注意:打开cmd时要有管理员身份打开,重要 为何使用数据库? 数据库的相关概念 关系型数据库 关系型数据库设计规则 表,记录,字段 表的关联关系 一对一关联 一对多关系 …

西南科技大学C++程序设计实验七(继承与派生二)

一、实验目的 1. 掌握多继承程序设计 2. 掌握虚基类编程 3. 拓展学习可视化程序设计中的继承与派生应用 二、实验任务 重点:掌握虚基类的定义与实现,拓展其功能。 阅读分析、完善程序。下面程序(1)与程序(2)分别是没有使用虚基类和使用虚基类的代码,其中A是最上层基…

【二分答案法】寻找峰值

题目:162. 寻找峰值 - 力扣(LeetCode) 题目描述: 题目分析: (1)据题知,索引-1、索引n(n为数组长度)处的元素都默认为无穷小,我们可以在一开始特判…

SLAM算法与工程实践——SLAM基本库的安装与使用(2):OpenCV库

SLAM算法与工程实践系列文章 下面是SLAM算法与工程实践系列文章的总链接,本人发表这个系列的文章链接均收录于此 SLAM算法与工程实践系列文章链接 下面是专栏地址: SLAM算法与工程实践系列专栏 文章目录 SLAM算法与工程实践系列文章SLAM算法与工程实践…

RabbitMQ创建新用户,并给用户添加角色和授权

一、进入容器 1.1 查看运行容器的详细信息 docker ps -a1.2 进入容器命令 docker exec -it 容器ID /bin/bash 或 docker exec -it 容器name bash 1.3 退出容器命令 exit 或者 CtrlQP 二、操作RabbitMQ 2.1 查看用户列表 注:先进入到容器内部 rabbitmqctl list_user…

SQL语言重温

数据库语言重温 笔记背景SQL教程一些最重要的 SQL 命令SQL WHERE 子句SQL AND & OR 运算符SQL ORDER BY 关键字 笔记背景 由于工作需要,现重温简单SQL语言,笔记记录如下。 SQL教程 SQL(Structured Query Language:结构化查询语言&…

【PyTorch】权重衰减

文章目录 1. 理论介绍2. 实例解析2.1. 实例描述2.2. 代码实现 1. 理论介绍 通过对模型过拟合的思考,人们希望能通过某种工具调整模型复杂度,使其达到一个合适的平衡位置。权重衰减(又称 L 2 L_2 L2​正则化)通过为损失函数添加惩…

uni-app 微信小程序之加载行政区图

文章目录 1. 实现效果2. 实现步骤 1. 实现效果 2. 实现步骤 使用三方组件 ucharts echarts 高性能跨全端图表组件页面导入引入的三方组件 组件demo代码 <template><view class"qiun-columns"><view class"cu-bar bg-white margin-top-xs"…

文献阅读:基于改进ConvNext的玉米叶片病害分类

文献阅读&#xff1a;基于改进ConvNext的玉米叶片病害分类 CBAM注意力机制模块&#xff1a; 1&#xff1a;通道注意力模块&#xff0c;对输入进来的特征层分别进行全局平均池化&#xff08;AvgPool&#xff09;和全局最大池化&#xff08;MaxPool&#xff09;&#xff08;两个…

可视化监控云平台/智能监控平台EasyCVR国标设备开启音频没有声音是什么原因?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。GB28181视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云存…