【协议-HTTPS】

https

https是在http协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议。
https=http+加密+认证+完整性保护
https交互图:
在这里插入图片描述HTTPS的整体过程分为证书验证和数据传输阶段:
① 证书验证阶段

浏览器发起 HTTPS 请求
服务端返回 HTTPS 证书
客户端验证证书是否合法,如果不合法则提示告警
② 数据传输阶段

当证书验证合法后,在本地生成随机码
通过公钥加密随机码,并把加密后的随机码传输到服务端
服务端通过私钥对随机码进行解密
服务端通过客户端传入的随机码构造对称加密算法,对返回结果内容进行加密后传输

为什么需要CA认证机构颁发证书

假设不存在认证机构颁发证书,任何人都可以制作证书,由于缺少对证书的验证,所以客户端虽然发起的是 HTTPS 请求,但客户端完全不知道自己的网络已被拦截,传输内容被中间人全部窃取。

证书包含的信息包括:颁发机构信息,公钥,公司信息,域名,有效期,指纹等。

证书的合法性依据权威机构,只要是权威机构生成的证书,就认为是合法的。

浏览器如何验证证书的合法性?

浏览器发起 HTTPS 请求时,服务器会返回网站的 SSL 证书,浏览器需要对证书做以下验证:

1.验证域名、有效期等信息是否正确。证书上都有包含这些信息,比较容易完成验证;
2.判断证书来源是否合法。每份签发证书都可以根据验证链查找到对应的根证书,操作系统、浏览器会在本地存储权威机构的根证书,利用本地根证书可以对对应机构签发证书完成来源验证;
3.判断证书是否被篡改。需要与 CA 服务器进行校验;
4.判断证书是否已吊销。通过CRL(Certificate Revocation List 证书注销列表)和 OCSP(Online Certificate Status Protocol 在线证书状态协议)实现,其中 OCSP 可用于第3步中以减少与 CA 服务器的交互,提高验证效率。

以上任意一步都满足的情况下浏览器才认为证书是合法的。

抓包https流量

1.中间人攻击技术:
只要客户端是我们自己的终端,我们授权的情况下,便可以组建中间人网络,而抓包工具便是作为中间人的代理。通常 HTTPS 抓包工具的使用方法是会生成一个证书,用户需要手动把证书安装到客户端中,然后终端发起的所有请求通过该证书完成与抓包工具的交互,然后抓包工具再转发请求到服务器,最后把服务器返回的结果在控制台输出后再返回给终端,从而完成整个请求的闭环。

Fiddler的这种设置全局代理的方式,只对以下几种情况有效:

1.IE、Chrome等浏览器。

2.程序使用Windows提供的WinInet库进行HTTP/HTTPS通信。

3.程序内嵌WebBrowser,比较常用的是IE控件和CEF。

Fiddler之所以能抓到并解密HTTPS包的内容是因为Fiddler使用了中间人攻击的手段,该手段要能成功实施,有一个前提条件,**就是客户端信任Fiddler提供的根证书**。

如果第三方程序使用其它HTTP库进行通信,比如libcurl,JAVA的URLConnection库,C#的System.Net.Http,Python的requests,这些HTTP库一般自带了一套可信任的SSL根证书,它们不使用操作系统自带的SSL根证书,更不会使用我们向操作系统中添加的Fiddler根证书,于是就验证出错了,这时可以通过在请求时禁用证书验证或者在请求时指定自己生成的证书,给目标程序设置Fiddler代理

2.在恶意样本建立连接之前将域名更改为http协议,或者搭建有证书分析环境。

中间人攻击

在这里插入图片描述

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

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

相关文章

Verilog刷题笔记44

题目&#xff1a;Consider the n-bit shift register circuit shown below: 解题&#xff1a; module top_module (input clk,input w, R, E, L,output Q );always(posedge clk)beginif(L1)Q<R;elseQ<(E1)?w:Q;endendmodule结果正确&#xff1a; 注意点&#xff1a; …

Web实现名言生成器:JavaScript DOM基础与实例教程

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

iscsi网络协议(连接硬件设备)

iscsi概念 iscsi是一种互联网协议&#xff0c;用于将存储设备&#xff08;如硬盘驱动器或磁带驱动器&#xff09;通过网络连接到计算机。它是一种存储区域网络&#xff08;SAN&#xff09;技术&#xff0c;允许服务器通过网络连接到存储设备&#xff0c;就像它们是本地设备一样…

Godot 学习笔记(4):一切以场景为中心

文章目录 前言场景搭建新建子场景最简单的按钮事件 手动控制场景手动加载场景添加多个场景对象更快速的获取脚本对象 删除多个场景对象脚本命名的问题 总结 前言 Godot的场景是C#与Godot最后的中间连接。我们解决了场景的加载&#xff0c;我们基本可以保证C#和godot之间的彻底…

springcloud第4季 负载均衡的介绍3

一 loadbalance 1.1 负载均衡的介绍 使用注解loadbalance&#xff0c;是一个客户端的负载均衡器&#xff1b;通过之前已经从注册中心拉取缓存到本地的服务列表中&#xff0c;获取服务进行轮询负载请求服务列表中的数据。 轮询原理 1.2 loadbalance工作流程 loadBalance工作…

Uni-App电商模板,纯前端模板,可直接使用 实现全平台适配与高效功能

