一項(xiàng)新的研究確定了四種針對(duì)HTTP請(qǐng)求走私攻擊的新變種,它們可以針對(duì)各種商用Web服務(wù)器和HTTP代理服務(wù)器。
在今天的黑帽安全會(huì)議上,SafeBreach的安全研究副總裁Amit Klein展示了這一發(fā)現(xiàn),他說(shuō),這些攻擊突出表明,web服務(wù)器和HTTP代理服務(wù)器容易受到HTTP請(qǐng)求走私攻擊的影響,據(jù)記錄首次發(fā)現(xiàn)至今已有15年的歷史。
什么是HTTP請(qǐng)求走私?
HTTP請(qǐng)求走私(或HTTP異步)是一種用于干擾網(wǎng)站處理、從一個(gè)或多個(gè)用戶接收的HTTP請(qǐng)求序列的方式的技術(shù)。
當(dāng)前端服務(wù)器(負(fù)載平衡器或代理)和后端服務(wù)器以不同的方式處理HTTP請(qǐng)求的邊界時(shí),通常會(huì)出現(xiàn)與HTTP請(qǐng)求走私有關(guān)的漏洞,從而使不良行為者發(fā)送優(yōu)先于下一個(gè)合法用戶請(qǐng)求歧義請(qǐng)求。
不同步的請(qǐng)求可被利用來(lái)劫持憑據(jù),向用戶注入響應(yīng);甚至從受害者的請(qǐng)求中竊取數(shù)據(jù),將信息泄露給攻擊者控制的服務(wù)器。
這項(xiàng)技術(shù)是由Watchfire的一組研究人員于2005 年首次證明的,這些研究人員包括Klein,Chaim Linhart,Ronen Heled和Steve Orrin。
但是在過(guò)去的十幾年中,在攻擊面也隨之進(jìn)行了擴(kuò)展,例如:將請(qǐng)求拼接成其他請(qǐng)求,獲得對(duì)內(nèi)部API的最大權(quán)限訪問(wèn);污染W(wǎng)eb緩存;破壞流行應(yīng)用程序的登錄頁(yè)面。
什么是新的?
Klein公開(kāi)的新變體涉及使用各種代理服務(wù)器組合,包括在Web服務(wù)器模式下的Aprelium的Abyss,Microsoft IIS,Apache和Tomcat,以及在HTTP代理模式下的Nginx,Squid,HAProxy,Caddy和Traefik。
所有四個(gè)新變體的列表如下,最后添加包括一個(gè)由研究人員在實(shí)驗(yàn)中成功利用的舊變體。
變體1:“標(biāo)頭SP / CR垃圾郵件:……”
變式2 –“等待”
變體3 – HTTP / 1.2繞過(guò)類似于mod_security的防御
變式4 –一個(gè)簡(jiǎn)單的解決方案
變式5 –“ CR標(biāo)頭”
例如,在處理包含兩個(gè)Content-Length標(biāo)頭字段的HTTP請(qǐng)求時(shí),發(fā)現(xiàn)Abyss接受第二個(gè)標(biāo)頭為有效,而Squid使用第一個(gè)Content-Length標(biāo)頭,從而導(dǎo)致兩個(gè)服務(wù)器以不同的方式解釋請(qǐng)求并實(shí)現(xiàn)請(qǐng)求走私。
在Abyss收到長(zhǎng)度小于指定的Content-Length值的主體的HTTP請(qǐng)求的情況下,它將等待30秒以完成該請(qǐng)求,但不會(huì)忽略該請(qǐng)求的其余主體。
Klein發(fā)現(xiàn),這也導(dǎo)致Squid與Abyss之間存在差異,后者會(huì)將HTTP請(qǐng)求的部分解釋為第二個(gè)請(qǐng)求。
攻擊的第三種形式使用HTTP / 1.2來(lái)規(guī)避OWASP ModSecurity中定義的WAF防御用于防止HTTP請(qǐng)求走私攻擊的核心規(guī)則集(CRS)會(huì)生成觸發(fā)該行為的惡意有效負(fù)載。
最后,克萊因(Klein)發(fā)現(xiàn)使用“ Content-Type:text / plain”標(biāo)頭字段足以繞過(guò)CRS中指定的級(jí)別檢查,并產(chǎn)生HTTP請(qǐng)求走私漏洞。
有哪些可能的防御措施?
在將發(fā)現(xiàn)披露給Aprelium,Squid和OWASP CRS之后,問(wèn)題已在Abyss X1 v2.14,Squid版本4.12和5.0.3和CRS v3.3.0中修復(fù)。
呼吁規(guī)范來(lái)自代理服務(wù)器的出站HTTP請(qǐng)求,Klein強(qiáng)調(diào)了對(duì)開(kāi)源、應(yīng)用要求硬核的Web應(yīng)用程序防火墻解決方案的需求,該解決方案能夠處理HTTP請(qǐng)求走私攻擊。
Klein指出:“ ModSecurity(與CRS結(jié)合使用)確實(shí)是一個(gè)開(kāi)源項(xiàng)目,但是就通用性而言,Mod Security具有多個(gè)缺點(diǎn)。” “它不能提供針對(duì)HTTP請(qǐng)求走私的全面保護(hù),并且僅可用于Apache,IIS和nginx。”
為此,Klein發(fā)布了一個(gè)基于C++的庫(kù),通過(guò)嚴(yán)格遵守HTTP標(biāo)頭格式和請(qǐng)求行格式來(lái)確保所有傳入的HTTP請(qǐng)求是完全合規(guī)且明確的??梢詮腉itHub訪問(wèn)它。
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9674瀏覽量
87214 -
網(wǎng)絡(luò)安全
+關(guān)注
關(guān)注
11文章
3292瀏覽量
61095 -
HTTP
+關(guān)注
關(guān)注
0文章
520瀏覽量
32437
發(fā)布評(píng)論請(qǐng)先 登錄
在KaihongOS應(yīng)用開(kāi)發(fā)中,如何通過(guò)HTTP發(fā)起一個(gè)數(shù)據(jù)請(qǐng)求
HTTP和HTTPS的關(guān)鍵區(qū)別

醫(yī)療環(huán)境穩(wěn)定時(shí)鐘信號(hào)可選擇國(guó)芯思辰MEMS振蕩器,替換SiTime

微電子所在高性能注入鎖定時(shí)鐘倍頻器方面取得進(jìn)展

服務(wù)器如何處理 HTTP 請(qǐng)求
如何調(diào)試 HTTP 請(qǐng)求和響應(yīng)
HTTP 1.1 和 HTTP 2.0 的區(qū)別
HTTP 協(xié)議的工作原理
請(qǐng)問(wèn)如何使用HTTP請(qǐng)求獲取本地時(shí)間?
在esp8266中構(gòu)建了一個(gè)HTTP服務(wù)器,功處理HTTP請(qǐng)求后,軟件計(jì)時(shí)器停止了,為什么?
如何使用RTOS SDK 2.1.0從esp8266發(fā)送http請(qǐng)求?
鴻蒙開(kāi)發(fā)網(wǎng)絡(luò)管理: @ohos.net.http 數(shù)據(jù)請(qǐng)求

評(píng)論