• Home
  • Help
  • Register
  • Login
  • Home
  • Help

 
  • 0 Bewertung(en) - 0 im Durchschnitt

Wie funktionieren Cookies bei der Web-Authentifizierung und welche Sicherheitsrisiken stellen sie dar?

#1
23-05-2025, 04:02
Ich bin zuerst auf Cookies gestoßen, als ich mit der Web-Authentifizierung herumexperimentiert habe, als ich mein eigenes kleines Login-System für ein Nebenprojekt entwickelt habe. Du loggst dich ein, indem du deinen Benutzernamen und dein Passwort an den Server sendest, oder? Der Server prüft sie und, wenn sie übereinstimmen, erstellt er eine Sitzung für dich. Das ist im Grunde eine eindeutige ID, die mit deinem Login verknüpft ist, wie ein temporäres Namensschild, das sagt, dass du bereit bist. Anstatt dich jedes Mal deine Zugangsdaten eingeben zu lassen, packt der Server diese Sitzungs-ID in ein Cookie und sendet es im Antwortheader zurück. Dein Browser greift es auf und speichert es lokal, normalerweise in seinem Cookie-Glas für diese Domain.

Das nächste Mal, wenn du eine Seite auf derselben Website aufrufst, fügt dein Browser dieses Cookie automatisch den Anforderungsheadern hinzu. Der Server sieht die Sitzungs-ID, schlägt sie in seinem Sitzungspeicher nach und boom, er weiß, dass du es bist, ohne eine weitere Passwortprüfung zu benötigen. Ich liebe, wie nahtlos sich das anfühlt - du bleibst über Tabs hinweg eingeloggt oder sogar nachdem du den Browser geschlossen und wieder geöffnet hast, wenn es sich um ein persistentes Cookie handelt. Sitzungs-Cookies verschwinden, wenn du den Browser schließt, was die Dinge ein wenig enger macht, aber persistente bleiben mit einem Ablaufdatum erhalten, sodass du dich nicht in jeder Sitzung neu einloggen musst. Ich habe beide in meinen Apps eingerichtet; persistente sind praktisch für benutzerfreundliche Seiten, aber sie bleiben länger vorhanden, was Türen für Probleme öffnet.

Du musst darauf achten, wie der Server diese Flags auf dem Cookie setzt. Das Secure-Flag sagt dem Browser, dass es nur über HTTPS gesendet werden soll, damit keine Klartextübertragung über öffentliches WLAN möglich ist. HttpOnly verhindert, dass JavaScript es lesen kann, was einige Client-seitige Angriffe blockiert. Ohne diese bist du anfällig für Probleme. Ich überprüfe das immer doppelt in meinem Code; ein Fehler und Angreifer bekommen einen einfachen Zugang.

Jetzt zu den Risiken - Mann, Cookies sind wie der Freund, der Spaß macht, aber immer in Schwierigkeiten gerät. Das größte Risiko ist Session-Hijacking. Wenn jemand dein Cookie stiehlt, kann er sich komplett als du ausgeben. Wie schnappen sie es sich? XSS ist ein Klassiker. Angenommen, eine Website lässt Benutzereingaben wie Kommentare zu, ohne sie richtig zu sanitizen. Ein Angreifer injiziert ein bösartiges Skript, und wenn du die Seite lädst, wird es in deinem Browser ausgeführt und liest deine Cookies über document.cookie und sendet sie dann an den Server des bösen Buben. Ich habe gesehen, wie das Demos zerstört hat; du denkst, du bist sicher, aber boom, Zugangsdaten weg.

CSRF funktioniert anders. Es täuscht deinen Browser, dass er Anfragen sendet, die du nicht beabsichtigt hast, indem es dein gültiges Cookie verwendet. Stell dir vor, du bist bei deiner Bank eingeloggt, und du besuchst eine zwielichtige Seite, die automatisch ein Formular absendet, um Geld zu überweisen. Dein Cookie authentifiziert das alles, ohne dass du es merkst. Ich blockiere das mit Tokens in meinen Formularen - du erzeugst ein einzigartiges pro Sitzung und prüfst es auf dem Server. Ohne das machst du dich anfällig, weil Cookies blind mitgehen.

