1 / 35

Cross-Site-Scripting und Cross-Site-Request Schwachstellen in Web Applikationen

Cross-Site-Scripting und Cross-Site-Request Schwachstellen in Web Applikationen. Daniel Franke Tim Benedict Jagla Matthias Thimm. Cross-Site-Scripting. XSS Allgemein. Cross Site Scripting Einschleusen von Schadcode um Browserausgabe zu manipulieren Folge: Manipulation HTML-Formulare

vevay
Download Presentation

Cross-Site-Scripting und Cross-Site-Request Schwachstellen in Web Applikationen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cross-Site-ScriptingundCross-Site-Request SchwachstelleninWeb Applikationen Daniel Franke Tim Benedict Jagla Matthias Thimm

  2. Cross-Site-Scripting

  3. XSS Allgemein • Cross Site Scripting • Einschleusen von Schadcode um Browserausgabe zu manipulieren • Folge: Manipulation • HTML-Formulare • Cookies • URL‘s • Zugang • Clientseitige Sprachen • Z.B. • JavaScript • VBScript • Flash

  4. XSS (non-persistent/reflected)

  5. XSS (non-persistent/reflected)

  6. XSS (non-persistent/reflected)

  7. XSS (non-persistent/reflected)

  8. XSS (non-persistent/reflected) • Gefahren • CookieCatcher • Link obfuscating • „Nice toknow“ • Auch in <img> tag kann eine HTTP GET Request eingebettet werden

  9. XSS (persistent/stored)

  10. XSS (persistent/stored)

  11. XSS (persistent/stored)

  12. XSS (persistent/stored)

  13. XSS (persistent/stored)

  14. XSS (persistent/stored) • MySpace Oktober 2005 • „Samy Worm“ by Samy Kamkar • OZ: “but most of all, Samy is my hero“ • In 20 Stundenübereine Million “Infizierungen”

  15. XSS (DOM-based)

  16. XSS (DOM-based)

  17. XSS (DOM-based) • Twitter Anfang 2011 (function(g){ vara=location.href.split("#!")[1]; if(a){ g.location=g.HBR=a; } })(window); http://twitter.com/#!javascript: alert(document.domain);

  18. Cross-SiteRequest-Forgery

  19. CSRF • Was ist CSRF? • Unterschieben eines URL-Aufrufes • Automatisches authentifizieren & ausführen

  20. CSRF • Vorgehen

  21. CSRF • Gefahr • Jede Serverseitige Aktion ist anfällig • Ja: JEDE !!! Bsp: http://www.example.com/Logout

  22. CSRF • Ursache • Zustandslosigkeit • Automatische Authentifikation (Cookies)

  23. CSRF • ING-Direct Sept. 2008 • U.a. Überweisungen möglich • Automatische Authentifikation (Cookies) • Google Mail 2007 • Filteränderungen und Umleitungen möglich

  24. CSRF • Aspekte • Authentizität • Integrität • (Verfügbarkeit) • (Vertraulichkeit)

  25. Schutzmaßnahmen

  26. Allgemeine Schutzmaßnamen • Clientseitig • Session IDs • Erweiterungen wie NoScript • Cookies verbieten • Serverseitig • Tokens • HTML Entities verwenden • URL Encode verwenden

  27. Exkurs: HTML Entities & URL Encode • Beispiel • Anfrage in Formularfeld: <script>alert('XSS')</script> • Anfrage in HTML Entities: &lt;script&gt;alert(&#039;XSS&#039;)&lt;/script&gt; • Anfrage in URL Encode: %3Cscript%3Ealert%28%27XSS%27%29%3C%2Fscript%3E • JavaScript Interpreter: „?“

  28. Ü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 [T1]

  29. 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

  30. Schutz vor CSRF:Double-Submit Cookie+ [LTJ12] • FunktionServerseitig • Proxy („Gatekeeper“) validiert Token • Whitelist für Einstiegspunkte 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

  31. Schutz vor CSRF:Double-Submit Cookie+ [LTJ12]

  32. Quellen • [SJW07] • A. Wiegenstein, Dr. M. Schuhmacher, X. Jia, F. Weidemann, „The Cross Site Scripting Threat“ • [Kurtz10] • A. Kurtz, „Bedrohung Cross-Site Request-Forgery – Grenzüberschreitung: Die „andere“ Schwachstelle in Web-Applikationen • [LTJ12] • S. Lekies, W. Tighzert, M. Johns, „Towardsstateless, client-sidedriven Cross-Site Request Forgeryprotection für Web applications“ • [ST12] • L. K. Shar, H. B. K. Tan, „Defendingagainst Cross-Site Scripting Attacks“ • [Klein05] • A. Klein, “DOM Based Cross Site Scripting or XSS of the Third Kind” • [ZF08] • W. Zeller, E. W. Felten, “Cross-Site Request Forgeries: Exploitation and Prevention” • [T1] • http://wp.dynaperl.de/2008/11/29/tcp-syn-dos/

  33. FRAGEN!?

  34. Vielen Dank für die Aufmerksamkeit

More Related