Webseiten Sicherheit
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
- Webserver
- Client-Side (Browser)
- Audit-Werkzeuge
- Referenzen und Links
deutsche Texte
- Torwandschießen (heisec Artikel)
- Giftspritze (heisec Artikel)
- XSS for fun and profit (PDF; Folien von Stefan Krechers CLT-Vortrag)
- [Apache Webserver - Sicherheitsstudie] (PDF; vom Bundesamt für Sicherheit in der Informationstechnik, BSI)
- [Microsoft Internet Information Server - Sicherheitstudie (PDF; vom Bundesamt für Sicherheit in der Informationstechnik, BSI)
FAQs
- XSS FAQ (face2interface/cgisecurity)
- The Cross Site Scripting FAQ (zeno, neworder)
Papers und Tutorials
- CERT: Understanding Malicious Content Mitigation for Web Developers (CERT Coordination Center)
- [How To Remove Meta-characters From User-Supplied Data In CGI Scripts (CERT Coordination Center)
- Prevent Cross-Site (XSS) Malicious Content (David A. Wheeler)
- HTML Code Injection and Cross-site scripting (Gunter Ollmann)
- URL Embedded Attacks (Gunter Ollmann)
- The Anatomy of Cross Site Scripting (PDF; Gavin Zuchlinski; alternativ http://libox.net/)
- Advanced cross site scripting and client automation (PDF; Gavin Zuchlinski; alternativ http://libox.net/)
- The Evolution of Cross-Site Scripting Attacks (PDF; David Endler, idefense Labs )
- Gobbles Bugtraq Posting
- SQL Injection (PDF; Kevin Spett, SpiLabs)
- Blind SQL-Injection (PDF; Kevin Spett, SpiLabs)
- Cross-Site Tracing (PDF; Jeremiah Grossman, WhitehatSecurity)
- Exploiting Common Vulnerabilities in PHP Applications (Shaun Clowes, SecureReality)
- Security Issues in Perl Scripts (Jordan Dimov)
- Perl CGI problems (rain forrest puppy)
- One-way Webhacking
- Hacking with Javascript (b0iler)
- Remote Scripting with Javascript (Apple)
- Linux Magazin: Airbag fuer den Webserver