AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

Ruby on Rails 出现脚本和计时器安全问题

  • 2009-09-26
  • 本文字数:1241 字

    阅读完需:约 4 分钟

最近发现的两个安全问题给 Ruby on Rails 社区带来了一些忙乱,每个 Rails 开发者都必须注意近期发布的升级包。

易受攻击的跨站脚本

第一,可能是最严重的就是 Brian Mastenbook 发现的跨站脚本(XSS)的脆弱,并且在他的博客中报告了这个问题。Brian 描述了他是如何对 Twitter 和 37signals Basecamp 的 Ruby on Rails 进行跨站脚本攻击的。

我的注意力很快地转向了 Twitter ,这是我当时运行的唯一一个 Web 应用程序。一会儿,我发现一个 URL 查询参数中的 Javascript 代码导致溢出,在 twitter.com 的主体中运行。是的!跨站脚本,这就是 Twitter 蠕虫的制作方法。但是这个问题是只针对 Twitter,还是能够在其他站点运行? 我很快用一个测试 Basecamp 账号进行了实验。Basecamp 也是和 Twitter 类似,使用了 Ruby on Rails 作为其 Web 前端,所以这是一个测试上述问题是只针对 Twitter 还是普遍存在于 Rails 中的好办法。果不其然,同样的能够攻击 Twitter 的恶意 UTF-8 字符串也能够影响 Basecamp。

虽然这种攻击的可能性不是很高,但是 Ruby on Rails 团队很快做出了反映,检查了这个报告并且为 Rails 2.0 - 2.3 发布了补丁。

这些补丁是 git-am 格式的,包含两个更新部分。清理多字节字符串的代码和这些代码的相关帮助。 - 2-0-CVE-2009-3009.patch – 2.0 版本补丁

团队建议将不支持的 Rails 升级到现在的版本,因为未来发现的问题解决方案也可能不会支持本次未支持的版本。我们要注意,只有 Rails 2.2.x 和 2.3.x 是将来肯定会支持的。

脆弱的计时器

另外一个问题类似于计时器攻击。这种攻击和Rails 验证储存在cookie 中的消息摘要有关,这个缺陷允许一个攻击者来决定伪造签名能够在什么时候通过验证。这可能诱引其他的攻击,例如伪造摘要。

Rails 团队承认这种攻击是不太可能的,但是他们还是建议打上补丁。补丁现在只是支持 Rails 2.2.x 和 2.3.x:

这些补丁是 git-am 格式的,现在只是包含了单一的代码部分。 - 2-2-timing-weakness.patch – 2.2 版本补丁

Coda Hale 是这个 Rails 计时器问题的发现者。他的网站很好地解释了计时器问题的概念以及它们是如何被利用的。

Ruby on Rails 2.3.4

Rails 开发者还是没有忘记给他们运行在 Ruby on Rails 2.3.4 的 Rails 程序打上最新的补丁,这个补丁修正了一些 bug,并且处理了上述两个安全问题。

安全修复

2.3.4 修复了两个报告给我们的安全问题。欲知详情请查看安全通告。

Bug 修正

感谢 BugMash 的帮助,我们在这个版本中修复了大约 100 个 bug。当然不会修复在开发模式下和 rack 中间件以及 rails metal 封装引起的重载问题。

这个版本也包括了一个新特性,能够通过一个简单的 rake db:seed 命令将 seed 数据添加到项目数据库。

查看英文原文: Ruby on Rails Security Vulnerabilities

2009-09-26 20:051898
用户头像

发布了 90 篇内容, 共 36.1 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

英特尔拥抱开源,岂能没有杀手锏?

E科讯

使用高级视频质量工具 AVQT 评估视频 | WWDC 演讲实录

网易云信

机器学习 算法 音视频

Rust从0到1-自动化测试-运行测试

rust 自动化测试 Automated Tests 运行测试

怎么办,linux的常用命令就是记不住?于是每天推一些linux指令实践总结

李阿柯

面试 操作系统 linux运维

解密开源技术的污点

BeeWorks

Facebook Chat真的是世界第三大即时通讯客户端吗?

BeeWorks

作为后端开发者的思考:如何看待如今的前端架构

吴脑的键客

大前端 后端

深度学习分类任务常用评估指标

华为云开发者联盟

机器学习 深度学习

听说一代数据库大侠都是这样练成的?

华为云数据库小助手

数据库 GaussDB 华为云数据库

Android快速转战Kotlin教程,附详细答案

欢喜学安卓

android 程序员 面试 移动开发

法国政府的"安全 "WhatsApp替代品在短短90分钟内被破解

BeeWorks

让AI发展避开“暗礁”,索信达控股推出自研区块链+联邦学习解决方案

索信达控股

区块链 金融科技 联邦学习 金融监管 风控

存储大师班:NFS 的诞生与成长

青云技术社区

存储 分布式存储 NFS

Vue Conf关于Vite的分享给我带来的启发

前端森林

vite esm Vue 3

在北鲲云超算平台上做球体落入水中的流固耦合仿真模拟记录

北鲲云

云小课 | MRS基础入门之HDFS组件介绍

华为云开发者联盟

hadoop hdfs 分布式文件系统 MapReduce服务 数据读写

英特尔院士Johanna Swan:极致的异构集成是半导体封装未来趋势

E科讯

用超出行业平均薪资招人?

石云升

职场经验 管理经验 6月日更

CloudQuery 使用教程之《No.2数据查询(上)》

BinTools图尔兹

sql dba 数据库管理工具 国产数据库 开发运维

电梯“惊魂”事故频频发生,可视化全平台覆盖,远程值守高效监控

一只数据鲸鱼

数据可视化 智慧城市 智慧园区 智慧电梯

🏆「终」【JVM 性能调优】「CMS 垃圾回收器」优化实战分析(补充版)

码界西柚

CMS JVM GC调优 6月日更

Spring @Transactional 注解是如何执行事务的?

程序员小航

Java MySQL spring 事务 代理

透过 3.0 Preview 看 Dubbo 的云原生变革

try catch

oneAPI开启新征程 英特尔拥抱开源打造软件生态

E科讯

什么是SSD Sanitize数据擦除技术?

怀瑾握瑜

存储 SSD 数据保护 备份 删除

华为云数据库GaussDB(for Cassandra)揭秘:内存异常增长的排查经历

华为云开发者联盟

nosql 云原生 Cassandra 华为云数据库 GaussDB(for Cassandra)

WICC 2021来袭 融云领衔探索互联网通信云技术新方向

融云 RongCloud

JAVA 面向对象 (十二)-- 关键字this

加百利

Java 关键字 this 6月日更

技术解密 |阿里云多媒体 AI 团队拿下 CVPR2021 5 冠 1 亚成绩的技术分享

阿里云CloudImagine

阿里云 AI 计算机视觉 经验分享 CVPR

今天带你详细了解各组件原理!面试建议

欢喜学安卓

android 程序员 面试 移动开发

云管理平台建设,这项功能必不可缺 ↓

BoCloud博云

云管理平台

Ruby on Rails出现脚本和计时器安全问题_Ruby_Robert Bazinet_InfoQ精选文章