CVE-2013-0156: Rails Object Injection

This exercise covers the exploitation of a code execution in Ruby-on-Rails using XML and YAML.

< 1 Hr.


This course delves into the CVE-2013-0156 vulnerability, which affects Ruby on Rails by allowing arbitrary deserialization, potentially leading to SQL injection and code execution. The primary focus of this course is on achieving code execution through this vulnerability. The course includes a detailed walkthrough of a public exploit, explaining how to craft a payload that can be used to execute arbitrary Ruby code on a server. The exploit leverages Rails' support for XML parsing and the inclusion of YAML within XML to bypass certain security restrictions. By using the provided exploit, learners can see how to adapt it to gain code execution, taking into account the nuances of YAML and XML parsing in Rails.

The video transcript provides a comprehensive overview of how XML parsing in Ruby on Rails can be exploited for code execution. It covers the default parsers in Rails and how the vulnerability arises from the handling of XML and YAML types. The transcript also explains the steps to reproduce the exploit using different XML parsers in Ruby, highlighting the differences in how each parser handles typecasting and deserialization. By following along, learners can gain a deeper understanding of the underlying mechanisms that make this vulnerability exploitable and how to craft effective payloads to achieve code execution.

Ultimately, this course equips learners with the knowledge and practical skills needed to exploit CVE-2013-0156, providing a valuable hands-on learning experience in ethical hacking and vulnerability exploitation.

Want to learn more? Get started with PentesterLab Pro! GO PRO