Burp Suite为何能抓到HTTPS的明文流量,Wireshark可以吗,公司电脑的加密流量也是被监控了吗?

news2024/11/24 13:02:48

在前期博文《万字图文详解HTTPS协议通信过程,结合抓包实战解析带你一次看透HTTPS!》中,我们知悉HTTPS通信内容是用会话密钥加密的,但不少细心的读者存在疑问:为何对于使用HTTPS协议的站点,在Burp Suite中拦截到的数据包却是“明文传输”的?如下图所示,这又是什么原理呢?那公司电脑的HTTPS流量是否也被监控了呢?…

在这里插入图片描述

为了让大家容易理解文章内容,博主先举一个实际案例进行演示说明,基于实际情况再进行分析解疑。

1. 实测场景说明

登录到百度首页(地址:https://www.baidu.com),点击右上角的登录按钮,输入用户名和密码后执行登录,我们接下来就拦截当前登录请求,看看用户名和密码到底是什么形式传输的。

在这里插入图片描述

这里注意一点,百度系网站执行登录时会统一跳转到百度账号认证网站https://passport.baidu.com进行登录认证,可在CMD窗口中执行ping命令,获得认证站点的IP地址36.155.132.75,记住此IP,接下来会用到。

在这里插入图片描述

2. Wireshark直接抓包https通信内容是密文根本看不懂

在博主前期文章中已经介绍了HTTPS的工作原理,我们知道所有HTTPS传输的报文信息在Wireshark中均标识为Application Data。

我们拦截了上面百度账号登录的数据包,在WireShark的显示过滤中输入ip.dst==36.155.132.75过滤出我们发送给百度认证服务器的数据包记录,可以发现所有请求均为密文,我们随便打开一个Application Data数据包,内容如下:

在这里插入图片描述

继续选择任意协议为TLSv1.2的数据包记录后右击选择『追踪流(Follow)』->『TCP流(TCP Stream)』,发现数据均经过加密,我们根本看不懂:

注:如果对Wireshark工具不会使用,可以参阅《通过15张图带你掌握网络抓包工具Wireshark必备使用技巧》快速入门上手。

实测结论1:如果直接使用WireShare嗅探HTTPS协议的数据包,我们就会看到TLS携带的Data都是密文,是无法拿到明文数据的。

3. BurpSuite抓包https通信内容是明文可以看懂

接下来针对以上场景,我们使用Burp Suite工具抓包,抓包前需要先跳转到『代理』>『拦截』选项卡,将『拦截切换』设置为“拦截”启用状态。

启用拦截

单击『打开浏览器(Open browser)』启动Burp内置浏览器,该浏览器已预先配置为开箱即用。当然,大家也可以拦截自己电脑上安装的浏览器请求,不过这需要多做一些额外配置(如安装Burp的CA证书、配置浏览器代理等)。不论哪种方式,都不会影响我们这次要介绍的主要内容。

在这里插入图片描述

打开浏览器后,地址栏输入我们实测的网址,访问成功后可以看到地址栏最前面多出了一个Burp的图标,点击后可以看到提示:当前百度站点正在被Burp Suite代理。

在这里插入图片描述

在上图右上角选择登录,可以在『代理』>『拦截』选项卡上看到被拦截的登录请求。

在这里插入图片描述

上面拦截到的密码其实是经过前端处理后的,我们查看前端代码其实可发现该HTTP站点确实对账户密码做了前端加密后再进行传输,对应的加密密钥在前端代码中也可以看到。

在这里插入图片描述

在前端对密码进行加密,即使https流量被嗅探后也无法解密得到原始密码。可见百度对安全考虑还是比较细致的。

到这里我们已经非常确认Burp Suite是可以解密HTTPS流量的,所以Burp Suite一定是有解密的密钥,具体是如何做到的呢?

实际上Burp Suite就是模拟了MITM(Man in the Middle,中间人)攻击,你还记得上面地址栏看到默认安装的Burp Suite CA证书吧。好奇的你也一定会问为什么需要安装Burp的CA证书?

为了拦截浏览器和目标web服务器之间的流量,Burp会切断浏览器与目标站点的HTTPS连接(模拟中间人攻击)。因此,如果我们想在Burp运行时尝试访问HTTPS URL,我们的浏览器将检测到它没有直接与真实的web服务器通信,会显示安全警告。

未安装Burp CA证书风险提示

为了防止此问题,Burp会为每个主机生成自己的TLS证书,并由自己的证书颁发机构(CA)签名。此CA证书在第一次启动Burp时生成,并存储在本地,此证书对应的私钥也会存储在本地计算机上(也可以在界面上单独导出)。为了在HTTPS网站上最有效地使用Burp Proxy,需要将此证书作为受信任的根安装在浏览器的信任存储中(Burp的默认内置浏览器中已经帮我们做好了这一步操作)。

Burp Suite证书导出界面(含私钥)

Burp将使用此CA证书为你访问的每个主机创建并签署TLS证书,允许你正常浏览HTTPS URL。最后我们就可以使用Burp查看和编辑通过HTTPS发送的请求和响应,就像处理任何其他HTTP消息一样。

Burp使用自己的CA给百度签署的TLS证书

实测结论2:Burp Suite能抓到HTTPS协议的明文内容是因为Burp Suite在浏览器上安装了自己的CA证书,并作为中间人(MITM)分别与客户端、服务端建立起了HTTPS通道,作为中间人,Burp Suite自然能够获取到所有的明文内容。具体原理可以参见下图:

Burp作为中间人获取明文流量的原理

说明:在浏览器上提前安装并信任Burp CA证书是Burp实施流量代理的关键环节,否则客户端不信任中间人,就无法实施HTTPS流量拦截了。

扩展问题1:我们知道,浏览器在接收到服务端发送回来的密文数据之后,会使用存储在本地的秘钥对数据进行解密。那么,WireShark能否也利用此秘钥来实现HTTPS站点的密文自动解密呢?

扩展问题2:公司/企业考虑到安全防护和信息泄露等问题,一般也会通过代理方式(类似于Burp)解密HTTPS流量,你的所有上网行为(包括各个社区、平台等的用户账户、密码等)都是可监控的。快来看看你在公司电脑上访问外部Https网站时,浏览器地址栏前面的证书是不是你公司自己颁发的吧?如果是,你的上网行为一定要谨慎,别乱看一些乱七八糟的站点,背后有一双👀在盯着呢!

4. 参考链接

  • https://portswigger.net/burp/documentation/desktop/external-browser-config/certificate

在这里插入图片描述

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

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

相关文章

5.人员管理模块(以及解决运行Bug)——帝可得管理系统

目录 前言一、页面修改表单展示修改 二、新增对话框修改三、修改对话框修改修改时展示创建时间 四、解决页面展示错误五 、 解决【java.lang.NullPointerException: null】 Bug 前言 提示:本篇完成人员管理模块的开发,具体需求、修改代码的路径和最终效…

2024年国庆节有哪些必囤的好物?搜罗到了五款超实用的数码好物!

​今年国庆节好多商家推出了一系列促销的活动,以庆祝这一重要节日。在这举国欢腾的日子里,除了享受假期带来的闲暇时光,也是时候犒劳一下自己,添置一些实用的数码用品了。为此,我特别为您搜罗到了五款超实用的数码好物…

考研笔记之操作系统(四) - 文件管理

文件管理 1. 简介1.1 前情回顾1.2 文件的属性1.3 文件内部数据的组织方式1.4 操作系统向上提供的文件功能1.5 文件应如何放在外存 2. 文件的逻辑结构2.1 无结构文件2.2 有结构文件2.2.1 顺序文件2.2.2 索引文件2.2.3 索引顺序文件2.2.4 多级索引顺序文件 3. 文件目录3.1 基本概…

PCIe配置篇(1)——如何进行配置操作(一)

一、功能的唯一标识——BDF 首先我们简单回顾一下总线(Bus)、设备(Device)、功能(Function)这几个概念: 功能(function):是PCI设备中独立的功能单元&#xff…

文心一言 VS 讯飞星火 VS chatgpt (364)-- 算法导论24.3 6题

六、给定有向图 G ( V , E ) G(V,E) G(V,E),每条边 ( u , v ) ∈ E (u,v)∈E (u,v)∈E 有一个关联值 r ( u , v ) r(u,v) r(u,v) ,该关联值是一个实数,其范围为 0 ⩽ r ( u , v ) ⩽ 1 0⩽r(u,v)⩽1 0⩽r(u,v)⩽1 ,其代表的意…

Sleuth、Zipkin学习

系列文章目录 JavaSE基础知识、数据类型学习万年历项目代码逻辑训练习题代码逻辑训练习题方法、数组学习图书管理系统项目面向对象编程:封装、继承、多态学习封装继承多态习题常用类、包装类、异常处理机制学习集合学习IO流、多线程学习仓库管理系统JavaSE项目员工…

去掉最大最小值的部门平均薪水

有员工薪资表t3_salary,包含员工ID(emp_id),部门ID(depart_id),薪水(salary),请计算去除最高最低薪资后的平均薪水;(每个部门员工数不少于3人) CREATE TABLE t3_salary (emp_id bigint,depart_id bigint,salary decima…

使用springCache实现缓存

简介 这个springCache貌似jdk8或者以上才可以 cache最好加在controller层,毕竟返回给前端的数据,在这一步才是最完整的,缓存controller的数据才有意义配置 导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-bo…

业务封装与映射 -- OTUk/ODUk/OPUk开销帧结构

开销是为了保证净荷正常、灵活传送所必须附加的供网络运行、管理和维护&#xff08;OAM&#xff09;使用的字节。 OTN电层开销包括OTUk开销、ODUk开销、OPUk开销、OTUCn开销、ODUCn开销、OPUCn开销和帧对齐开销。 SM开销属于OTU开销&#xff0c;占用3个字节&#xff1b;PM开销…

【HappyCoding 之前,如何做好需求分析?】

“代码没写完&#xff0c;哪有脸睡觉”&#xff1f;代码爱好者们如是说。在工作当中&#xff0c;开发者往往也要担任需求分析的角色&#xff0c;承担一些需求分析设计文档编写等工作&#xff0c;这对于一些刚入行的新手或是一些自我封闭的“代码高手”来说是比较头疼的&#xf…

用Python Turtle绘制天安门技术讲解

概述 Python的Turtle模块是一个简单的绘图库&#xff0c;它允许用户通过简单的命令控制一个小海龟在屏幕上移动&#xff0c;绘制出各种图形。本文将通过一个具体的示例——绘制简化版的天安门&#xff0c;来详细讲解如何使用Turtle模块。 环境准备 确保你的Python环境中已经…

【CF2021E】Digital Village(All Version)

题目 给你一张 n n n 个点 m m m 条边的无向图&#xff0c;有 p p p 个关键点。你需要选择 k k k 个点染黑&#xff0c;使得这 p p p 个关键点到这 k k k 个黑点的代价和最小。定义代价为两点之间边权最大的边的最小值。 你需要求出 k 1,2,…,n 的所有答案 E1 n,m,p&l…

OBOO鸥柏丨数字化展厅液晶拼接屏联动展馆触摸屏查询一体机信息化

在OBOO鸥柏精心雕琢的多媒体展厅展馆解决方案中&#xff0c;鸥柏液晶拼接屏的多屏联动互动技术犹如一条无形的数字科技纽带&#xff0c;OBOO鸥柏巧妙地将多台商用显示设备编织成一幅幅动态共生的视觉盛宴。鸥柏这项技术&#xff0c;不仅仅是简单的显示设备互联&#xff0c;鸥柏…

73.【C语言】C/C++的内存区域划分

1.内存里的几个区域 除了耳熟能详的栈区,堆区,静态区,还有内核空间,内存映射段,数据段,代码段 2.示意图 3.解释 栈区(stack area):局部变量,函数参数,返回数据,返回地址 内存映射段:将文件映射到内存 映射: 如果看过王爽老师的 《汇编语言 第四版》,其中写到了可以操作B800…

【可答疑】基于51单片机的倒车雷达测距(含仿真、代码、报告、演示视频等)

✨哈喽大家好&#xff0c;这里是每天一杯冰美式oh&#xff0c;985电子本硕&#xff0c;大厂嵌入式在职0.3年&#xff0c;业余时间做做单片机小项目&#xff0c;有需要也可以提供就业指导&#xff08;免费&#xff09;~ &#x1f431;‍&#x1f409;这是51单片机毕业设计100篇…

三、数据链路层(下)

目录 3.6以太网 以太网的分类 Mac地址 以太网数据格式 3.7互联网 数据是如何传输的&#xff1f; 3.8以太网、局域网、互联网的区别 总结&#xff1a; 3.9 vlan基本概念与基本原理 Vlan实现 划分 VLAN 例题 3.10广域网及相关协议 ppp协议 PPP协议所满足的要求 P…

【GitHub】上传文件到GitHub

参考视频&#xff1a;手把手教你在github上传文件_哔哩哔哩_bilibili 1.找到文件夹右键&#xff0c;选择open git bash here 2.完成指令 git initgit add *git commit -m "first commit"3.打开该文件夹&#xff0c;打开隐藏文件.git/config 编辑输入邮箱和GitHub用…

关于Qt音乐播放器进度条拖拽无用的问题解决方案

在使用Qt编写音乐播放器的时候&#xff0c;进度条关联播放音乐基本是必须的。那么在设计的过程中你可能会碰到一个奇怪的问题就是拖拽进度条的时候&#xff0c;可能会报错如下&#xff1a; 然后音乐就卡着不动了。。。 connect(ui->volume_toolButton,&VolumeToolBtn::…

AI大模型,但是在卫星

B站&#xff1a;啥都会一点的研究生公众号&#xff1a;啥都会一点的研究生 AI圈又发生了啥新鲜事&#xff1f; 国星宇航实现全球首次卫星在轨AI大模型技术验证 国星宇航成功完成了全球首次卫星在轨运行AI大模型技术验证&#xff0c;验证了AI大模型在太空中的空间适应性和算力…

解决ERR_PROXY_CONNECTION_FAILED

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 错误描述 电脑无法正常上网&#xff0c;报错信息如下&#xff1a;ERR_PROXY_CONNECTION_FAILED&#xff1b;图示如下&#xff1a; 解决方案 请按如下步骤和方式解决该问题…