Carsten Eilers. Ajax Security. Sichere Web-2.0-Anwendungen. ntwickier

Ähnliche Dokumente
Geschichte Der Aufbau des Buchs Danksagung und Widmung Der Autor

Datensicherheit. Vorlesung 5: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Ajax, aber sicher! Carsten Eilers

Secure Coding & Live Hacking von Webapplikationen. Conect Informunity

Session Management und Cookies

Datensicherheit. Vorlesung 7: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Web 2.0 (In) Security PHPUG Würzburg Björn Schotte

Mashups, aber sicher. Carsten Eilers

TCP SYN Flood - Attack. Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Hacker-Tool Browser von der Webanwendung zu den Kronjuwelen

Sicherheit in Webanwendungen CrossSite, Session und SQL

Informatik für Ökonomen II HS 09

Sicherheit in Rich Internet Applications

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen


Einleitung Sniffing, Analyzing, Scanning Scanning. Netzwerke. Bierfert, Feresst, Günther, Schuster. 21. März 2006

Schwachstellenanalyse 2012

Web-Sicherheit: Kein fauler Zauber?! Kai Jendrian. <Seminartitel> <Seminartitel>

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

am Beispiel - SQL Injection

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Carsten Eilers Pentesters Toolbox

Das digitale Scheunentor

Abbildung der Gefährdungen der WASC und OWASP auf die Gefährdungen und Maßnahmenempfehlungen des IT-Grundschutz-Bausteins B 5.

Praktikum IT-Sicherheit

SZENARIO. ausgeführt Command Injection: Einschleusen (Injizieren) bösartiger Befehle zur Kompromittierung der Funktionsschicht

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

am Beispiel - SQL Injection

Flash, Network und Facebook. Steven Mohr

Ist das so mit HTTPS wirklich eine gute Lösung?

Aktuelle Sicherheitsprobleme im Internet

MH3 D2/3 DB/4. Name: Matr.-Nr. Seite: 3. Aufgabe 1. (6 Punkte) a) Gegeben sei eine kryptographische Hashfunktion h^o,!}* mit Hashwert h^mo) = 4.

Sicherheit in Netzen- Tiny-Fragment

msm net ingenieurbüro meissner kompetent - kreativ - innovativ

Destructive AJAX. Stefan Proksch Christoph Kirchmayr

Carsten Eilers ceilers-it.de. Schwachstellen-Scans im Web 2.0

Sicherheit von Webapplikationen Sichere Web-Anwendungen

Audit von Authentifizierungsverfahren

Aktuelle Angriffstechniken. Steffen Tröscher cirosec GmbH, Heilbronn

Baustein Webanwendungen. Stephan Klein, Jan Seebens

When your browser turns against you Stealing local files

Erste Vorlesung Kryptographie

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Kombinierte Attacke auf Mobile Geräte

OWASP Top 10. im Kontext von Magento. Mittwoch, 21. November 12

Praktikum IT-Sicherheit

Webapplikationen wirklich sicher?! 10. Mai 2006 IT-TRENDS Sicherheit Zentrum für IT-Sicherheit, Bochum

Rechnernetze Praktikum Versuch 8: Zertifikate, Sicherheit in öffentlichen Netzen

Verbreitete Angriffe

UCS 2.4 Sicherheits-Update 3

Sicherheitsaspekte in Service Orientierten Architekturen. Eike Falkenberg Sommersemester 2006 Anwendungen I

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

IT Sicherheit: Lassen Sie sich nicht verunsichern

Webapplikationssicherheit (inkl. Livehack) TUGA 15

HTTPS Checkliste. Version 1.0 ( ) Copyright Hahn und Herden Netzdenke GbR

Warum werden täglich tausende von Webseiten gehackt?

Infrastruktur: Vertrauen herstellen, Zertifikate finden

Ganz sicher sicher surfen. it-sa 2013 Nürnberg

secunet Security Networks AG Täter im Anzug Wenn die Firewall gerade nicht hinschaut SECURITY Oktober

Aufgabe 3 Storm-Worm

Enterprise PHP 5. Serviceorientierte und webbasierte Anwendungen für den Unternehmenseinsatz. von Johann-Peter Hartmann, Björn Schotte. 1.

FTP-Leitfaden RZ. Benutzerleitfaden

Grundlagen des Datenschutzes und der IT-Sicherheit

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

ELIT2012: Security. Security: Potentielle Gefahren und Gegenmaßnahmen

Thema: Web Services. Was ist ein Web Service?

Live Hacking auf eine Citrix Umgebung

CLX.Sentinel Kurzanleitung

1. Vorwort Warum gibt es brand-wand? Der etwas andere Weg Zielgruppe Danksagung... 3

Web Applications Vulnerabilities

Verteilte Systeme Unsicherheit in Verteilten Systemen

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Datenempfang von crossinx

ProSecure Sales Training 4/6. Vielseitige Verteidigung des SMB

Verteilte Systeme. Übung 10. Jens Müller-Iden

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

IEEE 802.1x, Dynamic ARP Inspection und DHCP Snooping. von Thorsten Dahm

Wie funktioniert das WWW? Sicher im WWW

Sparkasse Duisburg. versenden aber sicher! Sichere . Anwendungsleitfaden für Kunden

ICS-Addin. Benutzerhandbuch. Version: 1.0

How-to: HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server. Securepoint Security System Version 2007nx