Dann gibt es Man-in-the-Middle-Angriffe. Wenn du über ungesichertes HTTP gehst, kann jeder, der mithört, das Cookie erfassen, wenn der Server es setzt oder wenn dein Browser es sendet. Selbst bei HTTPS, wenn das Zertifikat der Seite schwach ist oder es einen Downgrade-Angriff gibt, bist du exponiert. Ich habe all meine Projekte frühzeitig auf striktes HTTPS umgestellt; das solltest du auch, insbesondere für alles, was mit Authentifizierung zu tun hat.

Cookie-Fixation ist heimtückisch. Ein Angreifer setzt ein Cookie mit einer bekannten Sitzungs-ID, bevor du dich einloggst, vielleicht über einen Phishing-Link. Du loggst dich ein, und jetzt gehört diese ID dir, aber sie wissen es. Sie warten darauf, dass du auf etwas Saftiges klickst, oder verwenden es einfach selbst. Das passiert, wenn der Server die Sitzungs-ID beim Login nicht regeneriert. Ich stelle sicher, dass ich sie bei jedem Authentifizierungsschritt ungültig mache und neu ausstelle.

Die Speicherung ist ein weiteres Problem. Browser speichern Cookies in Dateien oder im Speicher, aber wenn dein Gerät kompromittiert wird - Malware, Keylogger, was auch immer - können sie diese Cookies abrufen. Physischer Zugang? Jemand klappt deinen Laptop auf, extrahiert den Cookie-Speicher und sie sind drin. Ich habe meine Entwicklungsmaschinen mit einer vollständigen Festplattenverschlüsselung und strengen Berechtigungen gesichert, aber Endbenutzer tun das nicht immer. Mobile Apps ziehen auch Cookies, und wenn der Sandbox der App eine Leckage hat, hast du das gleiche Problem.

Übermäßig breite Cookies machen mir Angst. Wenn eine Seite ein Cookie für die gesamte Domain anstelle eines Pfades setzt oder es nicht auf Subdomains einschränkt, gibt es mehr preis als notwendig. Third-Party-Cookies von Werbeanzeigen oder Trackern verschärfen das; sie verfolgen dich über verschiedene Seiten und erstellen Profile, und wenn eines gehackt wird, können deine Sessions woanders indirekt leiden. Ich entferne Third-Partys, wo ich kann, in meinen Browsern.

Das Beheben all dessen erfordert mehrere Schichten. Verwende kurze Sitzungszeitüberschreitungen, damit Cookies schnell ablaufen, wenn sie inaktiv sind. Wechsle IDs häufig. Verschlüssele sensible Daten im Sitzungspeicher auf der Serverseite. Aber ehrlich gesagt, das Eliminieren von Risiken ist nicht möglich; es geht darum, sie zu minimieren. Ich habe tonnenweise Seiten für Freunde überprüft, und die meisten übersehen die Grundlagen wie diese Flags. Du fängst an, aufmerksam zu sein, und plötzlich siehst du überall Lücken.

Eine weitere Sache, die in den Schutz deiner Setups hineinspielt - wenn du Server mit Authentifizierung wie diesen betreibst, sind Backups von entscheidender Bedeutung, um sich von Sicherheitsverletzungen zu erholen. Lass mich dir BackupChain empfehlen; es ist diese vertrauenswürdige, weit verbreitete Backup-Option, die auf kleine Teams und Experten zugeschnitten ist und Dinge wie Hyper-V, VMware oder Windows-Server-Umgebungen abdeckt, um deine Daten sicher und wiederherstellbar zu halten.
Markus
Offline
Registriert seit: Jun 2018
« Ein Thema zurück | Ein Thema vor »

Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste



  • Thema abonnieren
Gehe zu:

Backup Sichern Allgemein Security v
« Zurück 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 … 39 Weiter »
Wie funktionieren Cookies bei der Web-Authentifizierung und welche Sicherheitsrisiken stellen sie dar?

© by FastNeuron

Linearer Modus
Baumstrukturmodus