19、XSS——HTTP协议安全

文章目录

  • 一、Weak Session IDs(弱会话IDs)
  • 二、HTTP协议存在的安全问题
  • 三、HTTPS协议
    • 3.1 HTTP和HTTPS的区别
    • 3.2 SSL协议组成

一、Weak Session IDs(弱会话IDs)

  当用户登录后,在服务器就会创建一个会话(Session),叫做会话控制,再访问页面的时候就不用登录,只需要携带Session去访问。

  Session ID作为特定用户访问站点所需要的唯一内容。如果能够就算或轻易猜到该Session ID,则攻击者将可以轻易获取访问权限,无需登录直接进入特定用户界面,进而执行其他操作。

  用户访问服务器的时候,在服务器端会创建一个新的会话(Session),会话中会保存用户的状态和相关信息,用于标识用户。服务器端维护所有在线用户的Session,此时的认证,只需要知道是哪个用户在浏览当前的页面即可。为了告诉服务器应该使用哪个Session,浏览器需要把当前用户持有的Session ID告知服务器。用户拿到Session ID就会加密后保存在Cookie上,之后只要cookie随着http请求发送服务器,服务器就知道你是谁了。Session ID一旦在生命周期内被窃取,就等于账户失窃。

  Session利用的实质:由于Session ID是用户登录之后持有的唯一认证凭证,因此黑客不需要再攻击登录过程(比如密码),就可以轻易获取访问权限,无需登录密码直接进入特定用户界面,进而查找其他漏洞如XSS、文件上传等。
  Session劫持:就是一种通过窃取用户Session ID,使用Session ID登录进目标账户的攻击方法,此时攻击者实际上是使用了目标账户的有效Session。如果Session ID是保护在Cookie中,则这种攻击可以称为Cookie劫持。Session ID还可以保存在URL中,作为一个请求的一个参数,但是这种方式的安全性难以经受考验。

二、HTTP协议存在的安全问题

  • 通讯使用明文,未加密,并且TCP/IP协议是可能会被窃听的网络,所以通讯内容可能会被窃听;
  • 没有验证通讯方的身份,可能会被冒充;
  • 没有办法验证报文的完整性,可能会被篡改。

三、HTTPS协议

  超文本传输安全协议(HyperText Transfer Protocol Secure,缩写HTTPS)是一种通过计算机网络进行安全通信的传输协议,简单来说就是HTTP的安全版

  HTTP直接和TCP通信,但是HTTPS是HTTP先和SSL协议通信,然后SSL协议再和TCP通信。
在这里插入图片描述

3.1 HTTP和HTTPS的区别

  • HTTPS协议需要到CA申请证书,一般免费证书很少,需要年费;
  • HTTP是超文本传输协议,信息是明文传输;HTTPS则是具有安全性的SSL加密传输协议;
  • HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,HTTP用80端口,HTTPS用443端口;
  • HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。

3.2 SSL协议组成

  1. 记录协议(Record Protocol)
  2. 握手协议(Handshake Protocol)
  3. 警告协议(Alert Protocol)
  4. 密码规范改变协议
    在这里插入图片描述
      SSL协议主要分为两层,其中底层是SSL记录协议层,高层是SSL握手协议层。最重要的是记录协议握手协议
      SSL记录协议层的作用是为高层协议提供基本的安全服务。SSL记录协议针对HTTP协议进行了特别的设计,使得超文本的传输协议HTTP能够在SSL运动。记录封装各种高层协议,具体实施压缩、解压缩、加密、解密、计算和校验MAC等与安全有关的操作。
      SSL握手协议层的这些协议用于管理信息的交换,允许应用协议传送数据之间相互验证,协商加密算法和生成密钥等。SSL握手协议的作用是协调客户与服务器的状态,使双方能够达到状态的同步。

HTTP协议三次握手
在这里插入图片描述
HTTPS通信过程
在这里插入图片描述

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

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

相关文章

【JavaScript手撕代码】flat、push、filter、map、repeat

flat 借助上面递归concat扁平化即可 Array.prototype.myflat function(deep1) {let res []deep--for(const element of this) {if(Array.isArray(element) && deep) {res res.concat(element.myflat(deep))}else{res.push(element)}}return res }push 根据我们对…

在线客服的工作职责有哪些?

信息时代发展的脚步越来越快,在线客服成为了许多企业不能缺失的一部分。他们扮演着与客户沟通的桥梁,为客户提供及时高效又专业的服务。那么在线客服的工作职责究竟有哪些呢? 用心接待客户咨询 在线客服的首要职责是接待客户的咨询。无论是网…

FAQ:Constructors篇

文章目录 What’s the deal with constructors?Is there any difference between List x; and List x();?Can one constructor of a class call another constructor of the same class to initialize the this object?Is the default constructor for Fred always Fred::Fr…

urllib爬虫 应用实例(三)

目录 一、 ajax的get请求豆瓣电影第一页 二、ajax的get请求豆瓣电影前十页 三、ajax的post请求肯德基官网 一、 ajax的get请求豆瓣电影第一页 目标:获取豆瓣电影第一页的数据,并保存为json文件 设置url,检查 --> 网络 --> 全部 -…

zedbox 实现配置 yolov5

Stereolabs 的 ZED Box 是一款由 NVIDIA Jetson™ 提供支持的紧凑型网关,用于在移动和现场情况下挑战 AIoT(物联网)。它旨在将空间感知和理解带到边缘,并聚合、处理和分析来自 3D 传感器和设备的数据。 相关内容 1.win10下 cud…

