Discord Start
Schickt den Browser zu Discord. Nur aus dem Formular der Anmeldeseite.
Geprüft wird vorher dasselbe wie auf der Anmeldeseite. Der Grund ist derselbe: ein Fehler darf nicht an eine fremde Adresse weitergeleitet werden, sonst wäre der Endpunkt ein offener Umleitungsdienst.
─── Warum POST und nicht GET ──────────────────────────────────────────
Als GET war das ein Link, und ein Link laesst sich verschicken. Die erste Fassung band den Rueckweg per Keks an den Browser; der Angriff brauchte daraufhin nur einen anderen Link:
Der Angreifer meldet per offener Registrierung einen Client mit eigener Rueckkehradresse an und schickt dem Eigentuemer DIESEN Startpunkt statt des discord.com-Links. Dessen Browser setzt sich den Keks selbst, laeuft zu Discord, kommt zurueck — Keks und Nonce passen, weil beide aus demselben Browser stammen — und der Code fuer die Identitaet des Eigentuemers geht an die Adresse des Angreifers. Am Ende steht ein Owner-MCP-Token in fremder Hand, und das oeffnet notoq_sql auf der Produktionsdatenbank.
Ein POST ist kein Link. Ein Formular auf fremder Seite hilft auch nicht: der Keks traegt samesite=lax und geht bei einem Cross-Site-POST nicht mit.
Request
- Base URL: https://api.notoq.xyz (the document declares no server; this is the origin it was published from)
- URL: https://api.notoq.xyz/mcp/oauth/discord
- Auth: none declared
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.