COMPUTER MULTIMEDIA SERVICE

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Developer Week 2013 Offline (mobile) Webdevelopment

Kommunikation als kreativer Prozess: Im Dialog mit dem Kunden

Mobility: Hoher Nutzen

Inhaltsverzeichnis. Vorwort Einleitung... 15

Schwachstellenanalyse 2013

Internet: Was ist das? - Routing

FL1 Hosting Technische Informationen

IT-Sicherheit Kapitel 11 SSL/TLS

Dr. Guido Schwarz Forschung, Schulung, Beratung; A Wien, Edelhofgasse 31/8; Tel: Mobil:

Zeitstempel für digitale Dokumente. Ein neuer Dienst in der DFN-PKI

Inkrementelles Backup

Reale Angriffsszenarien Typische Regellücken bei Firewalls,, Testtools

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Digital signierte Rechnungen mit ProSaldo.net

Transkript:

Carsten Eilers Ajax Security Sichere Web-2.0-Anwendungen ntwickier

Ajax, aber sicher! Geschichte Der Aufbau des Buchs Danksagung und Widmung Der Autor Ajax - Grundlagen Vom Web 1.0 zum Web 2.0 XMLHttp und XMLHttpRequest Funktionsweise des XMLHttpRequest Ajax und die Architektur Die Angriffsfläche Größere Angriffsfläche? Jein! Angriffspunkte von Webanwendungen Angriffspunkte von Webservices Angriffspunkte von Ajax-Anwendungen Angriffe auf Webanwendungen SQL-Injection Was ist SQL-Injection? Einige Beispiele Weitere Angriffe Blind SQL-Injection SQL-Injection verhindern 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 18 18 19 19 19 20 20 21 23 23 23 23 25 26 26 30 30 31 31 33 CO CO CO CO 34 35 36 39 40 Ajax Security 5

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.11 Denial of Service (DoS) 57 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

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 5 Was kann Cross-Site-Scriptinq? 107 5.1 Ausspähen von Cookies 107 5.2 Ausspähen von Tastatureingaben 108 5.3 Auslesen von Passwörtern 109 5.4 Einschleusen falscher Informationen 110 5.5 Ausspähen der Browser-History 114 5.6 Portscan über JavaScript 114 Zusammenfassung 119 5.7 HTTP-Auth-Popup verhindern 120 5.8 Ziel erkannt - Attacke! 120 Cross-Site Request Forgery 121 Ausprobieren von Default-Passwörtern 122 5.9 Weitere Ziele 122 5.10 Fernsteuerung 123 5.11 Ausnutzen von Browser-Schwachstellen 123 5.12 Fazit 124 Ajax Security

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 Arbeitsweise von SOAP 128 6.5 UDDI 130 6.6 WSDL 130 6.7 Sicherheit und Webservices 131 Identifizierung 131 Authentifizierung 131 Autorisierung 132 Sicherheit auf Transportebene 132 Sicherheit auf Nachrichtenebene 133 Alle Schwachstellen sind schon da 134 7 Mashups 135 7.1 Die Grundlagen 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 JSON und JavaScript-Hijackinq 151 8.1 JSON is evil 151 8.2 Ajax-Hijacking 152 Funktionen umdefinieren 152 Ajax-Hijacking verhindern 156 Probleme beim Hijacking 156 On-Demand-Ajax und Hijacking 156

8.3 JSON-Hijacking 158 Angriff mit Mozilla-spezifischen Funktionen 158 Angriff ohne Mozilla-spezifische Funktionen 159 Verhindern von JSON-Hijacking 161 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.1 Allgemeine Probleme im Client 187 Ein Beispiel 187 12.2 Datenumwandlungen auf dem Client 188 Beispiel: SQL-Injection 189 Gegenmaßnahmen 189 12.3 Der Ajax-Quelltext 190 Gegenmaßnahmen 190 12.4 Asynchronität 190 Race Conditions 190 12.5 Schlussbemerkung 192 Ajax Security 9

A A.l A.2 B B.l B.2 B.3 C C.l D D.l D.2 D.3 E E.l E.2 E.3 F El F.2 Literaturverzeichnis Vorbemerkung Literaturverzeichnis Die Same Origin Policy Die Funktion der Same Origin Policy Umgehen der Same Origin Policy Anti-DNS-Pinning JavaScript-Portscan Quelltext Der Quelltext eines JavaScript-Portscanners: Die Ausgabe 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 Grundlagen Symmetrische Systeme Asymmetrische Systeme Konzelationssysteme Authentikationssysteme Hash-Funktionen Vorstellung einiger Verfahren Symmetrische Verfahren Asymmetrische Verfahren Ein hybrides Verfahren Hash-Algorithmen Links & Literatur TCP/IP Grundlagen Das TCP/IP-Schichtenmodell Die Netzzugangsschicht Ethernet-Paket (Version 2) 193 193 193 197 197 197 198 201 201 201 203 205 205 205 206 214 214 219 219 219 221 227 227 227 228 229 230 231 232 232 233 238 239 240 241 241 243 243 10 B

Die Netzwerkschicht IP-Paket (RFC 791) ICMP-Paket (RFC 792) Die Transportschicht TCP-Paket (RFC 793) UDP-Paket (RFC 768) Kapselung der Daten Aufbau eines Botnets Der Aufbau Die Nutzung Stichwortverzeichnis 243 243 244 244 244 244 245 247 247 250 251 Ajax Security 11