什麼是CRLF攻擊
資料鏈接: https://www.cnblogs.com/studyskill/p/6972576.html
crlf顧名思義就是其中的回車和換行,造成的漏洞是HRS漏洞
在http當中http的header和body之間就是兩個crlf進行分隔的
HRS漏洞就是如果能控制HTTP消息頭中的字符,注入一些惡意的換行,這樣就能注入一些會話cookie和html代碼,所以crlf injection 又叫做 HTTP response Splitting
HRS漏洞可以造成 固定會話漏洞 和 無視filter的反射型xss漏洞
原理 一般網站會在HTTP頭中用Location: http://baidu.com這種方式來進行302跳轉,所以我們能控制的內容就是Location:後面的XXX某個網址,對這個地址進行污染。
HRS漏洞存在的前提是 :url當中輸入的字符會影響到文件,比如在重定位當中可以嘗試使用%0d%0a作爲crlf,
利用方式:連續使用兩次%0d%oa就會造成header和body之間的分離。就可以在其中插入xss代碼形成反射型xss漏洞(如何做到無視filiter?)
如何繞過服務端的filiter(xss漏洞)
1,可以在header當中注入另外的字符集<meta charset=ISO-2022-KR>
使用%0f進行標記,之後的字符就不會過濾
2,可以注入一個X-XSS-Protection:0就不會被攔截了
使用一次%0d%0a就可以注入其http header當中的代碼比如注入set-cookie信息造成會話固定漏洞
防範方式:在url當中過濾%0a%0d的字符,致使其不能進行轉換,或者使其不能進行污染