2010-05-22 78 views
14

我在工作中使用gmail,但在訪問第一個網頁時需要輸入代理密碼。密碼在瀏覽器內部被詢問。我從代理獲得一份證書,我必須接受該證書才能使互聯網連接正常工作。可以通過中間人攻擊劫持HTTPS連接嗎?

在這種情況下,可以跟蹤我的HTTPS連接,Gmail和瀏覽器之間的連接嗎?

+2

超級用戶可能是這個問題更好的論壇,但我認爲任何開發https網站的人都會感興趣。只是提到一個問題的前綴「辯論:」可能是一個確定的火災方式,將它關閉爲主觀和爭論性的! – 2010-05-22 16:53:07

+0

@Martin Smith他將從程序員那裏得到更好的答案。 – rook 2010-05-22 18:31:13

+0

代理服務器是否向您顯示了您不得不接受的gmail.com假證書?我認爲您正在接受代理服務器的SSL證書,而不是您正在訪問的最終網站。你能證實這一點嗎? – 2010-05-22 21:32:06

回答

11
Fiddler

描述它是這樣的:

問:HTTPS協議被設計爲防止交通觀看和篡改。鑑於此,Fiddler2如何調試HTTPS流量?

答:Fiddler2依靠「中間人」方式來進行HTTPS攔截。對於您的網絡瀏覽器,Fiddler2聲稱是安全的Web服務器,而對於Web服務器,Fiddler2模仿Web瀏覽器。爲了裝扮成Web服務器,Fiddler2動態生成HTTPS證書。

Fiddler的證書不受信任(因爲Fiddler不是受信任的根證書頒發機構),因此當Fiddler2攔截您的流量時,您會在瀏覽器中看到HTTPS錯誤消息,如下所示:

+1

+1。當然,如果您接受提琴手證書,那麼您將看不到HTTPS錯誤消息。 – 2010-05-22 17:12:29

+1

提琴手導致瀏覽器拋出一個錯誤,這就是https的點。然而,** sslstrip **可以繞過https而不會引發錯誤。你應該閱讀我的文章。 – rook 2010-05-22 18:30:37

+0

@Rook - 完全同意你的看法。我花了很多時間試圖用paros代理和mitm代理來壓制不可信的ssl證書警告,但最後只是使用sslstrip才實現了它。 – Myxtic 2013-04-22 05:24:56

2

是的,他們可以。您可以通過下載Fiddler並使用它來解密https流量來查看。提琴手頒發自己的證書,並在中間扮演一個男人。您需要在瀏覽器中查看證書,看它是否實際由gmail發佈。

+0

這不證明你可以在https上執行一箇中間人,也許小提琴手可以做到這一點,因爲它駐留在瀏覽器內。在這種情況下,它不再被稱爲中間人攻擊,而是一種人在瀏覽器中的攻擊(不是開玩笑)。 如果小提琴手不依賴於瀏覽器中的內容,請提供更多關於如何完成此操作的細節。以及這是如何fidler – Henri 2010-05-22 16:55:13

+0

@亨利 - 看到我的評論給你的答案。 – 2010-05-22 16:59:47

+0

是的,但fidderl的攻擊會發出警告,以便Https正在完成其工作。 sslstrip可以一起繞過這個警告。 – rook 2010-05-22 18:29:13

1

似乎重新談判是TSLv1中的一個弱點(見TLS renegotiation attack. More bad news for SSL)。

+0

這是,但這不是真的有關。 – Henri 2010-05-22 16:49:17

+0

+1比提琴手更酷的攻擊。 sslstrip踢屁股!去年我在黑帽時看到他的演講。 – rook 2010-05-22 18:32:15

+0

@亨利你需要看到Moxie Marlenspike的談話,然後刪除你的評論。 – rook 2010-05-22 18:33:12

-1

它不能被跟蹤gmail網絡服務器和你的電腦之間,但一旦它在pc內,它可以被跟蹤。我不明白兩個人如何聲稱可以使用mitm跟蹤https,因爲https的全部用途是防止此類攻擊。

問題是,所有的HTTP級別的消息都是加密的,而且是mac-ed。由於證書信任鏈,您不能僞造證書,所以不應該可能在中間執行一個人。

那些聲稱有可能的人,能否請你詳細說明如何以及爲什麼可能以及如何規避現有的對策?

+2

OP說:「我從代理處收到一張我必須接受的證書才能使互聯網連接正常工作。」我認爲瀏覽器 - >代理使用該證書進行https加密。 *不* gmail的。然後在代理處進行解密,並在對https執行https請求時重新進行加密。通過點擊掛鎖圖標並查看證書,應該可以看到這一點。 – 2010-05-22 16:54:44

0

正如其他答案(也讀here)指出的那樣,它確實「在中間」工作(即排除捕獲發生在終點之一,瀏覽器內部或內部Web服務器),必須設置某種類型的代理服務器,這些代理服務器與瀏覽器和服務器通信,並假裝成爲另一端。但是,您的瀏覽器(和ssl)足夠聰明,可以認識到代理向您發送的證書(「說:我是gmail」)是非法的,即未由受信任的根證書頒發機構簽名。然後,只有在用戶明確接受不受信任的證書時,或者將代理使用的CA插入瀏覽器中的受信任CA註冊表時,才能使用該功能。總之,如果用戶正在使用乾淨/可信的瀏覽器安裝,並且他拒絕不受信任的權威機構頒發的證書,那麼「中間」人不能解密https通信。

+0

從問題:「我從代理處收到一份證書,我必須接受該證書才能使互聯網連接正常工作。」 – 2010-05-22 17:38:59

11

跟蹤?那麼即使https加密流量,你仍然知道雙方的IP地址(Gmail和瀏覽器)。HTTPS不能解決這個問題,但是加密的不同組合已經創建了The Onion Router(TOR),這無法找到服務器和客戶端。

在攻擊者嘗試使用MITM HTTPS的「正常」情況下,瀏覽器應該拋出證書錯誤。這是由PKI支持的SSL的重點。 但是2009年的 Moxie Marlenspike給出了一個殺手Blackhat的談話,他可以在沒有任何警告的情況下使用MITM HTTPS。他的工具被稱爲SSLStrip,我強烈推薦觀看該視頻。

Google開發了一個很好的SSLStrip解決方案。它叫做STS,你應該在你的web應用程序的全部上啓用它。目前sts只支持Chrome,但Firefox正在努力支持這一功能。最終所有瀏覽器應該支持它

+0

爲SSLStrip獲得+1。它可以工作99%的時間,但是如果用戶*直接在瀏覽器中輸入https://,它將無法工作。如果第一個請求到服務器是通過http,SSLStrip才起作用。 – 2010-05-22 21:28:25