描述:

HTTP响应拆分漏洞,也叫CRLF注入攻击。CR、LF分别对应回车、换行字符。

HTTP头由很多被CRLF组合分离的行构成,每行的结构都是“键:值”。如果用户输入的值部分注入了CRLF字符,它有可能改变的HTTP报头结构。

危害:
?
攻击者可能注入自定义HTTP头。例如,攻击者可以注入会话cookie或HTML代码。这可能会进行类似的XSS(跨站点脚本)或会话固定漏洞。
HTTP响应拆分是一个新的应用程序的攻击技术,使网页缓存中毒,跨用户涂改,如各种新的攻击,劫持用户的敏感信息和跨站点脚本(XSS)的网页。
?
解决方案:
修复的基本思路:
限制用户输入的CR和LF,或者对CR和LF字符正确编码后再输出,以防止注入自定义HTTP头
-PHP语言的解决方案:
这种现象往往表现在带有参数传递的网页,只要合理的过滤好就OK啦,PHP语言的一些过滤方法:
$post = trim($post);
$post = strip_tags($post,””); //清除HTML等代码
$post = ereg_replace(“\t”,””,$post); //去掉制表符号
$post = ereg_replace(“\r\n”,””,$post); //去掉回车换行符号
$post = ereg_replace(“\r”,””,$post); //去掉回车
$post = ereg_replace(“\n”,””,$post); //去掉换行
$post = ereg_replace(” “,””,$post); //去掉空格
$post = ereg_replace(“‘”,””,$post); //去掉单引号
?

自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

本文链接地址: HTTP响应拆分漏洞 http://www.chhua.com/web-note4997

相关笔记

更多