Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2015-3224 — CVE-2015-3224 Exploit - Rails Web Console RCE | Kitploit
Tools/GitHubGitHub/squ4nch/cve-2015-3224
ReconnaissanceVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRemote Access Tool
GitHubsqu4nch/cve-2015-3224

CVE-2015-3224

CVE-2015-3224 Exploit - Rails Web Console RCE

View Repository
128 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2015-3224 Exploit - Rails Web Console RCE

A JavaScript implementation (Node.js) of the exploit for CVE-2015-3224. This tool targets Ruby on Rails applications running vulnerable versions of the web-console gem, allowing unauthenticated Remote Code Execution (RCE).

About the Vulnerability

CVE-2015-3224 allows an attacker to bypass the IP whitelist protection of the Rails web-console gem.

The web-console is a debugging tool intended to be used only during development. By default, it restricts access to the 127.0.0.1 (localhost) IP address. However, vulnerable versions verify the client's IP address based on the X-Forwarded-For HTTP header without proper validation.

By crafting a request with a specific spoofed IP (e.g., 0000::1), an attacker can trick the application into believing the request is coming from a trusted local source. Since the console evaluates Ruby code, this leads to immediate Remote Code Execution (RCE).

How it Works

This script automates the exploitation process in two main steps:

  1. Reconnaissance & Path Extraction:

    • The script forces a 404 error on the target to trigger the Rails debug page.
    • It parses the HTML response to extract the hidden data-remote-path, which is a unique session ID required to interact with the console.
  2. Payload Injection:

    • It constructs a PUT request to the discovered console path.
    • It injects the X-Forwarded-For: 0000::1 header to bypass the IP check.
    • It sends the user-defined command inside the input parameter (properly formatted as a form-url-encoded body).
    • Finally, it extracts and cleans the command output from the JSON response.

Prerequisites

  • Node.js (v18 or higher recommended for native fetch support).

Usage

Clone the repository and run the script directly with Node.js:

root@kitploit:~
# Syntax
node exploit.js [TARGET_URL] [COMMAND]

# Example
node exploit.js http://vulnerable-site.com "uname -a"

Example Output

root@kitploit:~
[*] Target: http://vulnerable-site.com
[*] Command: whoami
[+] Console path found: console/repl_sessions/cd984a0d............

[+] Command Output:
---------------------------------------------------

webrick

---------------------------------------------------

Mitigation

To fix this vulnerability, update the web-console gem to version 2.1.3 or higher in your Gemfile:

root@kitploit:~
gem 'web-console', '>= 2.1.3'

Alternatively, ensure that the web console is strictly disabled in production environments.

License

Distributed under the MIT License.

Download Tool