<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ## 什么是HTTP劫持? 在用戶的客戶端與其要訪問的服務器經過網絡協議協調后,二者之間建立了一條專用的數據通道,用戶端程序在系統中開放指定網絡端口用于接收數據報文,服務器端將全部數據按指定網絡協議規則進行分解打包,形成連續數據報文。 ## HTTP網絡劫持的原理 在用戶的瀏覽器連上被訪問的網站服務器,發送了HTTP請求后,運營商的路由器會首先收到此次HTTP請求,之后運營商路由器的旁路設備標記此TCP連接為HTTP協議,之后可以搶在網站服務器返回數據之前發送HTTP協議的302代碼進行下載軟件的劫持,瀏覽器收到302代碼后就會跳轉到錯誤的軟件下載地址下載軟件了,隨后網站服務器的真正數據到達后反而會被丟棄。或者,旁路設備在標記此TCP連接為HTTP協議后,直接返回修改后的HTML代碼,導致瀏覽器中被插入了運營商的廣告,隨后網站服務器的真正數據到達后最終也是被丟棄。 從上述原理中看出,如果需要進行HTTP劫持,首先需要進行標記:如果是HTTP協議,那么進行劫持,否則不進行劫持。 常見的http劫持有DNS劫持和內容劫持。 ### DNS劫持 在瀏覽器輸入如下域名 `www.test.com`,那瀏覽器要打開這個網站,首先要解析域名`www.test.com`,結果這個域名被黑客劫持到他的私人服務器1.2.3.4,結果我的瀏覽器和他 的私人服務器1.2.3.4建立SSL連接,他的服務器1.2.3.4也和www.test.com建立SSL的連接,我收發的數據都通過他的服務器1.2.3.4中轉,也就是黑客的服務器1.2.3.4相當于一個https代理服務器,結果我收發的所有數據,他都能看到。這種攻擊就是中間人攻擊,跳轉1.2.3.4就是DNS劫持,DNS被劫持到一個非源端的IP上。 1. 中間人截取客戶端發送給服務器的請求,然后偽裝成客戶端與服務器進行通信;將服務器返回給客戶端的內容發送給客戶端,偽裝成服務器與客戶端進行通信。 2. 通過這樣的手段,便可以獲取客戶端和服務器之間通信的所有內容。 3. 使用中間人攻擊手段,必須要讓客戶端信任中間人的證書,如果客戶端不信任,則這種攻擊手段也無法發揮作用。 ### 內容劫持 作為中間人,沒有服務器的私鑰,是不能解密客戶端發送的內容的,若沒有客戶端自己生成的秘鑰,就不能解密客戶端發送的內容 PS: 1.CA證書保證了公鑰的可靠性。 2.服務端私鑰+公鑰的非對稱加解密保證了客戶端生成的隨機數傳輸安全,不會被中間人攔截獲取。但是非對稱加密對服務端開銷大。 3.所以利用隨機數的對稱加密保證后續通訊的安全性,也可以降低服務器的解密開銷。 4.HTTPS只針對傳輸內容進行加密,保證的是客戶端和網站之間的信息就算被攔截也無法破解。如果不是全站HTTPS,僅僅只是在登錄頁采用HTTPS,那些HTTP連接的頁面同樣是危險的,從HTTP->HTTPS跳轉依然可能被劫持。 --- ## 如何預防HTTP劫持 因為使用中間人攻擊,必須讓客戶端信任中間人的證書 1、證書校驗:針對安全性要求比較高的 app,可采取客戶端預埋證書的方式鎖死證書,**只有當客戶端證書和服務端的證書完全一致的情況下才允許通信**,如一些銀行類的app,但這種方式面臨一個問題,證書過期的問題,因證書有一定的有效期,當預埋證書過期了,只有通過強制更新或者要求用戶下載證書來解決 2、域名檢驗 ## HTTP被劫持怎么辦? 如果確認遭遇了HTTP劫持,可以向ISP(互聯網服務提供商,即向廣大用戶綜合提供互聯網接入業務、信息業務、和增值業務的電信運營商。)客服強烈投訴,來達到免于被劫持的目的。因為劫持技術本身設計中包括類似黑名單的功能,如果收到寬帶用戶的強烈反對,ISP會將該用戶放入"黑名單"過濾掉,于是用戶在短期內就不會遇到劫持的情況了。 HTTPS的出現對利用網絡劫持的企業來說,無疑是一個巨大的打擊。HTTPS的出現,通過對數據的加密,使得第三方難以修改我們的數據內容。就像字條上的文字只有甲方跟丙方能夠看懂,作為乙方根本不知道紙條上寫的是什么內容,就不從下手對內容進行修改。同時,給字條加上信封,再加上一次性的印戳,使得乙方根本無法看到字條上的內容,因為一旦拆開信封,丙方就知道自己的信息被第三方看到了,從而對紙條內容產生懷疑。SSL證書就像信封,把我們的數據放在里面,只有指定的一方可以解讀這個數據,一旦數據被第三方劫持,接受數據的用戶就會產生不信任,從而丟棄數據。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看