<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        中間人攻擊之html注入_html/css

        來源:懂視網 責編:小采 時間:2020-11-27 16:18:03
        文檔

        中間人攻擊之html注入_html/css

        中間人攻擊之html注入_html/css_WEB-ITnose:0×00 序 很久之前寫的文章,現在拿出來分享。事先聲明本人是一枚愛搗鼓的小菜,所以對泄漏資料的分析難免會有疏忽或著錯誤,望各位圍觀的大俠手下留情。 今年7月5日晚,一家意大利軟件廠商被攻擊,其掌握的387.05GB漏洞(包括0day)數據泄露出來,由
        推薦度:
        導讀中間人攻擊之html注入_html/css_WEB-ITnose:0×00 序 很久之前寫的文章,現在拿出來分享。事先聲明本人是一枚愛搗鼓的小菜,所以對泄漏資料的分析難免會有疏忽或著錯誤,望各位圍觀的大俠手下留情。 今年7月5日晚,一家意大利軟件廠商被攻擊,其掌握的387.05GB漏洞(包括0day)數據泄露出來,由

        0×00 序

        很久之前寫的文章,現在拿出來分享。事先聲明本人是一枚愛搗鼓的小菜,所以對泄漏資料的分析難免會有疏忽或著錯誤,望各位圍觀的大俠手下留情。

        今年7月5日晚,一家意大利軟件廠商被攻擊,其掌握的387.05GB漏洞(包括0day)數據泄露出來,由此可能引發的動蕩,引起了業界一片嘩然。因為所有文件加起來的大小整整有387.05GB,光下載就得好久好久。在這里我提供一個完整版的百度網盤下載地址,有興趣的同學可以直接去下載:http://yun.baidu.com/s/1jG8fOxS 。據說之所以這么大是因為里面有很多的郵件。但你不用擔心你的小水管,有好人整理了一個只有1.3G的精華版。在這里我也提供一個百度網盤下載地址:http://yun.baidu.com/s/1eQDFm18 。在下載完完整版之前,我們就先拿精華版解解饞吧。

        0×01 前言

        這里的IPA不是Apple程序應用文件iPhoneApplication的縮寫,而是Injection Proxy Appliance的縮寫,Injection Proxy Appliance是Galileo Remote Control System(伽利略遠程控制系統,簡稱RCS)的一部分,其主要作用是:

        IPA是Hacking Team RCS系統用于攻擊的安全設備,并且其中使用中間人攻擊技術和streamline injection機制,它可以在不同的網絡情況下透明地進行操作,無論是在局域網還是內部交換機上。IPA還可從監控的網絡流量中檢測HTTP連接,對其進行中間人攻擊,主要有三種攻擊方式:注入HTML、注入EXE和替換攻擊。當監控的HTTP連接命中預先設置的規則時,IPA 將執行注入攻擊。IPA 可以設置需要注入的用戶(如IP地址),資源(如可執行文件)等規則。

        其vector-ipa的源代碼在Hacked Team\rcs-dev\share\HOME\Fabio\archive\projects\pc\RCSRedirect文件夾中 ,其內容如圖1。

        圖1 vector-ipa內容

        通過源碼發現,這是在Linux環境下使用Makefile文件對整個工程進行編譯、連接等的C代碼,并且還使用了openssl庫。

        0×02 攻擊原理

        基于HTTP/1.0協議的客戶機和服務器信息交換的過程包括四個步驟:

        (1)建立連接;(2)發送請求;(3)回送響應信息;(4)關閉連接。

        IPA通過代理的模式監控的網絡流量中檢測HTTP連接,并劫持HTTP連接的Http Header,通過修改Http Header內容實現攻擊,其攻擊流程如圖2。

        圖2 IPA進行http注入攻擊流程

        從圖2中可知,其攻擊的最主要的兩個步驟就是 修改HTTP Request Header 和 將木馬寫入HTTP Reply Header 。下面重點介紹一下這兩步。

        0×03 HTTP Request Header

        1、將HTTP協議從1.1降到1.0以避免分塊編碼和其他問題

        首先,HTTP/1.0和HTTP/1.1的其中一個區別就是:

        (1)HTTP 1.0規定瀏覽器與服務器只保持短暫的連接,瀏覽器的每次請求都需要與服務器建立一個TCP連接,服務器完成請求處理后立即斷開TCP連接,服務器不跟蹤每個客戶也不記錄過去的請求。如圖3所示。

        圖3 HTTP/1.0連接

        (2)HTTP 1.1支持持久連接,在一個TCP連接上可以傳送多個HTTP請求和響應,減少了建立和關閉連接的消耗和延遲。一個包含有許多圖像的網頁文件的多個請求和應答可以在一個連接中傳輸,但每個單獨的網頁文件的請求和應答仍然需要使用各自的連接。如圖4所示。

        圖4 HTTP/1.1連接

        因為http注入不需要使用持久性連接,所以我們需要修改它為HTTP/1.0協議,這樣做的話可以避免分塊編碼和其他一些問題。

        2、強制使用純編碼,以避免任何類型的壓縮

        HTTP Header中Accept-Encoding是瀏覽器發給服務器,聲明瀏覽器支持的編碼類型的。

        常見的有:

        Accept-Encoding: compress, gzip //支持compress 和gzip類型Accept-Encoding:  //默認是identityAccept-Encoding: *  //支持所有類型 Accept-Encoding: compress;q=0.5, gzip;q=1.0//按順序支持 gzip , compressAccept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0 //按順序支持 gzip , identity

        為了后面更好的修改HTTP Reply Header,需要將 Accept-Encoding 設置為 none ,這樣可以避免任何類型的壓縮,源碼如圖5所示。

        圖5 設置Accept-Encoding為none

        3、不使用緩存(避免服務器返回304響應)

        不使用緩存就是為了更好的得到新的文件,需要刪除Cache 頭域中的If-Modified-Since和If-None-Match,如圖6所示。

        圖6 刪除Cache頭域中的If-Modified-Since和If-None-Match

        If-Modified-Since

        把客戶端端緩存頁面的最后修改時間發送到服務器去,服務器會把這個時間與服務器上實際文件的最后修改時間進行對比。如果時間一致,那么返回304,客戶端就直接使用本地緩存文件。如果時間不一致,就會返回200和新的文件內容。客戶端接到之后,會丟棄舊文件,把新文件緩存起來,并顯示在瀏覽器中。如圖7所示。

        圖7 If-Modified-Since

        If-None-Match

        If-None-Match和ETag一起工作,工作原理是在HTTP Response中添加ETag信息。 當用戶再次請求該資源時,將在HTTP Request 中加入If-None-Match信息(ETag的值)。如果服務器驗證資源的ETag沒有改變(該資源沒有更新),將返回一個304狀態告訴客戶端使用本地緩存文件。否則將返回200狀態和新的資源和Etag。如圖8所示。

        圖8 If-None-Match

        4、關閉保持連接

        我們都知道Connection: keep-alive和Connection: close的區別:

        Connection: keep-alive

        當一個網頁打開完成后,客戶端和服務器之間用于傳輸HTTP數據的TCP連接不會關閉,如果客戶端再次訪問這個服務器上的網頁,會繼續使用這一條已經建立的連接。

        Connection: close

        代表一個Request完成后,客戶端和服務器之間用于傳輸HTTP數據的TCP連接會關閉, 當客戶端再次發送Request,需要重新建立TCP連接。

        前面我們將HTTP協議從1.1降到1.0,為了HTTP Request Header中可能存在Connection: keep-alive而導致后面修改HTTP Reply Header時出問題。

        這樣我們就把HTTP Request Header修改完成了,接著就是向服務器發送請求啦~

        0×04 木馬文件

        在前面我們把修改之后的HTTP Request Header發送到服務器,這樣服務也返回了HTTP Reply Header響應。那接下來的這步也是最關鍵的一步,就是將木馬寫入HTTP Reply Header中。

        1、讀取木馬文件內容

        在這之前,我們需要對木馬文件進行準備檢測,如果不存在的話,則返回一個新的BIO。

        圖9 木馬文件準備檢測

        從上面的木馬文件準備檢測可以發現,其中木馬文件如圖10所示。

        圖10 木馬文件

        注入的原理就是在HTTP Reply Header的標簽中注入一段JavaScript腳本。其JavaScript腳本的內容如下:

        從JavaScript腳本中,發現腳本跳轉到一個JwsUpdater.jnlp的文件。先普及一下什么是JNLP?

        JNLP(Java Network Launching Protocol )是java提供的一種可以通過瀏覽器直接執行java應用程序的途徑,它使你可以直接通過一個網頁上的url連接打開一個java應用程序。Java桌面應用程序以JNLP 的方式發布,如果版本升級后,不需要再向所有用戶發布版本,只需要更新服務器的版本,這就相當于讓java應用程序有了web應用的優點。

        使用jnlp文件就是為了能夠通過瀏覽器打開一個網頁上的URL連接來執行java木馬應用程序。

          Java Web Start Updater %SITE_HOSTNAME%        %IPA_URL%/backdoor.exe 

        其中,在標簽中發現會把.jar文件下載到本地。而在application-desc設定參數的話,則會以安全的方式來執行jar文件中的com.sun.JwsInstaller.JwsUpdater類,自動加載服務器上的后門程序。

        如果檢測通過之后,就是將木馬文件JwsUpdater.html的內容讀取到html_to_inject中。

        2、修改IPA_URL

        在前面無論是JwsUpdater.html文件,還是JwsUpdater.jnlp文件都有一個“%IPA_URL%”。我需要把“%IPA_URL%”修改為工作服務器的地址。

        3、設置搜索關鍵字和注入緩沖器

        木馬腳本、服務器網站都修改好,那么萬事俱備只欠東風。對的,設置搜索關鍵字和注入緩沖器就是那陣東風。

        先來了解一個結構體:

        struct bio_inject_setup { char *search; char *inject; size_t inject_len;};

        其中,有三個成員,分別是搜索關鍵字(search)、注入木馬腳本內容(inject)和注入木馬腳本的長度(inject_len)。

        前面也提到了,我們的木馬內容是一段JavaScript腳本,所以注入木馬腳本之處就是html文件中標簽內。

        0×05 HTTP Reply Header

        木馬文件都準備好,那么接下來就是把木馬文件寫入到HTTP Reply Header中。分下面三個步驟:

        1、將木馬寫入HTTP Reply Header

        前面我們,設置搜索關鍵字和注入緩沖器。

        在HTTP Reply Header搜索關鍵字,再把注入緩沖器的內容寫入到HTTP Reply Header即可。如圖11所示:

        圖11 將木馬寫入HTTP Reply Header

        2、檢查HTTP Reply Header是否gzip壓縮

        HTTP Reply Header必須采用純編碼,不能對其進行壓縮。所以如果發現HTTP Reply Header有壓縮的話,則停止攻擊。

        3、調整HTTP Reply Header的Content-Length屬性

        前面,在HTTP Reply Header中注入了木馬腳本,所以HTTP Reply Header的長度肯定變化了,所以,我們需要調整HTTP Reply Header的Content-Length屬性。

        到這為止,就差最后一步,就是把HTTP Reply Header發送回客戶端。這樣就把木馬程序種植到客戶端。接下來就可以利用后門程序,做一系列的攻擊。

        *原創作者:LiukerTeam,本文屬FreeBuf原創獎勵計劃文章,未經許可禁止轉載

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        中間人攻擊之html注入_html/css

        中間人攻擊之html注入_html/css_WEB-ITnose:0×00 序 很久之前寫的文章,現在拿出來分享。事先聲明本人是一枚愛搗鼓的小菜,所以對泄漏資料的分析難免會有疏忽或著錯誤,望各位圍觀的大俠手下留情。 今年7月5日晚,一家意大利軟件廠商被攻擊,其掌握的387.05GB漏洞(包括0day)數據泄露出來,由
        推薦度:
        標簽: it html 攻擊
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 中文字幕亚洲免费无线观看日本| 亚洲天堂免费在线视频| 婷婷精品国产亚洲AV麻豆不片| www成人免费视频| 亚洲高清免费视频| 成人午夜免费视频| 国产精品亚洲mnbav网站| 国产成人高清精品免费观看| 亚洲精品视频久久久| av成人免费电影| 久久91亚洲人成电影网站| 无码精品人妻一区二区三区免费看| 亚洲国产精品无码久久一区二区 | 亚洲成人在线免费观看| 100000免费啪啪18免进| 亚洲欧美日韩国产成人| 又黄又大又爽免费视频| 国产成人无码精品久久久免费 | 国产成人精品亚洲日本在线| 毛片免费视频观看| 羞羞视频免费网站含羞草| 国产中文在线亚洲精品官网| 热99RE久久精品这里都是精品免费| 中文字幕在线亚洲精品| 99ee6热久久免费精品6| 亚洲va精品中文字幕| 国产免费人人看大香伊| 两个人看的www免费视频中文| 亚洲AV无码成人专区片在线观看| 久久久久久精品免费看SSS| 亚洲自偷自偷在线成人网站传媒| 免费少妇a级毛片| 日韩免费高清大片在线| 亚洲国产美女精品久久久| 精品国产香蕉伊思人在线在线亚洲一区二区 | 国产三级在线观看免费| 一区二区三区免费电影| 亚洲最新中文字幕| 一本色道久久88综合亚洲精品高清| 免费h视频在线观看| 日本亚洲色大成网站www久久|