hackatoll
Zur Lernplattform

Wissen › Open Redirect / Unvalidated Redirect

Open Redirect / Unvalidated Redirect

Eine Weiterleitung übernimmt ein ungeprüftes Ziel aus dem Request und schickt Besucher auf eine fremde Domain.

Weiterleitungen Schweregrad: Mittel

Von einem Open Redirect spricht man, wenn eine Anwendung ein Weiterleitungsziel aus dem Request übernimmt, ohne ausreichend zu prüfen, wohin umgeleitet wird. Angreifer hängen eine fremde Zieladresse an einen vertrauenswürdigen Link – das Opfer sieht die bekannte Domain, landet aber woanders. Das ist die klassische Grundlage für glaubwürdiges Phishing.

Wie der Angriff funktioniert

Beispiel

Der Unterschied ist die Zielprüfung – Blockliste vs. Freigabeliste:

// verwundbar: nur "lokal?" per Blockliste, Ergebnis roh als Location
$ziel = GeneralUtility::sanitizeLocalUrl($_GET['ziel']); // /\evil.example kommt durch
if ($ziel !== '') { header('Location: ' . $ziel); }

// sicher: gegen feste Freigabeliste prüfen
$erlaubt = ['/tauchen', '/kontakt'];
if (in_array($ziel, $erlaubt, true)) { header('Location: ' . $ziel); }

Mögliche Auswirkungen

◆ In TYPO3 beachten

Worauf du in TYPO3 achten musst

In TYPO3 entstehen Open Redirects überall dort, wo ein Request-Parameter als Weiterleitungsziel dient – in eigener Glue-Logik ebenso wie in Extensions. Der Core stellt mit GeneralUtility::sanitizeLocalUrl() einen Helfer bereit, der aber nur so sicher ist wie seine Verwendung.

sanitizeLocalUrl ist kein Freifahrtschein

Bis 11.5.50 prüfte die Funktion per Blockliste; Pfade wie /\host wurden fälschlich als lokal akzeptiert (CVE-2026-47347). Der Fix in 11.5.51 ELTS stellt auf eine strikte Freigabeliste um.

Rückgabewert nicht roh weiterverwenden

Selbst ein korrekt geprüftes Ziel sollte serverseitig absolut aufgelöst und gegen erlaubte Hosts/Pfade abgeglichen werden, statt den String direkt als Location zu senden.

felogin & Co.

felogins redirect_url läuft durch denselben Validator. Dass das v11-felogin die Location zusätzlich absolutiert, entschärft den /\-Trick dort zufällig – verlass dich nicht darauf, sondern prüfe Ziele explizit.

Schutzmaßnahmen

Interaktiv üben

In der Lernplattform kannst du diese Schwachstellenklasse an einer echten, isolierten TYPO3-Instanz nachvollziehen:

Weiterlesen

Jetzt interaktiv üben →