Zum Inhalt springen
EUID Prüfservice & Prüfsiegel, Startseite
Website prüfen lassen

Prüfpunkt software.token.in_adresseSitzung, Cookies und Zahlungsdaten

Was passiert mit einem Schlüssel, der in der Adresse eines Links steht?

Manche Websites hängen einen Schlüssel an die Adresse eines Links, etwa ?token=… für einen Download, ?api_key=… für eine Schnittstelle oder ?sid=… für die Sitzung. Wer die Adresse kennt, hat damit den Zugang. Die Prüfung sucht im Quelltext jeder gemessenen Seite Links, Formularziele und eingebundene Dateien, deren Adresse einen solchen Schlüssel enthält.

Die Norm für Zugriffsschlüssel rät von der Adresse ab

Viele Dienste arbeiten mit Zugriffsschlüsseln, die allein schon den Zugang öffnen. Die IETF-Norm RFC 6750 beschreibt solche Schlüssel und sagt: Sie sollen nicht in Seitenadressen stehen. Als Grund nennt sie die hohe Wahrscheinlichkeit, dass die Adresse irgendwo protokolliert wird. Das Sicherheitsprojekt OWASP nennt für Sitzungskennungen dieselbe Gefahr und zählt auch Lesezeichen und Suchmaschinen auf.

Was im öffentlichen Quelltext steht, bekommt jeder Besucher

Ein Schlüssel im Quelltext einer öffentlichen Seite geht an jeden, der sie aufruft: an Kunden, an Suchmaschinen und an Programme, die das Netz nach Zugängen absuchen. Ein Weg, den Sie nachverfolgen könnten, bleibt dabei kaum. Wurde ein solcher Schlüssel genutzt, um an Kundendaten zu kommen, verlangt Artikel 33 der DSGVO bei einem Risiko für die Betroffenen die Meldung an die Aufsichtsbehörde, möglichst binnen 72 Stunden.

Ohne Schlüssel in der Adresse werden Protokolle harmlos

Sind die alten Schlüssel gesperrt und steht in der Adresse keiner mehr, sehen Hoster, Agentur und Statistikdienst nur noch Seitenaufrufe, mit denen sich nichts öffnen lässt. Alte Protokolle müssen Sie dann nicht mehr wie Passwortlisten behandeln. Ein kopierter Link öffnet nur noch die Seite, und Ihre Kunden können ihn gefahrlos weitergeben.

Auf der Passwort-Seite reicht ein Link im Seitenfuß

MDN beschreibt den typischen Fall: Eine Seite zum Zurücksetzen des Passworts hat im Seitenfuß einen Link zu einem sozialen Netzwerk. Folgt der Besucher ihm, kann das Netzwerk je nach Einstellung die Adresse samt Schlüssel erhalten. MDN rät deshalb, fremde Inhalte von Passwort-, Anmelde- und Zahlungsseiten zu entfernen. OWASP verlangt für die Passwort-Seite die Referrer-Policy no-referrer.

Adressen werden gespeichert und weitergegeben

Eine Adresse steht im Verlauf des Browsers und in den Protokollen des Webservers, des Hosters und jedes Zwischenspeichers dazwischen. Besucher kopieren Links in Mails und Chats. Folgt ein Besucher einem Link auf eine andere Seite derselben Website, schickt der Browser die volle Adresse als Herkunft mit; fremde Websites bekommen sie je nach Referrer-Policy. Ein Schlüssel gilt, bis er abläuft oder gesperrt wird, und wer ihn auf einem dieser Wege findet, kann ihn verwenden.

Gemessen werden Links, Formulare und Dateien im Quelltext

Die Prüfung liest den Quelltext jeder gemessenen Seite und sucht in den Attributen href, action und src nach Parametern mit den Namen token, access_token, api_key, apikey, secret, reset, auth, sessionid, sid und jwt. Ein Fund zählt erst, wenn der Wert mindestens 16 Zeichen lang ist, wie ein echter Schlüssel. Der Bericht nennt bis zu fünf Adressen und zeigt vom Wert nur die ersten sechs Zeichen. Adressen, die erst nach einer Anmeldung erscheinen, sieht die Prüfung nicht.

Sitzung im Cookie, Schlüssel auf dem Server

Ihre Agentur überträgt die Sitzung im Cookie mit Secure und HttpOnly statt in der Adresse. Schlüssel für Schnittstellen bleiben auf dem Server: der Browser fragt Ihren Server, und der Server fragt den Dienst mit dem Schlüssel. Wo ein Link einen Schlüssel braucht, etwa zum Zurücksetzen eines Passworts, gilt er einmal und nur kurz und wird nach Gebrauch entwertet. Die Referrer-Policy strict-origin-when-cross-origin sorgt dafür, dass fremde Websites höchstens den Domainnamen sehen.

Beispiele

Sitzung im Cookie statt in der Adresse

Nicht erfüllt
<a href="/konto?sid=8f3a9c2e7b1d4f60a5e2">Mein Konto</a>
Erfüllt
<a href="/konto">Mein Konto</a>

Set-Cookie: sid=8f3a9c2e7b1d4f60a5e2; Secure; HttpOnly; SameSite=Lax

Der Browser schickt das Cookie bei jedem Abruf selbst mit. In der Adresse steht dann nichts, was jemand anderem nützt.

So gehen Sie es an

  1. Lassen Sie Ihre Agentur die Adressen aus dem Bericht ansehen: welcher Schlüssel steht darin, und wofür gilt er?
  2. Sitzungen wandern ins Cookie, Schlüssel für Schnittstellen auf den Server.
  3. Links mit Schlüssel, etwa zum Zurücksetzen, gelten einmal und nur kurz.
  4. War ein Schlüssel länger öffentlich sichtbar, lässt sie ihn sperren und einen neuen ausstellen.
  5. Lassen Sie die Website neu messen. Der Bericht zeigt, ob noch eine Adresse einen Schlüssel enthält.

Tipps aus der Praxis

  • Schauen Sie in Ihrer Webstatistik die Liste der aufgerufenen Seiten durch. Steht dort ?token= oder ?sid=, liegt der Schlüssel auch beim Anbieter der Statistik.
  • Prüfen Sie Links in Newslettern und automatischen Mails. Öffnet ein persönlicher Link das Konto ohne Anmeldung, ist jeder angemeldet, an den die Mail weitergeleitet wird.
  • Formulare mit vertraulichen Eingaben schicken ihre Daten per POST. Bei GET wandert alles, was der Besucher eingibt, in die Adresse.

Weiter in der Cybersicherheit

Dieser Prüfpunkt gehört zur Cybersicherheit, Unterthema Sitzung, Cookies und Zahlungsdaten. Gemessen wird er im Prüfbereich Aktualität. Was die Prüfung insgesamt leistet, zeigt die Leistungsseite; wie ein Ergebnis zustande kommt, erklärt das Prüfverfahren.

  • Siegel Digitale Barrierefreiheit
  • Siegel Daten & Recht
  • Siegel Technische Qualität
  • Siegel Digital Excellence
  • Siegel Cyberversicherung

Geprüft. Für eine bessere digitale Zukunft.euid.com