1
Allgemeine Schutzmaßnamen
Clientseitig• Session IDs• Erweiterungen wie NoScript• Cookies verbieten
Serverseitig• Tokens• HTML Entities verwenden
2
Exkurs: HTML Entities
Beispiel• Anfrage in Formularfeld:
<script>alert("XSS")</script>• Anfrage in HTML Entities:
%3Cscript%3Ealtert%28%22XSS%22%28%3C%2Fscript%3E
• JavaScript Interpreter:
„?“
3
Üblicher Schutz vor CSRF
Funktion• Serverseitig werden
HTTP Requests (bis auf POST) eingeschränkt
• Token werden verwendet
Nachteile• Server muss Token
verwalten• Token muss
Formularfeld zugeordnet sein• Abgelaufene Token
müssen ungültig gemacht werden
DoS
4
Schutz vor CSRF:Double-Submit Cookie [ZF08] Funktion• Braucht keine
serverseitigen Zustände mehr
• Zwei Tokens• Einer im Cookie• Einer im Request
Vorteile• „Same-Origin-Policy“ für
Cookies• Sind die Tokens identisch
kommen Cookie und Request von derselben Ressource
Nachteile• Modifikationen im
Applikation Code
5
Schutz vor CSRF:Double-Submit Cookie+ [LTJ12] Funktion Serverseitig• Proxy („Gatekeeper“)
validiert Token• Whitelist für Einstieg in
Applikation ohne Token (Bilder, JavaScript, CSS)
• „Gatekeeper“ fügt jedem ausgehenden HTML eine JavaScript Library hinzu
HTTP Request Möglichkeiten• Requests durch
Interaktion mit DOM• Implizite Requests durch
HTML tags• Requests von JavaScripts
XMLHttpRequest• Weiterleitungen seitens
des Servers
Top Related