🔌 Owner MCP

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.

post/mcp/oauth/discord

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

unknown required

Changes

No recorded changes to this operation across all 1 revision of this API.