阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

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

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

关注

评论

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

ETL数据集成丨主流ETL工具(ETLCloud、DataX、Kettle)数据传输性能大PK

RestCloud

kettle 数据同步 ETL DataX ETLCloud

解锁京东商品详情数据接口:打造电商智能分析新利器

tbapi

京东商品详情数据接口 京东API

低代码激发数字经济新动能:重塑企业创新与效率

不在线第一只蜗牛

低代码 数字经济

民航业电子签章应用报告:工卡、放行单电子化,飞机维护维修提效

Geek_2a38d5

电子签章

【一步到位】怎样免费下载YouTube视频?

Sabrina

youtube视频下载 油管视频下载 下载油管视频 YouTube视频下载工具 油管视频

零代码教你安装部署Stable Diffusion 3,一键生成高质量图像

华为云开发者联盟

人工智能 华为云 AIGC 华为云开发者联盟 企业号2024年7月PK榜

观测云对接 Jaeger 最佳实践

观测云

IoTDB 集群高效管理:一键启停功能介绍

Apache IoTDB

在 Windows 平台搭建 MQTT 服务

EMQ映云科技

mqtt mqtt broker

快速把握数据要素X战略结构

蛙人族

Data Lake 大数据‘’

抖音接口推荐:抖音商品详情数据接口(douyin.item_get)

tbapi

抖音 抖音商品数据采集 抖音商品详情数据接口 抖音API

轻松管理抖音店铺:抖音视频详情数据接口自动化教程

tbapi

抖音API 抖音视频详情接口 抖音视频数据接口 抖音视频数据采集

Pebble 携手 Footprint Analytics:数据领航,重塑区块链游戏领域

Footprint Analytics

链游

挖掘二手市场的金矿:闲鱼商品详情数据接口策略指南

tbapi

闲鱼API 闲鱼商品详情数据接口 闲鱼商品数据采集

萝卜快跑火了,他却在背后悄悄招聘这些人....

王磊

“云计算一哥”深夜放大招:几分钟,纯靠Prompt打造一个App!

Openlab_cosmoplat

人工智能

Go语言map并发安全,互斥锁和读写锁谁更优?

秃头小帅oi

1688商品详情数据接口全面解析,数据驱动决策,精准营销不再是梦!

tbapi

1688商品详情数据接口 1688商品数据采集 1688 API

观测云:全栈监控的先行者

可观测技术

可观测性

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