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通信过程
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

tomcat配置管理员And配置访问静态资源

配置管理员 打开 tomcat\conf\tomcat-users.xml <tomcat-users xmlns"http://tomcat.apache.org/xml"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://tomcat.apache.org/xml tomcat-users.xsd"version&qu…

openai 1.3.x 版本 openai.APITimeoutError: Request timed out. 解决

问题描述 openai 1.3.x 版本 请求出现 Request timed out File "E:\Python\Python312\Lib\site-packages\openai\_base_client.py", line 920, in _request return self._retry_request( ^^^^^^^^^^^^^^^^^^^^ File "E:\Python\Python312\L…

python爬虫零基础学习之简单流程示例

文章目录 爬虫基础爬虫流程常用库爬虫示例关于Python爬虫技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 爬虫基础 网络爬…

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

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

STM32——PWM介绍

STM32F103C8T6 PWM资源&#xff1a; 高级定时器&#xff08;TIM1&#xff09;&#xff1a;7路 通用定时器&#xff08;TIM2~TIM4&#xff09;&#xff1a;各4路 PWM输出模式&#xff1a; PWM模式1&#xff1a;在向上计数时&#xff0c;一旦 CNT < CCRx 时输出为有效电平&…

基于Eclipse+Mysql+Servlet开发的学生信息管理系统

基于EclipseMysqlServlet开发的学生信息管理系统 项目介绍&#x1f481;&#x1f3fb; 随着信息技术的不断发展&#xff0c;学校管理学生信息的方式也在不断改进。传统的手工管理方式已经无法满足现代学校对信息管理的需求&#xff0c;因此开发一套基于EclipseMysql的学生信息管…

C#基础学习--命名空间和程序集

引用其他程序集 编译器接受源代码文件并生成一个名为程序集的输出文件。 在许多项目中&#xff0c;会想使用来自其他程序集的类或类型。这些程序集可能来自BCL或第三方供应商&#xff0c;或者自己创建的。这些程序集称为类库&#xff0c;而且它们的程序集文件的名称通常以dll…

MySQL为何偏爱B+树索引

一、MySQL、B树概念 MySQL是一种关系型数据库&#xff0c;它使用SQL语言来操作数据。SQL语言可以实现对数据的增删改查等操作&#xff0c;但是如果数据量很大&#xff0c;那么这些操作的效率就会很低。为了提高效率&#xff0c;MySQL引入了索引的概念。 索引是一种数据结构&am…

Java TCP(一对一)聊天简易版

客户端 import java.io.*; import java.net.Socket; import java.util.Date; import javax.swing.*;public class MyClient {private JFrame jf;private JButton jBsend;private JTextArea jTAcontent;private JTextField jText;private JLabel JLcontent;private Date data;p…

Redis——某马点评day02——商铺缓存

什么是缓存 添加Redis缓存 添加商铺缓存 Controller层中 /*** 根据id查询商铺信息* param id 商铺id* return 商铺详情数据*/GetMapping("/{id}")public Result queryShopById(PathVariable("id") Long id) {return shopService.queryById(id);} Service…

构建socket的客户端和服务端

网络函数 WSAStartup socket bind listen accept connect send recv closesocket WSACleanup 为什么要用WSAStartup初始化&#xff1f; 本函数必须是应用程序或DLL调用的第一个Windows Sockets函数.它允许应用程序或DLL指明Windows Sockets API的版本号及获得特定Windows So…

文件加密软件——支持对任意类型文档加密保护

你是不是经历过这样的场景&#xff1a; 公司的文件随意外发 员工拿U盘随意拷贝文件 公司辛辛苦苦设计的图纸莫名其妙泄露了 标书里的数据不知道什么时候就被竞品公司知道了 …… 一系列的文件泄密事件&#xff0c;让企业主不寒而栗。遂千方百计、好似无头苍蝇似的在市面上…

postgreSql服务的window启动

CMD启动服务&#xff1a; D:\PostgreSQL\bin pg_ctl register -N PostgreSQL -D "D:\PostgreSQL\data # 登录 psql -U postgres # 验证输入 select 1; 拓展&#xff1a;删除服务 sc delete 服务名称 PostgreSQLUSER: postgresPWD: rootPORT: 5432动PostgreSQL服务器 3.1 打…

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收盘…

Java设计模式:单例模式(饿汉式、懒汉式、枚举实现类)

❤ 作者主页&#xff1a;欢迎来到我的技术博客&#x1f60e; ❀ 个人介绍&#xff1a;大家好&#xff0c;本人热衷于Java后端开发&#xff0c;欢迎来交流学习哦&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 如果文章对您有帮助&#xff0c;记得关注、点赞、收藏、…

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-4线性时不变系统中的冲激响应与卷积

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-数学基础Ch0-4线性时不变系统中的冲激响应与卷积 1. LIT System&#xff1a;Linear Time Invariant2. 卷积 Convolution3. 单位冲激 Unit Impulse——Dirac Delta 线性时不变系统 &#xff1a; L…

目标检测综述(待补ing)

文章目录 摘要引言目标检测发展历程目标检测路线图传统检测器基于CNN的两阶段检测器基于CNN的一阶段检测器 目标检测数据集及指标数据集评价指标标注软件 backboneAlexNet&#xff08;2012&#xff09;VGGNet&#xff08;2014&#xff09;GoogleNet&#xff08;2014&#xff09…

使用函数计算,数禾如何实现高效的数据处理?

作者&#xff5c;邱鑫鑫&#xff0c;王彬&#xff0c;牟柏旭 公司背景和业务 数禾科技以大数据和技术为驱动&#xff0c;为金融机构提供高效的智能零售金融解决方案&#xff0c;服务银行、信托、消费金融公司、保险、小贷公司等持牌金融机构&#xff0c;业务涵盖消费信贷、小…

Node.js快速搭建简单的HTTP服务器并发布公网远程访问

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

什么牌子的灯具性价比高?性价比高适合学生的护眼台灯推荐

国家卫生健康委疾控局副局长再那吾东玉山在发布会上介绍&#xff0c;国家卫生健康委2020年9到12月全面开展了近视专项调查&#xff0c;覆盖了全国8604所学校&#xff0c;共筛查247.7万名学生。结果显示&#xff1a;2020年&#xff0c;我国儿童青少年总体近视率为52.7%。其中6岁…