一、引言 随着移动互联网的快速发展&#xff0c;多平台应用开发已成为业界关注的焦点。Uni-App&#xff0c;作为一种前端框架&#xff0c;可以实现一套代码多端运行&#xff0c;大大提高了开发效率。本文将介绍如何使用Uni-App搭建一个电商模板&#xff0c;实现全平台适配与高…

WSL下Ubuntu+RTX4090安装CUDA+cuDnn+Pytorch

安装驱动 首先需要明确的是&#xff0c;在WSL下安装Ubuntu&#xff0c;如果要使用主机的GPU卡&#xff0c;只需要在主机Windows上安装驱动&#xff0c;Linux中不需要安装驱动&#xff0c;可以在Linux中使用nvidia-smi命令查看驱动版本。 安装CUDA 避坑注意事项&#xff1a;如…

机器学习(27)

文章目录 文献阅读1. 题目2. abstract3. 网络架构3.1 Theoretical Results 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 数据集4.3.2 参数设置 4.4 结论 三、实现GAN1. 任务要求2. 实验结果3.实验代码3.1数据准备3.2 模型构建3.3 展示函数3.4 训练过程 小结本周内…

循环队列、循环队列的基本操作

我要成为嵌入式高手之3月22日数据结构第五天&#xff01;&#xff01; ———————————————————————————— 顺序队列 存在问题&#xff1a;假溢出——解决办法&#xff1a;循环队列 空队列、满队列如何判断&#xff1f; 满队列&#xff1a;rear 1 …

一图详解 UVM phase机制

UVM验证环境构建时&#xff0c;引入 phase机制 &#xff0c;通过该机制可以很清晰的 将UVM仿真阶段层次化 。这里层次化&#xff0c;不仅仅是 各个phase的执行顺序 &#xff0c;还有 同一phase中的层次化组件之间phase也有先后关系 。 phase函数/任务执行顺序功能典型应用buil…

Java22已发布,支持SpringBoot3.3.0正式版

Java22已发布&#xff0c;支持SpringBoot3.3.0正式版 文章目录 Java22已发布&#xff0c;支持SpringBoot3.3.0正式版1. JDK22现已推出&#xff01;2. Java22的新功能1. 语言改进1. 语言预览 2. 库文件3. 性能4. 工具 3. 资源 Java 22现已发布 下一个Java版本提高了Java应用程序…

python绘图matplotlib——使用记录1

本博文来自于网络收集&#xff0c;如有侵权请联系删除 使用matplotlib绘图 1 常用函数汇总1.1 plot1.2 legend1.3 scatter1.4 xlim1.5 xlabel1.6 grid1.7 axhline1.7 axvspan1.8 annotate1.9 text1.10 title 2 常见图形绘制2.1 bar——柱状图2.2 barh——条形图2.3 hist——直…

计算机三级——网络技术(综合题第五题)

第一题 填写路由器RG的路由表项①至④。 目的网络&#xff0f;掩码长度输出端口输出端口172.19.63.192&#xff0f;30S0(直接连接)172.19.63.188&#xff0f;30S1(直接连接) 路由器RG的S0的IP地址是172.19.63.193&#xff0c;路由器RE的S0的IP地址是172.19.63.194。 【解析】…

【Hive】HIVE运行卡死没反应

Hive运行卡死 再次强调 hive&#xff1a;小兄弟&#xff0c;没想到吧&#xff0c;咱可不是随便的人。&#x1f604; 那么&#xff0c;这次又遇见了hadoop问题&#xff0c;问题描述是这样的。 hive> insert into test values(1, nucty, 男); Query ID atguigu_202403241754…

Spring Boot整合Spring Security

Spring Boot 专栏&#xff1a;Spring Boot 从零单排 Spring Cloud 专栏&#xff1a;Spring Cloud 从零单排 GitHub&#xff1a;SpringBootDemo Gitee&#xff1a;SpringBootDemo Spring Security是针对Spring项目的安全框架&#xff0c;也是Spring Boot底层安全模块的默认技术…

MRC是谁?- 媒体评级委员会 Media Rating Council

在在线广告的世界里&#xff0c;有许多不同的技术和实践用于提供和衡量广告。对于广告商、出版商和营销人员来说&#xff0c;了解这些技术是如何工作的以及如何有效使用这些技术很重要。在这方面发挥关键作用的一个组织是媒体评级委员会&#xff08;MRC&#xff09;。 1. 了解…

[Linux]文件系统

1.理解文件系统 Linux磁盘文件特性&#xff1a;内容加属性&#xff0c;内容大小是不确定的&#xff0c;但是属性大小是一定的&#xff0c;并且内容和属性是分开存储的。文件属性是用一个结构体来定义的&#xff0c;在Linux中&#xff0c;该结构体是固定128字节大小如下代码: …

LC 98.验证二叉搜索树

98.验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例…

Vue cli创建项目时键盘操作无效;vue3.0项目搭建自定义配置

一. 问题描述 在创建vue3.0项目时&#xff0c;在建好的文件夹&#xff0c;鼠标右键 git bash 使用 vue create my-vue3.0创建新项目时&#xff0c;键盘方向键失效&#xff0c;无法选中对应的选项&#xff08;交互提示符不工作&#xff09; 解决方案&#xff1a; 方案一 使用…

架构评估方法相关知识总结

一、架构评估中的重要概念 定义&#xff1a;软件架构评估是在对架构分析、评估的基础上&#xff0c;对架构策略的选取进行决策。 常用系统架构评估的方式&#xff1a; 1. 基于调查问卷或检查表的方法&#xff1a;该方法的关键是设计好问卷或检查表。缺点是在很大 程度上依赖于评…