[轉載]CRLF Injection漏洞的利用與實例分析

0x00 背景
CRLFInjection很少遇見疲吸,這次被我逮住了捍岳。我看zone中(http://zone.wooyun.org/content/13323)還有一些同學對于這個漏洞不甚了解,甚至分不清它與CSRF菜谣,我詳細說一下吧惭缰。

CRLF是”回車+換行”(\r\n)的簡稱浪南。在HTTP協(xié)議中,HTTPHeader與HTTPBody是用兩個CRLF分隔的漱受,瀏覽器就是根據(jù)這兩個CRLF來取出HTTP內(nèi)容并顯示出來络凿。所以,一旦我們能夠控制HTTP消息頭中的字符昂羡,注入一些惡意的換行喷众,這樣我們就能注入一些會話Cookie或者HTML代碼,所以CRLFInjection又叫HTTPResponseSplitting紧憾,簡稱HRS。

HRS是比XSS危害更大的安全問題昌渤,具體是為什么赴穗,我們往下看。

對于HRS最簡單的利用方式是注入兩個\r\n膀息,之后在寫入XSS代碼般眉,來構造一個xss。

0x01 實例
舉個例子潜支,一般網(wǎng)站會在HTTP頭中用Location:http://baidu.com這種方式來進行302跳轉甸赃,所以我們能控制的內(nèi)容就是Location:后面的XXX某個網(wǎng)址。

所以一個正常的302跳轉包是這樣:

HTTP/1.1 302 
Moved Temporarily Date: Fri, 27 Jun 2014 17:52:17 GMT 
Content- Type: text/html
Content-Length: 154 
Connection: close
Location:http://www.sina.com.cn

但如果我們輸入的是

http://www.sina.com.cn%0aSet-cookie:JSPSESSID%3Dwooyun
注入了一個換行冗酿,此時的返回包就會變成這樣:

HTTP/1.1 302 Moved Temporarily Date: Fri, 27 Jun 2014 17:52:17 GMT
Content-Type: text/html 
Content-Length: 154 
Connection: close 
Location: http://www.sina.com.cn Set-cookie: JSPSESSID=wooyun

這個時候這樣我們就給訪問者設置了一個SESSION埠对,造成一個“會話固定漏洞”络断。

當然,HRS并不僅限于會話固定项玛,通過注入兩個CRLF就能造成一個無視瀏覽器Filter的反射型XSS貌笨。

比如一個網(wǎng)站接受url參數(shù)http://test.sina.com.cn/?url=xxx,xxx放在Location后面作為一個跳轉襟沮。如果我們輸入的是

http://test.sina.com.cn/?url=%0d%0a%0d%0a<imgsrc=1onerror=alert(/xss/)>
我們的返回包就會變成這樣:

HTTP/1.1 302 Moved Temporarily Date: Fri, 27 Jun 2014 17:52:17 GMT Content-Type: text/html Content-Length: 154 Connection: close Location: <img src=1 onerror=alert(/xss/)>
之前說了瀏覽器會根據(jù)第一個CRLF把HTTP包分成頭和體锥惋,然后將體顯示出來。于是我們這里這個標簽就會顯示出來开伏,造成一個XSS膀跌。

為什么說是無視瀏覽器filter的,這里涉及到另一個問題固灵。

瀏覽器的Filter是瀏覽器應對一些反射型XSS做的保護策略捅伤,當url中含有XSS相關特征的時候就會過濾掉不顯示在頁面中,所以不能觸發(fā)XSS怎虫。

怎樣才能關掉filter暑认?一般來說用戶這邊是不行的,只有數(shù)據(jù)包中http頭含有X-XSS-Protection并且值為0的時候大审,瀏覽器才不會開啟filter蘸际。

說到這里應該就很清楚了,HRS不正是注入HTTP頭的一個漏洞嗎徒扶,我們可以將X-XSS-Protection:0注入到數(shù)據(jù)包中粮彤,再用兩個CRLF來注入XSS代碼,這樣就成功地繞過了瀏覽器filter姜骡,并且執(zhí)行我們的反射型XSS导坟。

所以說HRS的危害大于XSS,因為它能繞過一般XSS所繞不過的filter圈澈,并能產(chǎn)生會話固定漏洞惫周。

我們來一個真實案例吧。 新浪某分站含有一個url跳轉漏洞康栈,危害并不大递递,于是我就想到了CRLFInjection,當我測試

http://xxx.sina.com.cn/?url=%0a%0d%0a%0d%3Cimg%20src=1%3E
的時候啥么,發(fā)現(xiàn)圖片已經(jīng)輸出在頁面中了登舞,說明CRLF注入成功了:

Paste_Image.png

那么我們試試XSS看看:

Paste_Image.png

@mramydnei還想到了一個利用字符編碼來繞過XSSFilter的方法,當編碼是is-2022-kr時瀏覽器會忽略%0f悬荣,這樣我們在onerror后面加個%0f就能繞過filter菠秒,前提是注入一個

<metacharset=ISO-2022-KR>

Paste_Image.png

當然,在Location:這里注入只有webkit內(nèi)核瀏覽器才能夠利用氯迂,其他瀏覽器可能會跳轉践叠、出錯言缤。不過對于chrome的使用量來說,危害已經(jīng)足夠了酵熙。

0x02 修復
如何修復HRS漏洞轧简,當然是過濾\r、\n之類的換行符匾二,避免輸入的數(shù)據(jù)污染到其他HTTP頭哮独。

原文地址:http://www.codesec.net/view/50272.html

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市察藐,隨后出現(xiàn)的幾起案子皮璧,更是在濱河造成了極大的恐慌,老刑警劉巖分飞,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悴务,死亡現(xiàn)場離奇詭異,居然都是意外死亡譬猫,警方通過查閱死者的電腦和手機讯檐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來染服,“玉大人别洪,你說我怎么就攤上這事×危” “怎么了挖垛?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長秉颗。 經(jīng)常有香客問我痢毒,道長,這世上最難降的妖魔是什么蚕甥? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任哪替,我火速辦了婚禮,結果婚禮上菇怀,老公的妹妹穿的比我還像新娘夷家。我一直安慰自己,他們只是感情好敏释,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著摸袁,像睡著了一般钥顽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上靠汁,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天蜂大,我揣著相機與錄音闽铐,去河邊找鬼。 笑死奶浦,一個胖子當著我的面吹牛兄墅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播澳叉,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼隙咸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了成洗?” 一聲冷哼從身側響起五督,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瓶殃,沒想到半個月后充包,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡遥椿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年基矮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冠场。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡家浇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出慈鸠,到底是詐尸還是另有隱情蓝谨,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布青团,位于F島的核電站譬巫,受9級特大地震影響,放射性物質發(fā)生泄漏督笆。R本人自食惡果不足惜芦昔,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望娃肿。 院中可真熱鬧咕缎,春花似錦、人聲如沸料扰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晒杈。三九已至嫂伞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背帖努。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工撰豺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拼余。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓污桦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親匙监。 傳聞我的和親對象是個殘疾皇子凡橱,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容