`
liuming
  • 浏览: 166504 次
  • 性别: Icon_minigender_1
  • 来自: 蛮夷之地
社区版块
存档分类
最新评论

Rails修复可能存在的HTTP Response Splitting攻击隐患

阅读更多

原文址址:http://weblog.rubyonrails.com/2008/10/19/response-splitting-risk

 

  由于Rails中所用到的Ruby HTTP 函数库并没有对HTTP Headers的值进行任何的过滤,因此在某些情况下,当用户输入的值写到HTTP响头部时,攻击者就有机会构造出Response Splitting (响应拆分)和Header Injection (头部注射)等攻击。如果一些Rails程序依懒于用户所输入的数据构造HTTP响应头部,并且没有对用户输入的数据进行过滤的话的话,那么攻击者可以通过输入非法数据来设置cookies值、伪造服务端响应。

 

  对于这个隐患最常见的利用之一就是,某些程序通过客户端的请求取得一个URL地址,完成一些动作后将浏览器重定向到这个URL(比如说登陆完成后回到以前的页面)。而Rails的新版本则通过过滤redirect_to的值,以帮助开发者减少受到这类攻击的可能性。但是作为开发者,如果要将用户输入的值写到HTTP响应头部的话,仍虽要自行过滤。

 

  以下的新版本将对redirect_to进行改进:

  • 2.0.5
  • 2.1.2
  • 2.2.0

由于这些版本目前尚未发布,所以对于急需改进redirect_to函数的开发者,可以使用以下补丁

对于使用Edge Rails ba80ff74a962 之前版本的开发者,请升级到最新版本,或者使用这个补丁

 

感谢ACROS Security的Luka Treiber和Mitja Kolsek向我们提出这个问题以及Ruby Security团队给我们的建议。

4
2
分享到:
评论

相关推荐

    Rails项目源代码

    Rails提供了许多安全特性,如CSRF(跨站请求伪造)保护、XSS(跨站脚本攻击)防御和参数过滤。开发者还需要遵循RESTful设计原则,合理使用过滤器,确保敏感信息的安全。 9. **部署与运维**: 项目部署通常选择...

    railsbrain网站的rails2.3文档(bug修复版)

    Railsbrain是一个专注于Rails框架的在线资源平台,而这个“railsbrain网站的rails2.3文档(bug修复版)”显然是一份针对Rails 2.3版本的更新文档,旨在修复用户在浏览和交互过程中遇到的问题。Rails是Ruby编程语言的...

    Rails

    压缩包子文件的文件名称 "Ruby on Rails.pptx" 提示可能是一个关于Rails的PowerPoint演示文稿,其中可能涵盖了Rails的基础概念、安装步骤、主要组件介绍、开发流程、最佳实践,以及可能的示例代码和案例研究。...

    ruby on rails与MySql的环境配置——支持rails 2.3.5以上版本

    推荐使用mysql-2.7.3-mswin32.gem版本,因为高版本可能存在兼容性问题。下载该驱动后,在CMD中使用`gem install mysql-2.7.3-mswin32.gem --local`在本地进行安装。接着,你需要将MySQL安装目录下的`libmySQL.dll`...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **措施**:Rails提供了多种内置的安全特性,如防止跨站脚本攻击(XSS)、SQL注入等。 #### 十、下一步 - **学习路径**:继续深入学习Rails的高级特性,如Active Record模式、表单构建器等。 - **社区资源**:加入...

    Rails recipes

    Rails Recipes是一本针对Ruby on Rails框架的实用书籍,它收集了一系列高效解决问题的技巧和方法,也被称为“Rails开发者的宝典”。作者们通过分享自己的经验和见解,为Rails程序员提供了一本既有实际操作指导又有...

    ruby on rails最新版

    随着技术的不断发展,Rails会定期发布新版本,以引入新的功能、优化性能和修复已知问题。使用最新版可以确保开发者能利用到最前沿的技术,并且通常意味着更好的安全性和社区支持。 描述中的“这是本人精心收集的...

    rails2.3.2

    标题 "rails2.3.2" 指的是 Ruby on Rails 框架的一个特定版本,即 2.3.2。Ruby on Rails(通常简称为 Rails)是一个基于 Ruby 语言的开源 Web 应用程序框架,它遵循 Model-View-Controller (MVC) 设计模式,用于构建...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    Advanced Rails

    1. **优化性能**:Rails应用在处理大量请求时可能会面临性能挑战。书中会介绍如何通过缓存(如Action Cache和Page Cache)、数据库查询优化、资产管道优化等手段提升应用性能。 2. **复杂的路由**:Rails的路由系统...

    Rails相关电子书汇总

    标题 "Rails相关电子书汇总" 暗示了这个压缩包包含了关于Ruby on Rails框架的电子书籍资源。Ruby on Rails,通常简称为Rails,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以...

    rails学习教程

    Rails,全称Ruby on Rails,是一款基于Ruby语言的开源Web应用程序框架,遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程并提高开发效率。本教程将带你走进Rails的世界,从零开始学习这个强大的框架...

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    component base rails applications

    本书《Component-Based Rails Applications》主要介绍了如何使用Rails引擎(Rails Engine)进行基于组件的Rails应用开发,以及如何对应用程序的大型模块进行拆分和模块化。以下是书中一些核心知识点的详细说明: 1....

    [Rails 常用插件简介]CRUD Generator 2

    Edge Rails指的是Rails的最新开发版本,其中包含了最新的特性、改进和修复。与稳定的Rails版本相比,Edge Rails可能包含未经过充分测试的新功能,因此对于开发环境而言,它提供了更多的探索和试验空间。使用Edge ...

    rails敏捷开发的购物车系统

    在本文中,我们将深入探讨如何使用Rails敏捷开发技术构建一个购物车系统,特别是在参考《rails敏捷开发第四版》中的示例。Rails 3.2.6是本文的基础框架,它是一个强大的Ruby Web应用程序框架,以其MVC(模型-视图-...

    rails cookbook

    10. **错误和调试**:如何追踪和修复常见的Rails问题。 通过这本书,读者不仅可以学习到Rails的使用方法,还能了解到良好的开发实践和技巧,提升自己的Rails开发技能。同时,博客链接提供的额外资源可作为补充学习...

Global site tag (gtag.js) - Google Analytics