http劫持

做者:易心玄 連接:http://www.zhihu.com/question/24484809/answer/70126366 來源:知乎 著做權歸做者全部,轉載請聯繫做者得到受權。瀏覽器

首先fiddler截獲客戶端瀏覽器發送給服務器的https請求, 此時還未創建握手。緩存

第一步, fiddler向服務器發送請求進行握手, 獲取到服務器的CA證書, 用根證書公鑰進行解密, 驗證服務器數據簽名, 獲取到服務器CA證書公鑰。安全

第二步, fiddler僞造本身的CA證書, 冒充服務器證書傳遞給客戶端瀏覽器, 客戶端瀏覽器作跟fiddler同樣的事。服務器

第三步, 客戶端瀏覽器生成https通訊用的對稱密鑰, 用fiddler僞造的證書公鑰加密後傳遞給服務器, 被fiddler截獲。cookie

第四步, fiddler將截獲的密文用本身僞造證書的私鑰解開, 得到https通訊用的對稱密鑰。網絡

第五步, fiddler將對稱密鑰用服務器證書公鑰加密傳遞給服務器, 服務器用私鑰解開後創建信任, 握手完成, 用對稱密鑰加密消息, 開始通訊。網站

第六步, fiddler接收到服務器發送的密文, 用對稱密鑰解開, 得到服務器發送的明文。再次加密, 發送給客戶端瀏覽器。搜索引擎

第七步, 客戶端向服務器發送消息, 用對稱密鑰加密, 被fidller截獲後, 解密得到明文。加密

因爲fiddler一直擁有通訊用對稱密鑰, 因此在整個https通訊過程當中信息對其透明。操作系統

下面的文章有詳細說明

HTTPS 可否避免流量劫持?

近日,看了一篇關於流量劫持的文章《安全科普:流量劫持能有多大危害?》,做者EtherDream以圖文並茂的形式詳細講解了流量劫持及相關知識。「在現在這個講究跨平臺、體驗好,並有雲端支持的年代,WebApp 愈來愈火熱。各類應用紛紛移植成網頁版,一些甚至替代了客戶端。同時,也造就了流量劫持史無前例的勢頭。」小編總結,這裏提到的流量劫持危害,大多跟Http明文傳輸協議的薄弱有關係。

咱們來看看流量劫持會帶來什麼危害?

不一樣的劫持方式,得到的流量也有所差別。DNS 劫持,只能截獲經過域名發起的流量,直接使用 IP 地址的通訊則不受影響;CDN 入侵,只有瀏覽網頁或下載時纔有風險,其餘場合則毫無問題;而網關被劫持,用戶全部流量都難逃魔掌。

一、http易致在線應用被劫持

網頁技術在近些年裏有了很大的發展,但其底層協議始終沒有太大的改進 —— HTTP,一種使用了 20 多年古老協議。在 HTTP 裏,一切都是明文傳輸的,流量在途中可爲所欲爲的被控制。而在線使用的 WebApp,流量裏既有通訊數據,又有程序的界面和代碼,劫持簡直垂手可得。所以,劫持網頁流量成了各路黑客們的鐘愛,一種可在任意網頁發起 XSS 的入侵方式。

二、公共場合使用http,不登錄也會被劫持

在本身的設備上,你們都會記住各類帳號的登陸狀態,反正只有本身用,也沒什麼大不了的。然而,在被劫持的網絡裏,即便瀏覽再日常不過的網頁,或許一個悄無聲息的間諜腳本已暗藏其中,正偷偷訪問你那登陸着的網頁,操控起你的帳號了。

三、http狀態下,Cookie 記錄或瀏覽器自動填表單,都會致使帳號密碼被截獲

http狀態下,cookie記錄的都是明文的帳號密碼,被劫持泄露後,即便數量很少,也能經過社工獲取到用戶的更多信息,最終致使更嚴重的泄露。

四、HTTP 緩存投毒

