自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

抓 Https 加密數(shù)據(jù),偷偷摸摸爽得很!

網(wǎng)絡(luò) 通信技術(shù)
Charles是可以抓取到HTTPS的明文信息的。在中間人場景中,它既作為客戶端發(fā)起請求,也作為服務(wù)端接收請求,然后在請求的轉(zhuǎn)發(fā)處獲取數(shù)據(jù)。

HTTPS是安全通道。如果瀏覽器導(dǎo)航欄前面有一個綠如A股的小鎖,那么感覺就會非常的放心。

把自己見不得人的小心思和污言穢語,統(tǒng)統(tǒng)用這個小鎖鎖起來,為所欲為,想想就讓人激動。

但是等等,Charles為什么能抓到HTTPS的包呢?

HTTPS簡單原理

我們希望數(shù)據(jù)傳輸過程,對用戶來說是個黑盒,對攻擊者來說也是個黑盒。這主要體現(xiàn)在兩方面。

  • 用戶不希望自己的敏感數(shù)據(jù)被獲取到。比如自己的賬號密碼,比如自己發(fā)給女友的聊騷數(shù)據(jù)。
  • 開發(fā)者不希望自己的數(shù)據(jù)被用戶獲取到。比如自己的驗簽方式,被破解了用戶就能干很多非法的事情。

HTTP協(xié)議屬于一問一答的協(xié)議,在傳輸過程中是以明文方式傳遞的。

如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報文,就可以直接讀懂其中的信息。比如通過代理方式或者局域網(wǎng)嗅探方式獲取了報文的內(nèi)容。

相關(guān)的工具有很多,比如wireshark、tcpdump、dsniff等。

圖片

但如果傳輸?shù)膬?nèi)容是加密的,那么即使你把所有的數(shù)據(jù)報文都抓到了,那么也沒有什么價值。

HTTPS就是一種傳輸加密數(shù)據(jù)的協(xié)議。如果我們在TCP與HTTP中間,加入一個TLS/SSL?層,那么就會變成HTTPS。

HTTPS包括握手階段和傳輸階段。其中握手階段是最重要的協(xié)商階段。

握手的目標(biāo),是安全的交換對稱密鑰,全程需要3個隨機數(shù)的參與。在Change Cipher Spec之后,傳輸?shù)木投际羌用芎蟮膬?nèi)容了。

這個過程可以使用WireShark抓包工具輕易抓取,有大量的文章分析握手過程,在此不再贅述。

圖片

當(dāng)然,HTTPS的效率是非常低的。這里稍微擴展一下。

HTTP3,也就是谷歌的QUIC,除了解決了隊頭阻塞問題,還可以作為TCP+TLS+HTTP/2?的一種替代方案。HTTP3默認(rèn)就是安全通道,采用UDP協(xié)議。在DH秘鑰交換算法的加持下,它可以減少連接建立時間 - 在常見情況下為 0 次RTT往返。

這比HTTPS的握手速度快多了。

圖片

Charles抓包

雖然HTTPS的傳輸過程是加密的,但如果我們就是請求的發(fā)起方,設(shè)備也在自己手里,去抓包HTTPS連接中的內(nèi)容,也是非常容易的。

這讓開發(fā)者很頭疼。比如我使用云平臺提供的AK、SK直接發(fā)起HTTPS調(diào)用,用戶是能夠抓到這兩個關(guān)鍵密碼的。所以一般開發(fā)者并不能直接把AK、SK在網(wǎng)絡(luò)上傳遞,即使這樣在功能上行得通。

我這里以在MacOS本機上抓包瀏覽器的HTTPS請求為例,來說明Charles的使用。

啟動Charles后,我們需要把它設(shè)置成系統(tǒng)代理。

圖片

然后,在Help/菜單下,找到Root證書進行安裝。

圖片

安裝完畢之后,我們還要信任這個證書。這樣,當(dāng)你的瀏覽器訪問我們的Charles代理時,就可以暢通無阻。

安裝到System Keychains中,而且一定要信任它哦。

