写点什么

GitHub 遭遇 Mass Assignment 漏洞攻击

  • 2012-03-19
  • 本文字数:728 字

    阅读完需:约 2 分钟

GitHub 最近遭遇了一场 Ruby on Rails 漏洞攻击,该漏洞被称为 mass assignment。此漏洞被认为不仅影响了大量基于 Ruby 的网站,还对使用 ASP.NET MVC 和其他 ORM Web 框架的网站造成了破坏。

Mass assignment 用于将表单数据映射为对象,它在单独使用时是一项安全且高效的技术。这与 ASP.NET 中的数据绑定异曲同工,并且后者在单独使用时也同样很安全。其实,真正的漏洞是由于粗心大意地混用了 mass assignment 和 ORM。

考虑这样的场景:数据库包含一张“用户”表,其中混杂了敏感和非敏感数据,例如可能有些列代表用户显示姓名、电子邮件地址以及是否为管理员。开发人员希望创建一个页面修改显示姓名及电子邮件地址。为了达到这个目的,他们使用 Rails 或 MVC 脚手架自动生成了域对象,或许还有 view 本身。接下去,他们将用户无法编辑的字段,如“是否为管理员”复选框从 view 中移除。

如果开发人员忘记将 IsAdministrator 属性从域对象中移除,那么一个安全漏洞便就此产生。如果他们没有进行移除,那么 mass assignment 或数据绑定器可能会陷入某种圈套,它们会在合法改动中更新不该修改的属性。接下去,当记录保存时,ORM 库会悄无声息地存储新值。

有三种靠谱的方案可以解决该问题:

  • 标记不可被更新的属性,让 mass assignment/ 数据绑定器将其忽略;
  • 彻底清除业务对象中实际不需要的属性;
  • 创建模型专门接受更新请求,并手工将它们映射到 ORM 对象或存储过程调用。

应当指出,这并不是一个新的漏洞。我们可以很容易地找出 4、5 年前关于mass assignment 的警告,例如标题为“ Mass Assignment,黑客们的最爱”以及“不想被黑就使用attr_protected ”的文章。这次唯一不同的是受害站点知名度较高。

查看英文原文: http://www.infoq.com/news/2012/03/GitHub-Compromised

2012-03-19 08:422773
用户头像

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

关注

评论

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

数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘。图算法,搜索算法等

汀丶人工智能

人工智能 数据挖掘 机器学习 深度学习 决策树

POCO库的安装与基础知识说明

芯动大师

华为云图像识别Image:技术服务提供商的首选

平平无奇爱好科技

​瓶颈期别挣扎了,低代码或许可以帮到你

伤感汤姆布利柏

通过容器化实现前端微服务化架构设计

FinFish

小程序容器 小程序化 小程序技术 前端服务化

高性能存储SIG月度动态:io_uring支持nvme直通,DSMS完成开发测试

OpenAnolis小助手

开源 io_uring 高性能存储 anck 龙蜥sig

华为开发者大会2023(Cloud):华为云邀您共话开源

华为云开源

开源 云原生 HDC.Cloud

华为云语音交互服务SIS——与人打交道的智慧软件,非常值得一试

平平无奇爱好科技

想要快速上线网站?香港虚拟主机助你一臂之力!

一只扑棱蛾子

香港虚拟主机

自从前端用上了低代码,开发速度直接起飞

伤感汤姆布利柏

复杂的舆论场,企业该如何保障内容审核安全?

平平无奇爱好科技

Flink-Learning 实战营在升级!更多精美好礼等你来!

Apache Flink

大数据 flink 实时计算

和鲸科技 ModelWhale 入选北京市人工智能行业赋能典型案例(2023)丨2023全球数字经济大会人工智能高峰论坛

ModelWhale

人工智能 AI 数字化 大模型 论坛

营销SaaS SemRush 2.9 亿美元年收入的五个经营数据分析

B Impact

组合框架:融合创新技术,实现一次编码多平台运行

FinFish

flutter 跨端开发 小程序容器 跨端框架 跨端应用开发

华为云CodeArts Artifact 5大特性,揭秘大型企业制品管理面纱

云计算 华为云 华为开发者大会2023

创新引擎加速数字时代:揭秘JNPF平台与云计算的完美共舞!

不在线第一只蜗牛

云计算 低代码 数字化

MQTT 性能测试入门:常见测试场景和指标

EMQ映云科技

物联网 性能测试 mqtt

第十八届研电赛“安谋科技杯”上海赛区决赛成功举办

脑极体

AI

复旦大学附属中山医院:利用明道云进行风险管理及器械溯源的实践案例分享

明道云

DevOps|从腾讯TEG CDC解散聊技术中台价值和建设

laofo

DevOps 研发效能 技术中台 组织建设

[杂谈] pdfbox 2.0.28 文字水印移除操作(Acrobat/WPS)

alexgaoyh

Java PDF remove pdfbox text watermarker

华为云视频封面&摘要服务:让视频内容更具吸引力

平平无奇爱好科技

多项目管理难在哪,多项目同时进行该如何做好进度管理?

优秀

项目管理 项目进度管理

追击策略?微软云服务器业务2022年规模少于亚马逊AWS一半

B Impact

算法复杂度介绍

宁静知行者

算法

GitHub遭遇Mass Assignment漏洞攻击_Ruby_Jonathan Allen_InfoQ精选文章