Walter Marc.Pdf

Walter Marc.Pdf

Fachhochschule Köln University of Applied Sciences Cologne Campus Gummersbach Fakultät für Informatik und Ingenieurwesen Fachhochschule Dortmund Fachbereich Informatik Verbundstudiengang Wirtschaftsinformatik Diplomarbeit (Fünf-Monats-Arbeit) zur Erlangung des Diplomgrades Diplom-Informatiker (FH) in der Fachrichtung Informatik „Sicherheitsrisiken bei datenbankgestützten Webanwendungen am Beispiel der Konzeption und Entwicklung eines Tippspiels“ Erstprüfer Prof. Dr. Heide Faeskorn-Woyke Zweitprüfer Prof. Dr. Erich Ehses vorgelegt am 29. Dezember 2006 van cand. Marc Walter aus Newtonstr. 6 53125 Bonn Telefon 0228/6200999 E-Mail [email protected] Matrikelnummer 11030495 Seite 2 Inhaltsverzeichnis Abbildungsverzeichnis.......................................................................... 4 Tabellenverzeichnis...............................................................................5 Abkürzungsverzeichnis......................................................................... 6 1 Einleitung........................................................................................... 7 1.1 Thema der Arbeit........................................................................8 2 Vorbereitungen.................................................................................10 2.1 Datenbankmodell......................................................................11 2.2 Software-Komponenten............................................................12 2.3 Installation von XAMPP.......................................................... 13 2.4 Passwortsicherheit.................................................................... 16 2.5 Zugriffskontrollmechanismen.................................................. 21 2.6 Datenbank-Einrichtung.............................................................21 3 Grundlagen....................................................................................... 26 3.1 GET und POST.........................................................................27 3.2 Cookies und Sessions............................................................... 29 3.3 Session-Hijacking.....................................................................31 3.4 Cross-Site Scripting..................................................................33 4 Implementierung.............................................................................. 38 4.1 Registrierung............................................................................ 38 4.1.1 Datenbankinformationen sichern......................................46 4.2 Login.........................................................................................47 4.2.1 SQL-Injection................................................................... 50 4.3 Logout.......................................................................................59 4.4 Passwort ändern........................................................................60 4.5 Hauptseite................................................................................. 64 4.6 Tippabgabe............................................................................... 71 4.7 Tippanzeige.............................................................................. 78 4.8 Einstellungen............................................................................ 83 4.8.1 Passwort ändern................................................................ 83 4.8.2 E-Mailadresse ändern....................................................... 83 4.8.3 Teilnahme beenden........................................................... 86 4.9 Administration..........................................................................88 4.9.1 Administrationsseite......................................................... 90 4.9.2 Rennergebnis eintragen.....................................................94 4.9.3 Punkteberechnung ausführen............................................97 5 Regeln für sichere Webanwendungen..............................................99 5.1 Hacker sind clever.................................................................... 99 5.2 Software aktualisieren.............................................................. 99 5.3 Bewusste Programmierung.....................................................100 5.4 Niemals Subsystemen vertrauen.............................................100 5.5 POST ist sicherer als GET......................................................100 5.6 Passwörter nicht im Klartext speichern..................................101 5.7 Starke Passwörter verwenden.................................................101 5.8 Keine Standard-Zugänge benutzen.........................................101 5.9 Nur Rechte vergeben, die benötigt werden............................ 102 Seite 3 5.10 Eingaben validieren.............................................................. 102 5.11 Neutrale Fehlermeldungen................................................... 103 5.12 Metazeichen maskieren........................................................ 103 5.13 Informationen verbergen...................................................... 104 5.14 Sauberes Sessionhandling.....................................................104 5.15 Logging verwenden.............................................................. 104 6 Zusammenfassung..........................................................................105 6.1 Social Engineering..................................................................106 Literaturverzeichnis...........................................................................108 Anhang A - Fachkonzept...................................................................111 A.1 Registrierung..........................................................................111 A.2 Verifizierung..........................................................................111 A.3 Erstes Login...........................................................................111 A.4 Tippabgabe............................................................................ 112 A.5 Plausibilisierung.................................................................... 112 A.6 Logout....................................................................................112 A.7 Rennergebnis......................................................................... 112 A.8 Punkteberechnung..................................................................112 A.9 Gesamtwertung......................................................................113 A.10 Einstellungen....................................................................... 113 A.11 Sicherheit............................................................................. 113 Anhang B - Datenbankmodell...........................................................114 Anhang C - CREATE Statements..................................................... 115 Seite 4 Abbildungsverzeichnis Abbildung 1: Der XAMPP-Programmstarter......................................13 Abbildung 2: Aufruf des Webservers..................................................14 Abbildung 3: Teile von XAMPP sind nach der Installation unsicher.15 Abbildung 4: Passwortprüfung bei GMX........................................... 20 Abbildung 5: Browser/Server-Kommunikation.................................. 26 Abbildung 6: Sicherheitscode bei GMX............................................. 39 Abbildung 7: Validierung der Benutzereingaben................................42 Abbildung 8: Übersicht über Rennen, Fahrer und Punktestand..........64 Abbildung 9: Tippabgabe mit einem abgegebenen Tipp.................... 71 Abbildung 10: Tippanzeige mit Ergebnis und erhaltenen Punkten.....78 Abbildung 11: Die Administrationsseite.............................................90 Abbildung 12: Das ER-Diagramm des Tippspiels............................114 Seite 5 Tabellenverzeichnis Tabelle 1: Kombinationsmöglichkeiten eines Passwortes.................. 18 Tabelle 2: Hersteller............................................................................ 23 Tabelle 3: Teams................................................................................. 23 Tabelle 4: Autos.................................................................................. 23 Tabelle 5: Läufe.................................................................................. 24 Tabelle 6: Fahrer................................................................................. 24 Tabelle 7: Spieler................................................................................ 25 Seite 6 Abkürzungsverzeichnis CSS Cross Site Scripting DBMS Datenbankmanagementsystem DSL Digital Subscriber Line FTP File Transfer Protocol HTTP Hypertext Transfer Protocol HTTPS Hypertext Transfer Protocol Secure IP Internet Protocol PHP PHP Hypertext Preprocessor PIN Persönliche Identifikationsnummer RFC Request For Comments SQL Structured Query Language SSL Secure Sockets Layer TAN Transaktionsnummer TCP Transmission Control Protocol TLS Transport Layer Security URL Uniform Resource Locator W3C World Wide Web Consortium WLAN Wireless Local Area Network Seite 7 1 Einleitung Das Internet ist für viele Menschen zum Bestandteil des Lebens ge- worden. In vielen Bereichen sind Computer nicht mehr wegzudenken. Die enorme Geschwindigkeit des Informationsaustauschs und der In- formationsverbreitung, die Möglichkeit, jederzeit Geschäfte abzu- schließen, Einkäufe zu tätigen und Geld zu transferieren, sind nur eini- ge der Aspekte, die das weltweite Netz so erfolgreich machen. Die ex- ponentielle

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    117 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us