Click here to load reader

Ajax Security - GBV

  • View
    0

  • Download
    0

Embed Size (px)

Text of Ajax Security - GBV

Ajax und die Architektur
Angriffe auf Webanwendungen
XPath-Injection Ein einfaches Beispiel XPath-Injection verhindern
Command Injection Command Injection verhindern
Cross-Site Scripting Wie funktioniert XSS? Reflektiertes XSS Persistentes XSS 0avaScript-Injection) DOM-basiertes XSS Was kann XSS? Cross-Site Scripting verhindern
13
13
14
14
15
17
17
23
30 30 31
Ajax Security 5
Inhaltsverzeichnis
2.5 Cross-Site Request Forgery (CSRF) 42 CSRF - Ein alter Hut? 42 Wie funktioniert CSRF? 43 Wie wird der CSRF-Request eingeschleust? 45 CSRF-Schwachstellen finden 46 CSRF verhindern 46
2.6 Lesen lokaler Dateien / Directory Traversal 47 Einbinden lokaler Dateien in PHP-Skripte 48 Directory Traversal verhindern 49
2.7 Einbinden entfernter Dateien 51 Einbinden entfernter Dateien verhindern 52
2.8 Session-Hijacking 52 Session-Hijacking verhindern 54
2.9 Session Fixation 54 Session Fixation verhindern 55
2.10 Cookie Poisoning 56
Cookie Poisoning verhindern 56
2.12 Buffer Overflow 57 Was passiert bei einem Pufferüberlauf? 57 Schutzmaßnahmen 59 Pufferüberläufe verhindern 60
2.13 Formatstring-Schwachstellen 61 Formatstring-Schwachstellen verhindern 62
2.14 Nicht verlinkte Ressourcen 62 Gegenmaßnahmen 62
2.15 Brute-Force 62 Brute-Force-Angriffe verhindern 63
2.16 Indirekte Angriffe 63 Man in the Middle 63 Social Engineering 63
3 Angriffe auf HTTP 65
3.1 HTTP Request Smuggling 65 Vergiften des Webcaches 65 Request Hijacking 67 Request Credential Hijacking 68 Täuschung von Firewalls und Intrusion-Detection- bzw.
Prevention Systemen 69 HTTP Request Smuggling erkennen und verhindern 71
3.2 HTTP Response Splitting 72 Durchführung eines Angriffs 72 Schwierigkeiten beim HTTP Response Splitting 75
Inhaltsverzeichnis
Vergiften von Webcaches 76 Angriffe erkennen 82 Angriffe verhindern 83
4 Angriffe auf TCP/IP 85
4.1 Denial of Service-Angriffe 85
4.2 Spoofing 87 IP-Spoofing 87
4.3 TCP-Hijacking 89 Vor dem Angriff: Sniffen 90 Es geht los: Verbindung stören, Pakete einschleusen 90 ARP-Spoofing 91
4.4 DNS-Spoofing 93 Die Namens-Auflösung 93 Cache Verschmutzung 97
4.5 HTTP-Hijacking 98 Beispiel: HTTPS-Hijacking 99
4.6 Distributed Denial of Service Angriffe 101 DDoS am Beispiel von Trinoo 102 DDoS durch Botnets 102 DDoS durch DNS Amplification Attacks 103 Gegenmaßnahmen 105
4.7 Weitere Schutzmaßnahmen 105
Zusammenfassung 119
Ausprobieren von Default-Passwörtern 122
5.9 Weitere Ziele 122
5.12 Fazit 124
6 Webservices 125
6.1 Geschichte 125
6.2 SOA 126
6.3 REST 126 Grundlagen von REST Webservices 126 Aufbau von REST Webservices 127
6.4 SOAP 128
7 Mashups 135
7.2 Einmal mischen, bitte! 136
7.3 Konstruktion von Mashups 137
7.4 Ajax-Proxies und Sicherheit 139 Wie kann ein Angreifer den Ajax-Proxy nutzen? 139 Angriffe verhindern 141
7.5 Ajax-Portale oder »Aggregate-Sites« 143 Schutzmaßnahmen 144
7.6 Vertraulichkeit und Integrität 146 Vertrauen und Vertraulichkeit 147 Integrität 148 Gefahren für Mashup-Betreiber 148 Schutzmaßnahmen 148
7.7 Verfügbarkeit 149
8.2 Ajax-Hijacking 152 Funktionen umdefinieren 152 Ajax-Hijacking verhindern 156 Probleme beim Hijacking 156 On-Demand-Ajax und Hijacking 156
Inhaltsverzeichnis
9 Requests und ihre Herkunft 163
9.1 Wer oder was ist der Client? 163 Mensch oder Maschine? 164 Gegenmaßnahmen 165
10 Webwürmer 167
10.1 Der erste seiner Art: Samy 167 Die Technik hinter Samy 167
10.2 Nach Samy kam Yamanner 170 Der Wurm-Code 171 Die Folgen 171
10.3 Ein letztes Beispiel: Der Orkut-XSS-Wurm 171 Der Code 172 Die Folgen 172
10.4 Zusammenfassung 173 Was wäre wenn... 174 Wieso ist es bisher nicht passiert? 174 Worm for fun - und wo bleibt der Profit? 175 Web würmer verhindern 175
11 Zertifikate und SSL/TLS 179
11.1 Identitätsprüfung 179 Hierarchische Zertifizierungssysteme 179
11.2 Das TLS-Protokoll 181 Einsatz von Zertifikaten bei SSL/TLS 183 X.509-Zertifikat 183 Verwendung der Zertifikate 184
11.3 Nutzung von SSL/TLS in eigenen Programmen 186
12 Der Ajax-Client 187
12.3 Der Ajax-Quelltext 190 Gegenmaßnahmen 190
12.4 Asynchronität 190 Race Conditions 190
12.5 Schlussbemerkung 192
Ajax Security 9
Umgehen der Same Origin Policy
Anti-DNS-Pinning
JavaScript-Portscan
Quelltexte der Webwürmer
Samy, der MySpace-Wurm Der eigentliche Quelltext von Samy Der formatierte Quelltext von Samy
Yamanner, der Yahoo!-Wurm Der Quelltext von Yamanner
Der Orkut-XSS-Wurm Die Flash-Datei des Orkut-Wurms Der getarnte Schadcode des Orkut-Wurms Der entpackte Schadcode des Orkut-Wurms
Kryptographie
Vorstellung einiger Verfahren Symmetrische Verfahren Asymmetrische Verfahren Ein hybrides Verfahren Hash-Algorithmen
Links & Literatur
TCP/IP Grundlagen
Das TCP/IP-Schichtenmodell
193
193
193
197
197
197
198
201
232 232 233 238 239
240
241
241
Kapselung der Daten
Aufbau eines Botnets