NUMMER: | 142243 |
KÜRZEL: | MPH |
MODULBEAUFTRAGTE:R: | Prof. Dr. Jörg Schwenk, M. Sc. Lukas Knittel |
DOZENT:IN: | Prof. Dr. Jörg Schwenk |
FAKULTÄT: | Fakultät für Informatik |
SPRACHE: | Deutsch |
SWS: | 3 SWS |
CREDITS: | siehe Prüfungsordnung |
WORKLOAD: | |
ANGEBOTEN IM: | jedes Semester |
PRÜFUNGEN
FORM: | Praktikum. Studienbegleitend |
ANMELDUNG: | Direkt bei der Dozentin bzw. dem Dozenten |
DATUM: | 0000-00-00 |
BEGINN: | 00:00:00 |
DAUER: | |
RAUM: |
LERNFORM
Praktikum
LERNZIELE
Die teilnehmenden Studierenden haben ein weit gefächertes Wissen über die häufigsten Schwachstellen in Webapplikationen. Außerdem wissen sie, wie sie derartige Schwachstellen manuell finden können, ohne die Hilfe von automatisierten Webapplikations-Scannern in Anspruch zu nehmen. Darüber hinaus kennen die Studierenden entsprechende Schutzmaßnahmen sowie deren Wirksamkeit.
INHALT
Webapplikationen sind im Zeitalter des Web-2.0 immer mehr zum Ziel von Angreifern geworden. So werden per SQL-Injektion fremde Datenbanken kompromittiert, per XSS-Schwachstelle Browsersessions gestohlen und per Cross-Site-Request-Forgery bekommt man von heute auf morgen unzählige neue Freunde in einem sozialen Netzwerk. Dazu wird nur ein einfacher Webbrowser benötigt.Im Laufe dieses Praktikums sollen die Studierenden eine fiktive Online-Banking-Applikation angreifen und dabei die im Laufe der Veranstaltung erlernten Methoden und Techniken einsetzen. Dieses beinhaltet folgende Themengebiete:
- Cross Site Scripting (XSS)
- Cross Site Request Forgery (CSRF)
- Session Hijacking
- Session Fixation
- SQL Injection (SQLi)
- Local/Remote File Inclusion (LFI/RFI)
- Path Traversal
- Remote Code Execution (RCE)
- Logical Flaws
- Information Leakage
- Insufficient Authorization
Das Wissen der Studierenden wird zudem durch externe Experten aus der Industrie und IT-Sicherheits-Szene, die in Vorträgen über verschiedene Thematiken der Webapplikations-Sicherheit referieren werden, angereichert.
VORAUSSETZUNGEN CREDITS
Bestandenes Praktikum
EMPFOHLENE VORKENNTNISSE
- Ausgeprägtes Interesse an IT-Sicherheit, speziell am Thema "Websicherheit"- Grundlegende Kenntnisse über TCP/IP und HTTP(S)
- Grundlegende Kenntnisse über HTML / JavaScript
- Grundkenntnisse in PHP oder einer ähnlichen Scriptsprache
- Inhalte der Vorlesungen Netzsicherheit 1 und 2
SONSTIGE INFORMATIONEN
Wichtige Information (Update: 23.09.2021):Liebe Studierende,
das HackerPraktikum im WS 21/22 wird wieder in in Präsenz stattfinden.
Die Teilnehmeranzahl ist aus organisatorischen Gründen auf 20 Studierende beschränkt. Zur Auswahl der Teilnehmer wird im Vorfeld ein Aufnahmetest durchgeführt.
Der Aufnahmetest wird am Montag, den 11.10.2021 um 17:15 Uhr online per Moodle, stattfinden. Interessierte Studierende müssen sich in den folgenden Moodle Kurs eintragen:
https://moodle.ruhr-uni-bochum.de/course/view.php?id=41718
In diesem Test wird das Grundwissen in Bezug auf die erforderlichen Vorkenntnisse überprüft. Der Test besteht aus 20 Multiple-Choice-Fragen; es steht eine maximale Bearbeitungszeit von 15 Minuten zur Verfügung. Die 20 Studierenden mit den meisten richtigen Antworten werden zum Praktikum zugelassen. Bei Punktgleichheit entscheidet das Los über die endgültige Platzvergabe.
Nach dem Test werden die Ergebnisse direkt danach in der Einführungsveranstaltung bekannt gegeben (siehe Moodle).
Wichtig für den Aufnahmetest und das Hackerpraktikum sind vor allem die praktischen Aspekte folgender Themen:
- Funktionsweise von HTTP (https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol)
∙ Methoden
∙ Header und Bodies
- URLs (https://en.wikipedia.org/wiki/URL)
∙ Komponenten einer URL
∙ URL encoding (https://en.wikipedia.org/wiki/URL-encoding)
- HTML (https://en.wikipedia.org/wiki/HTML)
∙ Syntax kennen (öffnende/schließende Tags, Attribute)
∙ Zusammenhang mit HTTP und Browsern verstehen
- JavaScript (https://en.wikipedia.org/wiki/JavaScript)
∙ Grob die Syntax kennen (um Code zu verstehen)
∙ Zusammenhang mit HTTP und Browsern verstehen
- PHP (https://en.wikipedia.org/wiki/PHP)
∙ Grob die Syntax kennen (um Code zu verstehen)
∙ Zusammenhang mit HTTP und Browsern verstehen
- SQL (https://en.wikipedia.org/wiki/SQL)
∙ Abfragen
∙ Hinzufügen und Aktualisieren von Datensätzen
- Regular Expressions (https://en.wikipedia.org/wiki/Regular_expression)
∙ Grundlagen kennen
∙ Pattern-Syntax verstehen (am Besten direkt von https://secure.php.net/manual/de/reference.pcre.pattern.syntax.php)
Insgesamt ist also zum Beispiel die Geschichte von HTML weniger von Belang als praktisches Wissen im Umgang mit der Sprache.
Zusatzbemerkung: Die Teilnahme an den angebotenen Vorträgen während des Semesters ist unabhängig vom Aufnahmetest für alle Interessierten möglich.
Ablauf des Praktikums:
Im Laufe des Praktikums muss jeder Teilnehmer, unabhängig von der Gruppe, mindestens 3 Aufgaben selbständig gelöst haben, zusätzlich müssen alle Gru