CRLF注入漏洞,cr lf分别是回车和换行。CRLF注入本质和XSS相似,web将恶意数据输出在HTTP响应头中。CRLF注入漏洞检测也和XSS漏洞检测差不多。通过修改HTTP参数或者URL,注入恶意CRLF,查看构造的恶意数据是否在响应头中输出。
总结:通过回车换行符来进行攻击注入,根据插入的CRLF个数不同,可设置任意的响应头,控制响应正文两个主要的利用办法。具体的危险表示在:控制响应头键值对,XSS攻击,缓存病毒攻击,日志伪造等等。
就比如说在文件头GET /%0aSet-cookie:JSPSESSID%3Djaden HTTP/1.1,那么在响应里面就可以看到Set-cookie:JSPSESSID=jaden,会话固定。原因就是在nginx配置里面重定向网址时,浏览器看到了回车换行导致%0a ... %3D里面的内容变成了头文件里的键值对。
防御方法,传输网址之前删除所有换行符