Skip to content
/ sse Public

PHP Applikation zur Notenverwaltung von Studenten auf Basis von Laravel. - Entwickelt für ein CTF!

Notifications You must be signed in to change notification settings

kaeltis/sse

Repository files navigation

Build Status

PHPGrade

PHP Applikation zur Notenverwaltung von Studenten auf Basis von Laravel.

Achtung

Achtung, diese Applikation wurde für ein CTF entwickelt, es existieren absichtlich Sicherheitslücken!

Flags

  • 1 - Link zu MySQL Admin Webinterface in robots.txt
  • 2 - MySQL Interface mit sehr einfachem Passwort (root:toor) gesichert
  • 3 - XSS in Profilfeldern
  • 4 - SQL Injection über Notensharing Funktion
  • 5a - Controller zum Update der User nicht geschützt, User können beliebig durch POST/PUT geändert werden (inkl. Gruppe)
  • 5b - Tatsächliche Veränderung der Gruppe durch nicht-privilegierten User

Behebung der Flags

  1. Keine sensiblen URLs über robots.txt preisgeben. Noch besser: robots.txt gar nicht benutzen und Crawler mit dem Webserver über die User-Agenten blocken.
  2. Wenn SQL-Webinterface verwendet wird, dieses mit einem sicheren Passwort, Captcha und Rate-limiting absichern. Optimal: Tunnel vom Entwickler direkt zum MySQL Server über SSH mit publickey aufbauen.
  3. Eingaben der Nutzer nur nach vorherigem Escape ausgeben. Mit Laravel im View: {{ $wert }}
  4. Für SQL-Abfragen mit Inhalten von Anwendern Prepared Statements verwenden. Mit Laravel im Controller: DB::table('tabelle')->where('zeile', '=', $wert)->get();
  5. Rollen- bzw. Rechteüberprüfung nicht nur in Views, sondern auch im Controller. Mit Laravel über Middleware im Controller.

About

PHP Applikation zur Notenverwaltung von Studenten auf Basis von Laravel. - Entwickelt für ein CTF!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages