写点什么

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

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

关注

评论

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

Native Instruments Kontakt 7 for Mac v7.8.1激活版下载

iMac小白

测试管理进阶 | 量力而行:避免成为替罪羊

测试人

软件测试 测试开发 测试管理

金芮学院派的优秀践行者

Geek_2d6073

即时通讯技术文集(第33期):IM开发综合技术合集(Part6) [共12篇]

JackJiang

网络编程 即时通讯 IM

听 GPT 讲 client-go 源代码 (12)

fliter

真香!NineData SQL 开发全面适配 GaiaDB

NineData

数据库 百度云 数据源 NineData GaiaDB

【线上直播】KaiwuDB 分布式系统 Range Split & Merge 原理详解

KaiwuDB

数据库 数据分区

JavaScript 的新数组分组方法

EquatorCoco

JavaScript 数组 开发语言

graphpad prism for Mac(专业医学绘图工具) v10.2.0激活版

iMac小白

Garden Planner for Mac(园林绿化设计软件) v3.8.58注册激活版

iMac小白

AI给我们带来哪些方面惊喜呢?

小齐写代码

万界星空科技电子机电行业MES系统,2000元/年起

万界星空科技

制造业 mes 电子 电子mes 电子行业

2024年API经济的十大预测

幂简集成

API API经济

Web3.0区块链技术开发方案:mint铭文铭刻制度开发

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

网络技术探析:SDN、SD-WAN、CDN和SDH的关联与演进

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

深耕人工智能技术创新,天翼云荣获AAAI 2024竞赛冠军

编程猫

SD-WAN如何降低运维成本、简化运维工作?

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

分享6个当下最受欢迎的 Vue UI 库

伤感汤姆布利柏

不懂技术也能轻松搭建网站!美国虚拟主机的简易指南!

一只扑棱蛾子

虚拟主机 美国虚拟主机

专精特新“广东造” | 华大北斗:从“芯”出发 挺起产业“脊梁”

江湖老铁

华为云软件开发生产线CodeArts前端DevOps实践

华为云PaaS服务小智

云计算 软件开发 华为云

听 GPT 讲 client-go 源代码 (11)

fliter

Metasequoia 4 for Mac(水杉3D建模器) v4.8.6e激活版

iMac小白

墨天轮2023年度数据库获奖名单

墨天轮

数据库 opengauss oceanbase 达梦 polarDB

6个受欢迎的 Angular 库

伤感汤姆布利柏

Google Adsense探索系列_第二弹(成功通过审核)

fkys

网站 Google 审核 adsense

Aiseesoft AnyCoord for Mac(GPS虚拟定位软件) v1.0.36激活版

iMac小白

基于 Fluid+JindoCache 加速大模型训练的实践

阿里巴巴云原生

阿里云 云原生 Fluid

A Comprehensive Guide IPQ5018-IPQ6010-IPQ6018-IPQ8072-IPQ8074

wallyslilly

IPQ6010 ipq6018 IPQ8072

什么是DevOps

华为云PaaS服务小智

DevOps 软件开发

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