1、漏洞名称:
http response splitting attack、HTTP响应头拆分漏洞
2、漏洞描述:
HTTP响应头拆分漏洞(CRLF)是一种新型的web攻击方案,它重新产生了很多安全漏洞包括:web缓存感染、用户信息涂改、窃取敏感用户页面、跨站脚本漏洞。这项攻击方案包括其衍生的一系列技术产生,是由于web应用程序没有对用户的提交进行严格过滤,导致非法用户可以提交一些恶意字符,更具体来说,是对用户输入的CR和LF字符没有进行严格的过滤。
CRLF是"回车 + 换行"(\r\n)
的简称。在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP内容并显示出来。所以,一旦我们能够控制HTTP消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码,所以CRLF Injection又叫HTTP Response Splitting(HRS)。是应用程序没有正确的过滤用户提供的输入。远程攻击者可以利用这个漏洞影响或错误的显示Web内容服务、缓存或解释的方式,这可能帮助诱骗客户端用户,导致跨站脚本、缓存破坏或页面劫持等漏洞。
3、检测方法
通过web扫描工具进行扫描检测,或者手工去判断。
手工判断举例:一般网站会在HTTP头中用Location: http://baidu.com
这种方式来进行302跳转,所以我们能控制的内容就是Location:后面的XXX某个网址,如下所示为抓包得到的相关数据