原文地址:http://drops.wooyun.org/web/12750

Author: Lobsiinvok

0x00 前言


Rails是Ruby广泛应用方式之一,在Rails平台上设计出一套独特的MVC开发架构,采取模型(Model)、外观(View)、控制器(Controller)分离的开发方式,不但减少了开发中的问题,更简化了许多繁复的动作。

此篇讲稿分为上下部份,因为最近在开发Rails,需要针对安全问题做把关,便借此机会针对历史上Rails发生过的安全问题进行归纳与整理。

这篇讲稿承蒙安全领域研究上的先进,在自行吸收转​​换后,如有笔误或理解错误的地方还望各位见谅并纠正我,感谢 :D


快速跳转

0x01 Mass assignment


0x02 Unsafe Query Generation


Code for Testing

p5

Rails 3.1.0: 成功绕过nil?的检查

p6

Rails 4.2.5: 被拦截,直接替换成nil

p7

0x03 Content_tag


Rails提供content_tag方便产生HTML

Why?

0x04 YAML.load


难得一见的RCE漏洞(CVE-2013-0156)

p12

p13

Ref: Rails 3.2

Proof

Rails 3.1: 成功执行指令

p14

难得一见的RCE漏洞(CVE-2013-0333)

p15

Rails 3.0.20

0x05 Dynamic Render Path


Render是处理request的一连串过程

0x06 Reference