灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3336回复:0

360网站安全检测中HTTP响应拆分漏洞的修复方法

楼主#
更多 发布于:2013-01-25 19:36
360网站安全检测说实话真不咋滴,但是吧,检测一些不痛不痒的问题,但是鉴于某种种情况,面对问题还是要修复。360网站安全检测中有个HTTP响应拆分漏洞描述:
HTTP响应拆分漏洞,也叫CRLF注入攻击。CR、LF分别对应回车、换行字符。HTTP头由很多被CRLF组合分离的行构成,每行的结构都是“键:值”。如果用户输入的值部分注入了CRLF字符,它有可能改变的HTTP报头结构。
HTTP响应拆分是一个新的应用程序的攻击技术,使网页缓存中毒,跨用户涂改,如各种新的攻击,劫持用户的敏感信息和跨站点脚本(XSS)的网页。
危害:
攻击者可能注入自定义HTTP头。例如,攻击者可以注入会话cookie或HTML代码。这可能会进行类似的XSS(跨站点脚本)或会话固定漏洞。
思路:
限制用户输入的CR和LF,或者对CR和LF字符正确编码后再输出,以防止注入自定义HTTP头。
解决方案:
这种现象往往表现在带有参数传递的网页,只要合理的过滤好就OK啦,提供PHP代码:

1 $post = trim($post);
2 $post = strip_tags($post,""); //清除HTML如<br />等代码
3 $post = ereg_replace("\t","",$post); //去掉制表符号
4 $post = ereg_replace("\r\n","",$post); //去掉回车换行符号
5 $post = ereg_replace("\r","",$post); //去掉回车
6 $post = ereg_replace("\n","",$post); //去掉换行
7 $post = ereg_replace(" ","",$post); //去掉空格
8 $post = ereg_replace("'","",$post); //去掉单引号或者:


&#8203;
1 $post = trim($post);
2 $post = strip_tags($post,""); //清除HTML如<br />等代码
3 $post = ereg_replace("\t","",$post); //去掉制表符号
4 $post = ereg_replace("\r\n","",$post); //去掉回车换行符号
5 $post = ereg_replace("\r","",$post); //去掉回车
6 $post = ereg_replace("\n","",$post); //去掉换行
7 $post = ereg_replace(" ","",$post); //去掉空格
8 $post = ereg_replace("'","",$post); //去掉单引号

喜欢0 评分0
游客

返回顶部