HTTP這種簡單的純文本協議,幾乎沒有一種簽名機制,來驗證內容的真實性。即便頁面被篡改了,瀏覽器也徹底沒法得知,甚至連同注入的腳本也一塊緩存起來。但凡具有可執行的資源,均可以經過預加載帶毒的版本,將其提早緩存起來。

五、Https能避免劫持嗎?

能!但前提是必須用受信任的SSL證書。

不一樣於簡單的Http代理,HTTPS 服務須要權威CA機構頒發的SSL證書纔算有效。自簽證書瀏覽器不認,並且會給予嚴重的警告提示。而遇到「此網站安全證書存在問題」的警告時,大多用戶不明白是什麼狀況,就點了繼續,致使容許了黑客的僞證書,HTTPS 流量所以遭到劫持。

若是重要的帳戶網站遇到這種狀況,不管如何都不應點擊繼續,不然大門鑰匙或許就落入黑客之手。

這裏所說的權威CA機構是指已經經過WebTrust國際認證,根證書由微軟預置,受微軟等各種操做系統、主流移動設備和瀏覽器信任的CA機構;在中國還要附加一項,就是要拿到工信部許可的CA牌照;這樣的CA機構,纔有權利簽發各種數字證書,好比wosign(沃通)。

自簽證書是指不受信任的任意機構或我的,本身隨意簽發的證書,容易被黑客僞造替換。

六、全站Https的重要性

狀況一:從http頁面跳轉訪問https頁面

事實上,在 PC 端上網不多有直接進入 HTTPS 網站的。例如支付寶網站,大可能是從淘寶跳轉過來,而淘寶使用的還是不安全的 HTTP 協議。若是在淘寶網的頁面裏注入 XSS,屏蔽跳轉到 HTTPS 的頁面訪問,用 HTTP 取而代之,那麼用戶也就永遠沒法進入安全站點了。

儘管地址欄裏沒有出現 HTTPS 的字樣,但域名看起來也是正確的,大多用戶都會認爲不是釣魚網站,所以也就忽視了。

所以,只要入口頁是不安全的,那麼以後的頁面再安全也無濟於事。

狀況二:http頁面重定向到https頁面

有一些用戶經過輸網址訪問的,他們輸入了 http://www.alipaly.com 就敲回車進入了。然而,瀏覽器並不知道這是一個 HTTPS 的站點,因而使用默認的 HTTP 去訪問。不過這個 HTTP 版的支付寶的確也存在,其惟一功能就是重定向到本身 HTTPS 站點上。

劫持流量的中間人一旦發現有重定向到 HTTPS 站點的,因而攔下重定向的命令,本身去獲取重定向後的站點內容,而後再回復給用戶。因而,用戶始終都是在 HTTP 站點上訪問,天然就能夠無限劫持了。

國外各大知名網站(PayPal,Twitter,Facebook,Gmail,Hotmail等)都經過Always on SSL(全站https)技術措施來保證用戶機密信息和交易安全,防止會話攻擊和中間人攻擊。

七、搜索引擎劫持

事實上,HTTPS 站點還有個很大的來源 —— 搜索引擎。遺憾的是,國產搜索引擎幾乎都不提供 HTTPS 服務。

谷歌已開始提供https加密搜索方式。Google在官方博客介紹說,普通的HTTP瀏覽是不安全的,用戶和服務器之間的通信會被第三方監聽和干擾,對於Google來講,你在Google搜索的詞語會被第三方截獲,若是第三方不但願你在Google搜索這個詞語,還能夠經過技術手段阻止用戶的搜索行爲。使用HTTPS的Google搜索中,用戶搜索的信息將沒法被第三方獲取,也不會出現數據泄漏的問題,搜索結果頁面也不會被幹擾或篡改。

結語

從上面的各種劫持案例中,咱們能夠看出,Https是頗有效的流量劫持防範措施,不管是網絡服務提供商仍是廣大網民,爲咱本身的賬戶安全和權益,都要造成使用https訪問網站的習慣和意識,重要的網站一定使用 HTTPS 協議,登錄時需格外留意!

相關文章
相關標籤/搜索