牛牛热免费视频|牛牛网
歡迎來到上海網站建設公司-千選科技!
 

HTTP Evasions原理完整解析:分塊傳輸繞過防火墻

更新時間:2016-1-29 12:58:38   已閱讀:次 |  作者:千選科技  來源:上海網站建設

  主要是通過Transfer-Encoding字段分塊請求包來繞過防火墻。例如說,可以通過以下結構的請求包繞過防火墻的惡意軟件檢測:

  HTTP/1.0 200 ok

  Transfer-Encoding: chunked

  content which is not chunked

  分塊傳輸是什么?

  在HTTP 0.9中,響應包的結束只是簡單的依賴于TCP的連接斷開。在HTTP 1.0的響應頭增加了一些字段,比如,Content-length用于表示響應包的大小,但卻只有在服務器預先知道HTTP頭長度的情況下,才能確定Content-length的值。這就意味著如果發送的是動態的內容,那么首先需要緩存數據,在發送前必須要計算出要發送的HTTP頭的大小。否則如果依舊按過去的方式,可能TCP連接斷開的時候,數據還沒有傳輸完,這時候就不得不中斷數據傳輸,要解決這種情況就不得不讓TCP連接一直保持活躍狀態。

  因此,在HTTP1.1標準中增加了分塊傳輸技術。按這種數據傳輸方式的話,服務器首先會在每個分塊前面添加上他的長度,這樣的話,只要獲取到第一個數據塊就可以立刻發送出去。每一個數據塊的長度都是用十六進制數表示。結束的響應包是一個空包,他的大小是0。例如,在下面的例子中,需要把字符串“0123456789ABCDEFGH”分成3個數據塊和一個結束的空數據塊發送:

  數據塊:

  HTTP/1.1 200 ok

  Transfer-Encoding: chunked

  b

  0123456789A

  3

  BCD

  4

  EFGH

  0

  注意,在HTTP頭中,每一行的換行符是\r\n,并且,每個數據分塊也是以\r\n結束的。最后一塊是單行,由塊大小(0),一些可選的填充白空格,以及\r\n組成。

  防火墻看到的是各個分塊,而瀏覽器看到的是整個數據包,所以只要稍微修改下分塊,就會使防火墻和瀏覽器看到的內容大不相同,這樣就有可能繞過防火墻。

  結合Transfer-Encoding和Content-Length進行繞過

  在HTTP 1.1標準中清楚的規定如果Content-Length和Transfer-Encoding分塊模式同時給出的時候,所使用的傳輸的模式是分塊傳輸,Content-Length字段必須被忽略掉。所有瀏覽器都遵守這個原則,但是仍然有15%的防火墻用相反的方式來解析。因此,可以通過這個簡單的技巧繞過這類防火墻:

  HTTP/1.1 200 ok

  Transfer-Encoding: chunked

  Content-length: 22

  3

  MAL

  4

  WARE

  0

  令人驚訝的是,這些受影響的防火墻忽略了一點:這些響應包可能不是被分塊過的包,并且直接讓這樣的包通過防火墻。有些防火墻,比如,Sophos UTM,把HTTP1.0包中的分塊轉化解析了,但是,至少這些防火墻對響應包進行了足夠的清理,想在這種情況下繞過防火墻也是有一定的難度的。

  另外一些防火墻,雖然沒有解析HTTP1.0中的Transfer-Encoding,如果他使用了一些特定的瀏覽器,也有可能被繞過。與所有瀏覽器相反的是Safari 瀏覽器并不看響應包使用的HTTP版本,就直接把帶有Transfer-Encoding的頭按分塊傳輸技術解析出來,無論這個響應包是否使用HTTP1.0。因此,除非防火墻對響應包進行清理,過濾掉壞包頭,否則的話使用Safari瀏覽器的用戶就有可能被以下的包攻擊:

  HTTP/1.0 200 ok

  Transfer-Encoding: chunked

  3

  MAL

  4

  WARE

  0

  瀏覽器的處理方法也是不同的。IE瀏覽器會只解析后面的Transfer-Encoding,其他的主流瀏覽器只是查看響應頭中是否存在Transfer-Encoding字段,如果該字段的值為“chunked”,就直接解析了。

  "chunked" vs. "xchunked" vs. "x chunked" 等等

  想Chrome和IE這樣的瀏覽器會嚴格的控制Transfer-Encoding的值,并且只允許他的值為字符串“chunked”。但是,Firefox卻可以接受“chunked”和其他詞組合的情況。例如,“for chunked” 或者“chunked foo”。Safari更糟糕,他只是檢查了是否存在“chunked”這個字符串,只要存在就都能接受,例如“this-is-not-chunked-and-I-mean-it”。

  當然同樣的,也有好幾款防火墻并不考慮響應體在這種情況下是否被分塊,卻依然按這個無效的包頭解析。當然,這并不僅限于一些未知的防火墻和Gartner Top NGFW中。因此,以下的HTTP響應包可以使得差不多25%的測試防火墻在使用Firebox或者Safari的時候被繞過:

  HTTP/1.1 200 ok

  Transfer-Encoding: x chunked

  3

  MAL

  4

  WARE

  0

  上海網站建設還有幾種方法可以把Transfer-Encoding隱藏掉來繞過防火墻,例如,在一些特定的地方添加空格或者其他的字符。瀏覽器經常忽略這些特征而繼續解析響應體。

  除此以外,被測試的防火墻中還有20%的防火墻在解析擴展塊的時候沒有正確處理這些,這些都能導致繞過防火墻。


文章來源:上海網站建設公司http://www.hf6q.com/netmarket/544.html ,轉載請標明出處,謝謝合作!
0


相關推薦

042019-06
上海網站建設做好這幾點 基本就能滿足用戶需求
  從用戶找產品到產品找用戶,移動互聯網的變遷給了網站建設提出了新的問題,這就要求上海網站建設公司在練好功夫之外,還要口...
101
042019-06
上海網站建設提升用戶體驗,靠的不僅僅是設計
  在上海網站建設時,人們總是會強調“用戶體驗”這個問題。誠然,對于一個網站來說,用戶體驗無疑是它的命脈,良好的用戶體驗...
125
042019-03
如何做好網站內容的策略和方法
  網站內容是網站上為用戶提供的所有文字、圖片以及這個網站上的一切可供用戶充分利用的東西。  互聯網開放性的特色,讓許多...
145
152019-02
網站結構搭建對SEO的影響有哪些?
  網站結構搭建的好壞是實現效果更好的網站SEO優化的先決條件,如果是強大的結構設計的話就會為我們的SEO工作帶來很重要...
207
092019-02
如何增加用戶對網站建設的好感
  用戶的體驗在搜索算法中的分量越來越重,用戶行為也成為影響網站建設的條件,在很大程度上面讓客戶成為影響網站排名的關鍵所...
185
052019-02
如何設計出高端時尚的企業網站?
現今企業越來越注重品牌形象,網站設計也是如此,來看看今天我們是如何設計出高端時尚感的品牌網站吧!對于高端品牌網站而言,最...
184
網站設計
SEO優化
客戶反饋
牛牛热免费视频 购彩大厅网上买彩票 5000到350万炒股手记 极速11选5骗局 中大奖网站 四川金7乐开奖结果金牛网 海南环岛赛车福彩规则 吉林十一选五任三遗漏 金太阳炒股软件下载 正规棋牌游戏平台 幸运飞艇群号