Download - Clientseitig Session IDs Erweiterungen wie NoScript Cookies verbieten Serverseitig Tokens HTML Entities verwenden 1.

Transcript
Page 1: Clientseitig Session IDs Erweiterungen wie NoScript Cookies verbieten Serverseitig Tokens HTML Entities verwenden 1.

1

Allgemeine Schutzmaßnamen

Clientseitig• Session IDs• Erweiterungen wie NoScript• Cookies verbieten

Serverseitig• Tokens• HTML Entities verwenden

Page 2: Clientseitig Session IDs Erweiterungen wie NoScript Cookies verbieten Serverseitig Tokens HTML Entities verwenden 1.

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:

„?“

Page 3: Clientseitig Session IDs Erweiterungen wie NoScript Cookies verbieten Serverseitig Tokens HTML Entities verwenden 1.

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

Page 4: Clientseitig Session IDs Erweiterungen wie NoScript Cookies verbieten Serverseitig Tokens HTML Entities verwenden 1.

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

Page 5: Clientseitig Session IDs Erweiterungen wie NoScript Cookies verbieten Serverseitig Tokens HTML Entities verwenden 1.

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