天天看點

CRLF注入漏洞

CRLF是“回車 + 換行”(\r\n)的簡稱。在HTTP協定中,HTTP Header與HTTP Body是用兩個CRLF分隔的,浏覽器就是根據這兩個CRLF(使用payload %0a%0d%0a%0d進行測試)來取出HTTP内容并顯示出來。是以,一旦我們能夠控制HTTP消息頭中的字元,注入一些惡意的換行,這樣我們就能注入一些會話Cookie(http://www.xx.com%0a%0d%0a%0dSet-cookie:JSPSESSID%3Dxxx)或者HTML代碼(http://www.xx.com/?url=%0a%0d%0a%0d<img src=1 onerror=alert("xss")>),是以CRLF Injection又叫HTTP Response Splitting,簡稱HRS。

修複建議:

過濾\r 、\n之類的換行符,避免輸入的資料污染到其他HTTP頭。

本文轉自 eth10 51CTO部落格,原文連結:http://blog.51cto.com/eth10/1974790

繼續閱讀