HTTP响应拆分漏洞

"CRLF注入攻击"一般都是指“HTTP响应拆分漏洞”

HTTP响应拆分漏洞,也叫CRLF注入攻击。CR、LF分别对应回车(%0d)、换行(%0a)字符。HTTP头由很多被CRLF组合分离的行构成,每行的结构都是“键:值”。如果用户输入的值部分注入了CRLF字符,它有可能改变的HTTP报头结构。

具体危害

攻击者可能注入自定义HTTP头。例如,攻击者可以注入会话cookieHTML代码。这可能会进行类似的XSS(跨站点脚本)或会话固定漏洞。

解决方案

限制用户输入的CR和LF,或者对CR和LF字符正确编码后再输出,以防止注入自定义HTTP头。

PHP语言的解决方案

这种现象往往表现在带有参数传递的网页,做好合理的过滤就行了,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); //去掉单引号

标签:

PHP,HTTP漏洞
本词条内容不代表绝对权威,不保证其绝对准确,不对其立场和观点负责,仅供参考。
分享到:

词条信息

  • 最后编辑:
  • 浏览次数: 929 次
  • 编辑次数: 1次 历史版本
  • 更新时间: 2015-04-04
  • 相关词条