Module

M02: Authentifizierungsfehler

Bei mehreren Aufgaben hier hilft Recherche – manchmal auch ein Stück Social Engineering.

Zu manchen Aufgaben stehen die Hinweise öffentlich im Netz.

  1. Aufgabe 01

    Log in mit dem Admin-Account ohne SQL Injection

    Diese Aufgabe zählt nur mit dem ursprünglichen Passwort des Administrators. Wurde es versehentlich schon geändert: keine Sorge, das Originalpasswort wird weiterhin akzeptiert.

    Raten kann funktionieren. Admins wählen selten starke Passwörter. Die Anmeldung geht über 'admin@juice-sh.op'.

    Liegt der Passwort-Hash des Admins vor, offline angehen.

    Mit einer gängigen Passwortliste ist auch Brute-Force denkbar.

  2. Aufgabe 02

    Jims Passwort zurücksetzen

    Jims Passwort über „Passwort vergessen“ zurücksetzen – mit der originalen Antwort auf seine Sicherheitsfrage.

    Ohne Jims E-Mail-Adresse (jim@juice-sh.op) startet der Reset nicht.

    Der schwierigste Teil ist oft herauszufinden, wer Jim wirklich ist.

    Jim hat eine der schlechtesten Sicherheitsfragen gewählt und wahrheitsgemäß beantwortet. Die Antwort steht nicht im Shop-Quelltext.

    Jim ist prominent – öffentlich zugängliche Infos reichen. Mit der richtigen Wortliste wäre sogar Brute-Force denkbar.

  3. Aufgabe 03

    Benders Passwort in "slurmCl4ssic" ändern ohne SQL Injection

    Zuerst als Bender anmelden (bender@juice-sh.op). Danach sein Passwort in slurmCl4ssic ändern – ohne das aktuelle Passwort zu kennen, ohne SQL Injection und ohne „Passwort vergessen“.

    Das Passwort über die API /rest/user/change-password ändern.

    Die Lücke steckt in einem schwachen Mechanismus, nicht in CSRF.

    Benders aktuelles Passwort ist so stark, dass Brute-Force und Rainbow Tables praktisch ausscheiden.

  4. Aufgabe 04

    Log in mit einem gelöschten Konto

    Chris hat sein Konto löschen lassen. Trotzdem als Chris anmelden.

    Mit der Umsetzung des „Rechts auf Vergessenwerden“ ist hier technisch und rechtlich etwas faul.

    Die Funktion Request Data Erasure einmal selbst ausprobieren erklärt das Problem, löst die Aufgabe aber nicht.

    Wer die Anmeldedaten schon per SQL Injection gezogen hat (M01, Aufgabe 5), hat gesehen, wie der Shop Nutzer „löscht“.

    Der Datensatz bleibt. Damit entscheidet die Anmeldelogik, ob ein gelöschtes Konto noch zählt.

  5. Aufgabe 05

    Zweiten Faktor von wurstbrot übernehmen

    Die 2FA-Hürde des Nutzers wurstbrot lösen. Abschalten, Umgehen oder Überschreiben seiner 2FA-Einstellungen zählt nicht.

    Erst ansehen, wie 2FA im Shop im Normalfall eingerichtet und benutzt wird.

    Verstehen, wie TOTP funktioniert – und welcher Teil davon der wirklich sensible ist.

    Für jeden Nutzer muss der Shop dieses Geheimnis irgendwo speichern. Einen Weg dorthin finden.

    Die Anmeldedaten aus M01, Aufgabe 5 helfen, tragen aber nicht bis zum Ziel.