成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

公司到底能不能監控到微信聊天?

開發 前端
以前從來沒有分析過微信這類聊天軟件,大概率使用私有協議。而私有協議在協議分析軟件上的呈現,一般都是TCP封裝一長串字節流,而這些字節流究竟是什么內容,協議軟件無法給出答案。

 [[405647]]

有朋友私信問我一個問題,在公司用微信聊天,用公司網絡,公司能看到聊天內容嗎? 

坦率地說,以前從來沒有分析過微信這類聊天軟件,大概率使用私有協議。而私有協議在協議分析軟件上的呈現,一般都是TCP封裝一長串字節流,而這些字節流究竟是什么內容,協議軟件無法給出答案!看看協議分析軟件能否看到微信網頁版、手機APP版的聊天內容?

  一、網頁版微信 

1.協議分析結果

不知道大家看到“美女好[玫瑰]”哇,這個就是協議分析軟件分析出來的聊天內容。 

 

2.真實聊天內容 

[[405648]]

一摸一樣! 

3.實驗結論

協議分析軟件可以將聊天內容解密出來! 

4.實驗分析

網頁版微信通常是使用瀏覽器來與微信服務器通信的,而瀏覽器多種多樣,有Chrome、Firefox、IE等等,要想與不同的廠商瀏覽器通信,必須使用標準協議,而標準協議在協議分析軟件上是可以解開的。

考慮到網頁版的微信,可能會使用SSL/TLS加密聊天內容,需要用Fiddle作為中間人,用Fiddle偽造的證書來欺騙瀏覽器,讓瀏覽器誤以為Fiddle就是微信服務器。Fiddle再與微信服務器建立SSL/TLS加密通道,傳輸聊天內容。

  •  瀏覽器與Fiddle建立SSL/TLS加密通道
  •  Fiddle與微信服務器建立SSL/TLS加密通道
  •  Fiddle做為二傳手,將消息在兩條通道上進行傳遞,先解密,再加密
  •  Fiddle需要偽造微信服務器證書
  •  電腦需要安裝、信任Fiddle自簽名的根證書

二、手機版微信 

協議分析結果 

 

微信手機版沒有使用TLS + HTTP= HTTPS的加密傳輸方式,而是使用了HTTP的傳輸方式,如上圖所示。 

每一個報文大概是這個樣子的: 

除了HTTP 報文頭(HTTP Header)是明文的,HTTP報文體(HTTP Body)看起來是一堆雜亂無章的字節流。 

沒有找到聊天的任何內容。最最滑稽的是,當發送聊天內容時,Fiddle沒有任何反應! 

意味著發送聊天內容的報文既不是HTTP,也不是HTTPS,那很可能是TCP、或UDP協議原始(Raw)封裝。 

為了確認到底是TCP還是UDP傳輸報文,特意去了微信研發公眾號去確認,得到的確認是采用TCP傳輸。分為兩種連接方式:

  •  長連接:TCP + 私有協議 + MMTLS + 業務層
  •  短連接:TCP + HTTP + MMTLS + 業務層 

官方的口徑是,短連接是為了兼容老版本的軟件,而長連接完全是私有實現,所以造成Fiddle沒有捕獲到,畢竟Fiddle只能捕獲到HTTP或HTTPS,至于其它的協議壓根不在其感興趣范圍!

 于是,使用Wireshark捕獲微信長連接的TCP報文,確實捕獲到了,再怎么私有實現,總不能長翅膀飛!但是這些TCP報文沒有展示的意義,TCP頭之后字段全是雜亂無章的,這些都在預料之中!

 MMTLS是什么樣的存在?

MMTLS是TLS1.3版本的改良版,或者說簡化版。在微信決定使用MMTLS之前,TLS1.3版本長期逗留在草案狀態,沒有形成一個最終標準。于是微信決定采用TLS1.3草案中的標準,大刀闊斧砍掉客戶端認證這個環節,只保留服務器認證。

 手機微信APP里預置了微信服務器的兩件秘密武器:

  •  ECDSA公鑰
  •  靜態ECDH公鑰 

ECDSA公鑰是干嘛的?

ECDSA用于驗證服務器的真實身份,任何來自于服務器的MMTLS協商報文,只要使用ECDSA私鑰簽名的,ECDSA公鑰都可以解密。換句話說,如果簽名部分可以使用ECDSA公鑰解密,那就證明是真正微信服務器發送的! 

