Webseiten Sicherheit

Aus C3D2
Zur Navigation springen Zur Suche springen
Veranstaltung
Titel Webseiten Sicherheit
Untertitel Einführung zum Thema XSS und SQL-Injection
Termin 16. Januar 2004 (MKZ),7. März 2004 (5. CLT)
Ort Medienkulturzentrum Pentacon, 5. CLT
Thema
Vortragende(r)
Referent(inn)en: fukami
Links
C3D2 Webseite ???
Thema
Folien

Ankündigung

Webseiten erstellen ist mittlerweile für fast jeden Thema, der Computer, Internet und das World Wide Web im Alltag zum Austausch von Informationen nutzt. Die Webseiten werden oftmals mit Hilfe von Scriptsprachen wie PHP, Perl, JSP, ASP und wie sie nicht alle heissen mögen, sowie mit Datenbankunterstützung entwickelt. Aber egal welche dieser Sprachen zum Einsatz kommt, ob die Seiten von Profis oder von Laien programmiert wurden, oder die Seiten zu Firmen, Parteien oder Privatpersonen gehören: In allen Fällen kann es vorkommen, dass diese zu anderen Dingen missbraucht werden als ihrer eigentlichen Bestimmung. Erschwerend kommt hinzu, dass client-seitig auf vielen Sites aktives Scripting (z.B. JavaScript) aktiviert sein muss und Client-Anwendungen, die mit HTML umgehen (Browser, Mailreader) ebenfalls Probleme aufweisen. Damit ergibt sich ein Miflbrauchspotential, welches leidlich ausgenutzt wird.

Bei dem Vortrag wird es um Fehler gehen, die so oder so ähnlich sicher jeder schon einmal gemacht hat und gezeigt, wie diese Fehler konkret exploitet werden können. Im Einzelnen wird ausserdem der Frage nachgegangen, was sich hinter XSS-Techniken (Cross-Site-Scripting), SQL-, File- und Code-Injection verbirgt und mit leicht verständlichen Code-Beispielen erläutert. Desweiteren werden grundsätzliche Tipps und Ideen zum Absichern von Webseiten gegeben und diskutiert.

Eingeladen sind wie immer alle selbst denkenden Wesen.

Gliederung

  • Einführung
  • Motivation für den Vortrag
  • Ein Blick auf dynamische Webseiten-Erzeugung
  • Die Elemente
    • HTML (a, div, style, form, iframe, script, applet, embed, object, ...)
    • JavaScript (document.*, ...
    • PHP:
      • Code Execution: require(), include(), eval(), preg_replace()
      • Command Execution: exec(), passthru(), `` (backticks), system(), popen()
      • File Disclosure: fopen(), readfile(), file()
    • SQL
  • Techniken erläutert
    • Fehler erzeugen, lesen und verstehen
    • Directory Surfing, Pfad-Attacken und Common File Checking (z.B. Webserver-Pfade/Dateien, Logs, Backups, Hashes)
    • Parameter-Manipulation
    • Cookie Stealing und Session Hijacking
    • SQL-Injection
    • URL-Spoofing
    • Frame Attacks mit JavaScript
  • Szenarien
    • Social Engineering zum Zugriff auf interne Daten
    • Hijacken eines Webmailaccounts
    • XSS im Zusammenhang mit Spam
  • grunds‰tzliche Tips und Tricks
    • webseitigen Input immer prüfen!
    • nur erwünschte Zeichen zulassen
    • intelligentes Error-Handling
    • statisch machen was statisch geht
    • auf Updates bei Scripten aus dem Web achten
    • Extensions umbiegen
    • RewriteRules
    • Input Filter
    • Dev-Kommentare löschen
  • Grundschutz
    • Webserver
      • immer schˆn p‰tchen!
      • weniger -v
      • default Files umbenennen oder lˆschen
      • deaktivieren von TRACE
      • Pfad Browsing unmˆglich machen (notfalls handgemacht; .htaccess)
    • PHP Setup
      • register_globals aus !!!
      • safe_mode aktivieren
      • display_errors aus, log_errors an
      • expose_php
      • sql.safe_mode
      • mysql.trace_mode
      • open_basedir setzen
      • allow_url_fopen aus
  • Client-Side (Browser)
  • Audit-Werkzeuge
  • Referenzen und Links

deutsche Texte

FAQs

Papers und Tutorials

Audit Tools

  • Nikto (Perlscript das auf 2600 CGI und Files testet. Sollte nicht ohne Nachfrage beim Serveradmin getetest werden!)
  • webfuzzer (Security Tool zum Testen auf XSS-Möglichkeiten und Injections. auch sehr noisy!)