下载加速器steam++

解决auto-py-to-exe打包文件时无法访问浏览器界面的问题。 下载地址:瓦特工具箱(Steam官网) - Watt Toolkit (steampp.net) 进入gitee后需要注册账号 3.0.0-rc.3 RMBGAME/SteamTools - Gitee.com 下载后安装即可 打开安装好的文件 成功打开

跨境电商危机公关:应对负面舆情的策略优化

随着跨境电商的快速发展,企业在全球市场中面临的竞争与挑战也日益复杂。在这个数字时代,负面舆情一旦爆发,可能对企业形象和经营造成深远影响。 因此,跨境电商企业需要建立有效的危机公关策略,以迅速、果断、有效地应…

Java中使用String字符串的注意事项

引言 介绍字符串在Java中的重要性和普遍性,以及本文将讨论的注意事项。 1. 字符串是不可变的 解释Java中字符串是不可变的概念,即一旦创建,字符串对象的值就不能被修改。强调在对字符串进行操作时应当创建新的字符串对象而不是修改原有的对…

R语言手册30分钟上手

文章目录 1. 环境&安装1.1. rstudio保存工作空间 2. 创建数据集2.1. 数据集概念2.2. 向量、矩阵2.3. 数据框2.3.1. 创建数据框2.3.2. 创建新变量2.3.3. 变量的重编码2.3.4. 列重命名2.3.5. 缺失值2.3.6. 日期值2.3.7. 数据框排序2.3.8. 数据框合并(合并沪深300和中证500收盘…

如何衡量和提高测试覆盖率?

衡量和提高测试覆盖率,对于尽早发现软件缺陷、提高软件质量和用户满意度,都具有重要意义。如果测试覆盖率低,意味着用例未覆盖到产品的所有代码路径和场景,这可能导致未及时发现潜在缺陷,代码中可能存在逻辑错误、边界…

短剧分销系统开发:短剧分销推广

近两年内,随着短剧的发展,节奏快、剧情紧凑的短剧逐渐成为了大众的“新宠”。短剧行业也凭着成本低、投资低、周期短的优势成为了众多创业者的首要选择,越来越多的专业团队加入到短剧的赛道中。 根据数据显示,我国短剧市场规模有…

马尔科夫决策过程(Markov Decision Process)揭秘

RL基本框架、MDP概念 MDP是强化学习的基础。MDP能建模一系列真实世界的问题,它在形式上描述了强化学习的框架。RL的交互过程就是通过MDP表示的。RL中Agent对Environment做出一个动作(Action),Environment给Agent一个反馈&#xff…

JavaSE基础50题:6. 求出0~999之间的所有“水仙花数”并输出

概念 “水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身。 如:153 135333,则153是一个“水仙花数”。 【方法】 如何获得每一位的数:如(153) 个位: 153 % 10 3 十位: 153 / 10 15 15 % 10 5 百位: 153 / 100 1 代码 pu…

微信小程序动态加载图表[echart]

1.引入Echarts (1)将ec-canvas文件拷贝下来放到你自己的项目中: (2)在你需要使用Echarts的页面的json文件中引入Echarts "usingComponents": {"ec-canvas": "../utils/ec-canvas/ec-canva…

哈希计算-哈希值-定长-不可逆-唯一性

哈希计算是指使用哈希函数对输入的消息或数据进行处理,生成固定长度的哈希值或摘要。哈希函数将输入的任意长度数据映射为固定长度的输出,通常用于验证数据完整性、密码学安全、数据指纹等领域。 哈希计算的过程包括以下几个步骤: 输入数据&…

102. 二叉树的层序遍历 --力扣 --JAVA

题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 解题思路 利用Map以层级作为key进行初始数据存储,最后再遍历Map存储结果到List中;添加当前节点到当前层级…

编织魔法世界——计算机科学的奇幻之旅

文章目录 每日一句正能量前言为什么当初选择计算机行业计算机对自己人生道路的影响后记 每日一句正能量 人生就像赛跑,不在乎你是否第一个到达尽头,而在乎你有没有跑完全程。 前言 计算机是一个神奇的领域,它可以让人们创造出炫酷的虚拟世界…

android 13.0 第三方输入法app设置系统默认输入法

1.概述 在13.0的系统rom产品开发中,有定制功能需要要求设置默认输入法,替换掉系统的输入法,所以这就需要了解设置输入法的相关功能需求,然后根据输入法包名来设置默认输入法 接下来就来看如何实现相关功能的开发 2.第三方输入法app设置系统默认输入法的核心代码 framewor…

智能成绩表 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题目描述 小明来到某学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗? 输入描述 第1行输入两个整数,学生人数n和科目数量m。0<n<100,0<m<10 第2行输入m个科目名称,彼此之间用空格隔开。科目名称只由英文…

MybatisPlus批量插入(伪批量),增强为真实批量插入

项目基于优秀开源项目&#xff1a;若依 项目背景&#xff1a;项目中牵扯到数据批量导入&#xff0c;为提高性能&#xff0c;先考虑将MybatisPlus伪批量插入增强为真实批量插入 MybatisPlus源码&#xff1a; MybatisPlus支持批量插入&#xff0c;但是跟踪源码发现底层是将批量…