2015-05-11 54 views
1

如果有人嗅探網絡流量,他可以重新發送完全相同的加密請求,他嗅探(而不是篡改它)到服務器?例如,請求可能會激活服務器上的某個過程,因此即使它使用HTTPS,他也可以重新激活該過程,因爲他擁有請求內容?HTTPS請求可以被嗅探並重新提交嗎?

+0

http://stackoverflow.com/questions/893959/if-you-use-https-will-your-url-params-will-be-safe-from-sniffing – tharif

+0

@utility - 該鏈接說,數據是「使用僅在您和服務器之間共享的私鑰加密的二進制數據流」,問題是如果有其他人將相同的數據發送到服務器,它是否會被正確解密並視爲有效請求(因爲服務器知道最初加密數據的私鑰)? – BornToCode

+0

如果您的公司,教育機構或其他互聯網連接提供商通過組策略進行安裝或要求您在計算機或瀏覽器上安裝中間證書,則他們可以嗅探您的流量:https://www.grc.com/fingerprints。 htm – LaJmOn

回答

2

這被稱爲一個Replay Attack

重放攻擊(也稱爲播放攻擊)是其中一個有效的數據傳輸被惡意或欺詐重複或延遲網絡攻擊的一種形式。

SSL/TLS固有地保護您的連接免受重放攻擊,因此HTTPS上的任何內容都受到保護。但是,如果有一個代理服務器(可能是透明的),並且瀏覽器信任SSL證書(例如,在每個計算機上安裝了組織簽署的根證書的公司環境中),那麼這將會能夠重放HTTPS流量。

+0

請您詳細說明SSL如何執行此操作?它是否使用一些加密隨機數?如果是的話,它「存儲」它以確定它已被使用過一次? – BornToCode

+1

從[RFC 4346](http://bit.ly/1zVQyCN):'master_secret與ClientHello.random和ServerHello.random進行散列,爲每個連接生成唯一的數據加密密鑰和MAC機密。爲了防止消息重播或修改攻擊,根據MAC祕密,序列號,消息長度,消息內容和兩個固定字符串計算MAC。它不被存儲,但是如果攻擊者重放相同的'ClientHello'消息,服務器將在'ServerHello'中回覆一個不同的隨機值,因此MAC祕密將會不同,因此加密.. – SilverlightFox

+0

..密鑰會有所不同,因此任何嘗試重放攻擊的服務器都不會理解新連接。 – SilverlightFox

0

那麼答案取決於誰可以攻擊你的系統:如果用戶使用您的網頁或應用程序是攻擊者的明確回答是YES,請求訪問數據

如果本地系統管理員必須將其視爲潛在攻擊者,則答案爲YES。

如果你在談論一個只能訪問加密數據包的外部攻擊者(例如互聯網訪問提供者),那麼答案是NO。

您始終可以通過解密代理來記錄所有請求和響應數據,從而重定向HTTPS流量。客戶端只需接受/安裝/信任代理的證書。

+0

那麼,如果攻擊者將他接入的這些加密數據包發送給服務器,並將其「按原樣」發送給服務器,會發生什麼? – BornToCode

+1

沒有。由於服務器端使用的隨機數(32位),SSLv3/TLS可防止重放攻擊。 – Robert