2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:422788
用户头像

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

关注

评论

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

腾讯安全领御区块链与张裕集团达成战略合作,打造高端葡萄酒区块链溯源平台

CECBC

产品溯源 无法篡改

Springboot拦截器使用及其底层源码剖析

南方有乔木兮

机器学习基石第四节 学习笔记

Geek_4z9ami

Machine Learning

Java异步之《我call(),Future在哪里》

BUZHIDAO

继oneAPI之后,英特尔为异构计算跨架构编程再添“利器” 发布全新机器编程系统

最新动态

机器学习基石第三节 学习笔记

Geek_4z9ami

Machine Learning

机器学习基石第五节 学习笔记

Geek_4z9ami

Machine Learning

我收集的 3 个企业经营“失败”案例

霍太稳@极客邦科技

JVM系列:通过一个例子分析JIT的汇编代码

简爱W

Android Development最佳实践

teoking

零代码可视化开发平台iVX是什么?

代码制造者

编程语言 可视化 零代码 iVX

Go: 并发访问 Map — Part III

陈思敏捷

并发 map sync Go 语言

Java七种排序算法以及实现

狸猫换太子

Java 排序算法 实现

并发编程基础原理

刚刚🏂

ARTS打卡Week 09

teoking

最牛逼的Java框架,没有之一

我是苞谷

IDEA 插件找不到?看这里!那就自己敲一个!

程序员小航

json IDEA 开发工具 idea插件 IntelliJ IDEA

助力银行核心下移,监控分布式数据库,融天鹰眼轻松应对五大挑战

DT极客

一年多远程工作经验,说说真实的感受

盛安德软件

机器学习基石第一节 学习笔记

Geek_4z9ami

Machine Learning

密码朋克的社会实验(三):比特币发明了什么

腾讯安全云鼎实验室

比特币 区块链 密码学

职场求生攻略答疑篇之 2 —— 无所适从的向上沟通

臧萌

LeetCode题解:189. 旋转数组,使用新数组Copy,JavaScript,详细注释

Lee Chen

大前端 LeetCode

信创舆情一线--抖音、微信读书被判侵害用户个人信息权益

统小信uos

webRTC框架下的视频主动丢帧

fumingwang

音视频 WebRTC

【写作群星榜】7.24~7.31 写作平台优秀作者 & 文章排名

InfoQ写作社区官方

写作平台 排行榜 热门活动

机器学习基石第二节 学习笔记

Geek_4z9ami

Machine Learning

秒杀系统

俊俊哥

秒杀

数据结构与算法之排序

shirley

排序算法

如何进行需求梳理及埋点方案设计

易观大数据

dubbo-go 中使用 sentinel

apache/dubbo-go

dubbo sentinel Go 语言

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