渗透测试中为什么https抓包是明文传输?
网站用的是https抓包是明文传输,为什么能看到https报文的明文?
- https其实就是 http + SSL/TLS 两种协议的合体。http协议是应用层协议,而SSL/TLS是传输层协议。 
- 那问题的答案就很清晰了,在你能够在浏览器上面查看网页之前,报文经过了你的传输层,SSL/TLS已经对报文进行了解密处理(快递已经开包)。之后所以不管是在浏览器上呈现,还是你按F12查看源码,都是http协议的事情(快递里面的东西都已经到你手上了,对你而言不会再有啥秘密)。 
- https保证的是传输过程中第三方抓包看到的是密文。客户端和服务端,无论如何都可以拿到明文。 
https(ssl)加密是发生在应用层与传输层之间,所以在传输层看到的数据才是经过加密的,而我们捕捉到的http post,是应用层的数据,此时还没有经过加密。这些明文信息,其实就是你的本地数据。
加密层位于http层(应用层)和tcp层(传输层)之间, 所以抓到的http层的数据并没有加密。 同理, 在后台接收端, 经历解密后, 到达http层的数据也是明文。 要注意, https不是对http报文进行加密, 而是对业务数据进行加密, 然后用http传输。所以需要在客户端对密码进行MD5加密处理才行。
- https抓包的原理就是抓包程序将服务器返回的证书截获 ,然后给客户端返回一个它自己的证书;
- 客户端发送的数据抓包程序用自己的证书解密,然后再用截获的证书加密,再发给服务器 所以你在能看到明文。
- 密文是针对https两端以外其他路径而言,你作为https链接的两端,当然可以看到明文 。
HTTPS是通过一次非对称加密算法(如RSA算法)进行了协商密钥的生成与交换,然后在后续通信过程中就使用协商密钥进行对称加密通信,之所以要使用这两种加密方式的原因在于非对称加密计算量较大,如果一直使用非对称加密来传输数据的话,会影响效率。
总结
- HTTPS不是单独的一个协议,它是- HTTP+- SSL/TLS的组合;
- TLS是传输层安全性协议,它会对传输的- HTTP数据进行加密,使用非对称加密和对称加密的混合方式;
- 抓包工具的原理就是“伪装“,对客户端伪装成服务器,对服务器伪装成客户端;
- 使用抓包工具抓 HTTPS包必须要将抓包工具的证书安装到客户端本地,并设置信任;
- HTTPS数据只是在传输时进行了加密,而抓包工具是接收到数据后再重新加密转发,所以抓包工具抓到的- HTTPS包可以直接看到明文;
- 所有,可以采取对密码等敏感字段,进行混淆加密编码后传输,比如前端hash后加盐等等
参考:
https://www.cnblogs.com/tester-xt/p/13174279.html
https://blog.csdn.net/stpeace/article/details/78073288
https://blog.csdn.net/kongsuhongbaby/article/details/103210955
渗透测试中为什么https抓包是明文传输?的更多相关文章
- Charles中如何对https抓包
		前言:下面介绍关于Charles中如何对https抓包 1.在默认没有相关设置HTTPS需要设置相关操作的时候,会出现下面的情况: 2.下面就是设置SSL Proxying,然后443是默可用的端口 ... 
- 移动端https抓包那些事--初级篇
		对于刚刚进入移动安全领域的安全研究人员或者安全爱好者,在对手机APP进行渗透测试的时候会发现一个很大的问题,就是无法抓取https的流量数据包,导致渗透测试无法继续进行下去. 这次给大家介绍一些手机端 ... 
- 移动端https抓包那些事--进阶篇
		上一次和大家介绍了手机端https抓包的初级篇,即在手机未root或者未越狱的情况下如何抓取https流量,但是当时分析应用时会发现,好多应用的https的流量还是无法抓取到,这是为什么呢? 主要原因 ... 
- 安卓APP测试之使用Burp Suite实现HTTPS抓包方法
		APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外).所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议.Websocket.socket协议,一 ... 
- 谈iOS抓包:Mac下好用的HTTP/HTTPS抓包工具Charles
		在Mac下做开发,用Fiddler抓包由于离不开Windows比较痛苦,还好有Charles,到官网http://www.charlesproxy.com/可下载到最新版本(若不支持rMBP可拖到Re ... 
- 反向代理在Web渗透测试中的运用
		在一次Web渗透测试中,目标是M国的一个Win+Apache+PHP+MYSQL的网站,独立服务器,对外仅开80端口,网站前端的业务系统比较简单,经过几天的测试也没有找到漏洞,甚至连XSS都没有发现, ... 
- fiddler Android下https抓包全攻略
		fiddler Android下https抓包全攻略 fiddler的http.https的抓包功能非常强大,可非常便捷得对包进行断点跟踪和回放,但是普通的配置对于像招商银行.支付宝.陌陌这样的APP ... 
- 和我一起学习爬虫之HTTP/HTTPS抓包工具--Fiddler
		HTTP/HTTPS抓包工具--Fiddler Fiddler[ˈfɪdlə(r)] 1. HTTP代理神器Fiddler Fiddler是一款强大Web调试工具,它能记录所有客户端和服务器的HTTP ... 
- python多线程在渗透测试中的应用
		难易程度:★★★ 阅读点:python;web安全; 文章作者:xiaoye 文章来源:i春秋 关键字:网络渗透技术 前言 python是门简单易学的语言,强大的第三方库让我们在编程中事半功倍,今天, ... 
随机推荐
- Java基础——类与接口
			一.类与接口的关系 1.类与类的关系 继承关系,只能单继承,不能多继承:但是可以多层继承 2.类与接口的关系 实现关系,可以单实现,也可以多实现,还可以继承一个类的同时实现多个接口 3.接口与接口的关 ... 
- ansible 一 简介和部署
			一.Ansible的介绍 Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点.实现了批量系统配置 ... 
- Django项目常用的logging配置。
			做开发开不开日志,以下是我在工作中写Django项目常用的logging配置. LOGGING = { 'version': 1, 'disable_existing_loggers': False, ... 
- 5月2日 python学习总结  IO模型
			IO模型 1.阻塞IO 2.非阻塞IO 3.多路复用IO 4.异步IO 一.阻塞IO blocking IO的特点就是在IO执行的两个阶段(等待数据和拷贝数据两个阶段)都被block了. 实际上,除非 ... 
- Redis 系统学习目录
			Redis 系统学习目录 1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8. ... 
- sql server 2000 单主键高效分页存储过程 (支持多字段排序)
			sql server 2000 单主键高效分页存储过程 (支持多字段排序) Create PROC P_viewPage /* nzperfect [ ... 
- 半吊子菜鸟学Web开发1 --配置开发环境
			先说说我自己的情况,我算是一个半吊子菜鸟,对web开发熟练度为0,但是对熟悉C++和Python 所以这里开始记录我学习Web开发的历程,看看我这里学习的程序,能够学到什么地方. 首先是配置环境,我的 ... 
- 使用 RabbitMQ 有什么好处?
			(1)服务间高度解耦 (2)异步通信性能高 (3)流量削峰 
- 什么是编织(Weaving)?
			为了创建一个 advice 对象而链接一个 aspect 和其它应用类型或对象,称为编 织(Weaving).在 Spring AOP 中,编织在运行时执行. 
- OpenCV+QT5在Window下的环境配置记录
			在安装OpenCV时最需要注意的是,OpenCV库,也就是我们需要的dll和动态库需要我们使用CMake来生成. 虽然在官网上下载得到的文件中已经包含了库文件和.h等头文件,但是在具体开发中编译器编译 ... 
