您好,登錄后才能下訂單哦!
在我之前的一篇文章中已經介紹了一種解密HTTPS流量的一種方法,大致方法就是客戶端手動信任中間人,然后中間人重新封包SSL流量。
文章地址: http://professor.blog.51cto.com/996189/1746183
--------------------------------------------------------------------------------------
今天給大家介紹另外一種解密HTTPS流量的方法。
Wireshark 的抓包原理是直接讀取并分析網卡數據,要想讓它解密 HTTPS 流量,有兩個辦法:
1)如果你擁有 HTTPS 網站的加密私鑰,可以用來解密這個網站的加密流量;
2)某些瀏覽器支持將 TLS 會話中使用的對稱密鑰保存在外部文件中,可供 Wireshark 加密使用。
本文重點介紹第二種方法。
Firefox 和 Chrome 都支持生成上述第二種方式的文件,具體格式見這里:NSS Key Log Format。但 Firefox 和 Chrome 只會在系統環境變量中存在 SSLKEYLOGFILE 路徑時才會生成該文件,先來加上這個環境變量(以Windows為例):
打開設置環境變量窗口:systempropertiesadvanced.exe
添加環境變量(可以為系統環境變量 也可以是用戶環境變量)
確定保存。
然后新打開個cmd窗口,輸入 echo %SSLKEYLOGFILE% 回車,看是否能打印出剛剛設置的路徑。
如果不能打印出路徑,那么你應該檢查下是否設置正確。
設置完成過后,完全退出Chrome 或者 Firefox程序,然后重新打開。(我這里就用chrome演示了)
打開瀏覽器,訪問一個HTTPS 網頁,然后打開剛才SSLKEYLOGFILE環境變量值的文件路徑就可以看到TLS協商的隨機字符串記錄。
打開你的Wireshark (推薦最新的2.0+版本)
打開首選項,修改協議 -》 SSL設置
最后一欄 Pre-Master-Securet log file添上剛才SSLKEYLOGFILE變量設置的路徑的日志文件。
開始抓包:
為了避免抓到很多其他的數據包,可以添上捕獲過濾器條件
然后瀏覽器打開一個HTTPS頁面,我這里就淘寶為例。
可以看到我又加了一個 http 的顯示過濾,光標停留的那一條數據正好是一個 服務端返回的302跳轉。
到此就完成了客戶端對HTTPS流量的解密,大家可以自己動手試一試。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。