圖片

通常情況下,我訪問一個HTTPS連接,抓到的內(nèi)容都是一團糟。

圖片

我們還差最后一步。默認(rèn)情況下,Charles并沒有任何過濾,我么還需要把要抓包的網(wǎng)址,加入HTTPS的代理配置中才可以。

右鍵找到這個連接,然后選擇啟動SSL代理即可。

圖片

此時,我們再看一下這些連接的內(nèi)容,就能夠變成人眼能夠識別的了。

圖片

當(dāng)然,電腦上的代理沒有什么意義。我們做代理,一般是想要抓取手機上的應(yīng)用產(chǎn)生的請求。

但方法是一樣的,你只需要把這個Root證書,安裝到你的手機中,然后信任它就可以了。

為什么能夠抓到數(shù)據(jù)?

在這個案例中,Charles是作為中間人而存在的。對于Charles來說,對于服務(wù)端的請求,是由它發(fā)起的。

你可以把它想象成一個瀏覽器,它發(fā)出的請求和返回的內(nèi)容,對于Charles自身來說自然是可見的。欺騙服務(wù)器很容易,重要的欺騙客戶端。

Charles通過偽造一個CA證書,來冒充一個服務(wù)端。當(dāng)瀏覽器或者移動手機訪問Charles冒充的服務(wù)端時,Charles會攜帶CA證書返回給客戶端。

對于普通的CA證書來說,瀏覽器和客戶端是不信任的。這也是為什么要進行HTTPS抓包,必須安裝CA證書的原因---我們需要把這個信任關(guān)系建立起來。

這兩部分是割裂的,可以說是由兩條完全不同的SSL通道。請求報文在全程是加密的,除了一個非常薄弱的交接點。

在通道的粘合處,所有的信息卻是明文的。Charles掌控了這個過程,自然就能夠把原始信息展示出來。

End

可以看到,Charles是可以抓取到HTTPS的明文信息的。在中間人場景中,它既作為客戶端發(fā)起請求,也作為服務(wù)端接收請求,然后在請求的轉(zhuǎn)發(fā)處獲取數(shù)據(jù)。

作為用戶,我們千萬不能隨意信任來歷不明的證書,否則你的很多隱私數(shù)據(jù)將暴露在陽光之下。

作為開發(fā)者,也不能把敏感數(shù)據(jù)直接放在URL或者請求體里,防止用戶抓包獲取到這些信息,對服務(wù)造成破壞。

當(dāng)然,在CN,隱私可能是個偽命題。就比如xjjdog,雖然我一直在隱藏自己,但還是有很多朋友知道我到底是不是帶把的。

這個時候,HTTPS就沒什么用。

作者簡介:小姐姐味道  (xjjdog),一個不允許程序員走彎路的公眾號。聚焦基礎(chǔ)架構(gòu)和Linux。十年架構(gòu),日百億流量,與你探討高并發(fā)世界,給你不一樣的味道。

責(zé)任編輯:武曉燕 來源: 小姐姐味道
相關(guān)推薦

2018-10-08 11:19:08

2020-12-03 18:18:46

微信表情下回

2018-06-19 08:18:45

影子IT網(wǎng)絡(luò)安全IT安全

2012-07-04 09:02:53

蘋果

2018-03-30 15:12:00

安全密鑰加密

2011-04-22 10:45:52

文件夾Windows

2017-10-09 10:56:49

Linux調(diào)試器處理變量

2011-04-26 13:21:18

2020-10-13 16:02:03

HTTPS淺析與抓包分

2020-07-22 14:30:29

JavaHTTPS加密

2020-10-16 08:02:00

Android系統(tǒng)

2023-05-29 08:12:38

2019-07-26 05:18:34

2023-11-07 07:21:04

2015-06-15 10:16:25

2014-07-07 10:04:32

2016-01-31 17:36:51

WiFi密碼

2021-06-28 07:13:35

Python工作996

2019-09-27 09:35:12

2014-01-10 09:38:19

點贊
收藏

51CTO技術(shù)棧公眾號