最近有朋友私信问我一个问题,在公司用微信聊天,用公司网络,公司能看到聊天内容吗?
坦率地说,以前从来没有分析过微信这类聊天软件,大概率使用私有协议。而私有协议在协议分析软件上的呈现,一般都是TCP封装一长串字节流,而这些字节流究竟是什么内容,协议软件无法给出答案!看看协议分析软件能否看到微信网页版、手机APP版的聊天内容?一、网页版微信 1.协议分析结果不知道大家看到“美女好[玫瑰]”哇,这个就是协议分析软件分析出来的聊天内容。 2.真实聊天内容 一摸一样! 3.实验结论协议分析软件可以将聊天内容解密出来! 4.实验分析网页版微信通常是使用浏览器来与微信服务器通信的,而浏览器多种多样,有Chrome、Firefox、IE等等,要想与不同的厂商浏览器通信,必须使用标准协议,而标准协议在协议分析软件上是可以解开的。考虑到网页版的微信,可能会使用SSL/TLS加密聊天内容,需要用Fiddle作为中间人,用Fiddle伪造的证书来欺骗浏览器,让浏览器误以为Fiddle就是微信服务器。Fiddle再与微信服务器建立SSL/TLS加密通道,传输聊天内容。
- 浏览器与Fiddle建立SSL/TLS加密通道
- Fiddle与微信服务器建立SSL/TLS加密通道
- Fiddle做为二传手,将消息在两条通道上进行传递,先解密,再加密
- Fiddle需要伪造微信服务器证书
- 电脑需要安装、信任Fiddle自签名的根证书
- 长连接:TCP + 私有协议 + MMTLS + 业务层
- 短连接:TCP + HTTP + MMTLS + 业务层
MMTLS是什么样的存在?MMTLS是TLS1.3版本的改良版,或者说简化版。在微信决定使用MMTLS之前,TLS1.3版本长期逗留在草案状态,没有形成一个最终标准。于是微信决定采用TLS1.3草案中的标准,大刀阔斧砍掉客户端认证这个环节,只保留服务器认证。 手机微信APP里预置了微信服务器的两件秘密武器:
- ECDSA公钥
- 静态ECDH公钥
-
微信网页版:使用公司网络,公司可以看到聊天内容,无论使用的是公司电脑还是个人电脑。但是如果使用4G网络,流量没走公司,公司自然也无法看到聊天内容。
-
微信手机版:使用私有协议通信,手机APP嵌入了服务器的公钥,APP只认与这个公钥一一对应的私钥签名。使用其它私钥签名的一概不认,所以无法欺骗微信APP。使用微信手机版聊天是安全的,无论是使用公司网络还是4G网络,公司都无法看到聊天内容。
????????????????????
送书福利
推荐理由:Google人工智能实战宝典,本书以“更深的网络带来更高的准确率”的信念贯穿全书,以代表人类在计算机视觉领域很高水平的ImageNet挑战赛为线索。
推荐理由:本书介绍新Netty框架核心概念、设计原理,并通过详细示例对知识点进行讲解。通过底层架构原理+大量即用型优质代码+行业一线公司研究案例,手把手教你构建大数据场景下高并发、高性能、高可用的异步、非阻塞分布式系统
活动规则:
活动截止时将从精选留言中会选出 4位,中奖者可在上方书单中任意一本书籍,我们包邮赠送,每样两本,先到先得。
留言要求:
-
内容与本文或和书相关的走心留言
-
每人仅限精选一条留言
-
开奖后2天未联系视为自动放弃
截止时间: 2021 年 5 月 26 日 16:00 整
-END-
关注视频号,参与留言送书活动
↓↓↓↓
你可能错过的精彩内容
一个认真分享的小编
前沿技术 /名企内推 /干货分享
商务合作:dot3721长按左侧二维码添加点分享
点点赞
点在看