什么是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的字符,致使其不能进行转换,或者使其不能进行污染