在微信的私有實現里,不需要CA,微信客戶端憑借預置的ECDSA公鑰完成服務器的認證!

 靜態ECDH公鑰又是干嘛的?

如果微信客戶端想最小延遲(0 RTT)發消息,可以直接生成自己的ECDH私鑰、公鑰、Nonce,再加上服務器預置的Nonce。就可以單方面計算出Pre-Master Key ,Master Key , Session Key,進而將消息加密發出。 

微信服務器收到消息的同時,一同收到的還有客戶端的ECDH公鑰、客戶端Nonce,服務器用自己的ECDH私鑰、預留在客戶端的Nonce,這四個參數,計算出可以解密消息的Key,并將消息解密出。 

MMTLS沒有給消息增加額外的延遲,稱這種通信為 0 RTT通信。

 由于微信客戶端,強制使用服務器的ECDSA公鑰來認證服務器的身份,所以Fiddle壓根沒法欺騙微信APP。如果Fiddle強制替換,微信客戶端會放棄連接服務器,造成的后果就是微信永遠登錄不了服務器! 

微信APP之所以可以實現私有協議,是因為服務器、客戶端都是微信的代碼,再怎么私有,理解起來也沒有任何障礙!

 三、最終結論

  1.  微信網頁版:使用公司網絡,公司可以看到聊天內容,無論使用的是公司電腦還是個人電腦。但是如果使用4G網絡,流量沒走公司,公司自然也無法看到聊天內容。
  2.  微信手機版:使用私有協議通信,手機APP嵌入了服務器的公鑰,APP只認與這個公鑰一一對應的私鑰簽名。使用其它私鑰簽名的一概不認,所以無法欺騙微信APP。使用微信手機版聊天是安全的,無論是使用公司網絡還是4G網絡,公司都無法看到聊天內容。 

 

責任編輯:龐桂玉 來源: 前端大全
相關推薦

2021-05-08 11:32:42

監控信聊天

2013-04-19 10:42:02

打車軟件大數據

2025-04-22 08:00:00

2024-04-26 09:37:43

國產數據庫開發者

2022-11-07 08:36:11

2025-06-13 02:00:00

系統cookieURL

2018-03-05 07:38:11

2021-07-15 17:20:36

微信QQ音樂移動應用

2009-07-16 22:39:11

2012-03-05 10:36:30

云計算節能減排數據中心

2018-12-10 09:14:56

AI教育教育資源留守兒童

2019-01-24 09:53:49

2019-11-21 09:25:23

AI 數據人工智能

2021-05-11 15:50:52

比特幣加密貨幣貨幣

2016-05-19 17:10:27

銀行

2021-02-26 21:25:08

比特幣投資貨幣

2022-10-20 08:00:37

機器人ZadigChatOps

2020-10-16 18:33:18

Rust語言前端開發

2021-05-14 07:18:07

監控微信聊天

2019-07-30 12:40:02

QQ賬號互了umqq
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产精品一区二区三区 | 二区高清| 黄色免费在线观看网站 | 国产精品99久久久久久久久久久久 | 亚洲韩国精品 | 久久免费香蕉视频 | 美女视频一区 | 91精品国产乱码久久久久久 | 欧美精品久久久久久 | 久久久男人的天堂 | 婷婷激情在线 | 久久久999精品 | 久热久热 | www.欧美 | 麻豆视频在线免费看 | 中文字幕在线观看一区二区 | 日韩欧美国产成人一区二区 | 午夜理伦三级理论三级在线观看 | 亚洲手机视频在线 | 91精品国产自产在线老师啪 | 欧美日韩中文在线 | 久久久九九 | 国内精品久久久久久影视8 最新黄色在线观看 | 免费a国产 | 美国十次成人欧美色导视频 | 国产露脸对白88av | 国产一区二区精品 | 嫩草懂你的影院入口 | 成人精品一区二区三区中文字幕 | 国产一区二区不卡 | 日韩精品一区二区三区在线播放 | 久免费视频 | 日本高清视频在线播放 | 麻豆视频国产在线观看 | 在线毛片网 | 欧美视频在线播放 | 色频| 日日干天天操 | 国产精品久久九九 | 国产成人精品一区二区三区在线 | 91精品久久久久久久久99蜜臂 |