Bachelor-Praktikum zur Hackertechnik

NUMMER: 142244
KÜRZEL: BPH
MODULBEAUFTRAGTE:R: Prof. Dr. Jörg Schwenk
DOZENT:IN: Prof. Dr. Jörg Schwenk, M. Sc. Lukas Knittel
FAKULTÄT: Fakultät für Informatik
SPRACHE: Deutsch
SWS: 3 SWS
CREDITS: siehe Prüfungsordnung
WORKLOAD:
ANGEBOTEN IM: jedes Semester

BESTANDTEILE UND VERANSTALTUNGSART

PRÜFUNGEN

FORM: Praktikum. Studienbegleitend
ANMELDUNG: Di­rekt bei der Do­zen­tin bzw. dem Do­zen­ten
DATUM: 0000-00-00
BEGINN: 00:00:00
DAUER:
RAUM:

LERNFORM

Prak­ti­kum

LERNZIELE

Die teil­neh­men­den Stu­die­ren­den haben ein weit ge­fä­cher­tes Wis­sen über die häu­figs­ten Schwach­stel­len in Web­ap­pli­ka­tio­nen. Au­ßer­dem wis­sen sie, wie sie der­ar­ti­ge Schwach­stel­len ma­nu­ell fin­den kön­nen, ohne die Hilfe von au­to­ma­ti­sier­ten Web­ap­pli­ka­ti­ons-Scan­nern in An­spruch zu neh­men. Dar­über hin­aus ken­nen die Stu­die­ren­den ent­spre­chen­de Schutz­maß­nah­men sowie deren Wirk­sam­keit.

INHALT

Web­ap­pli­ka­tio­nen sind im Zeit­al­ter des Web-2.0 immer mehr zum Ziel von An­grei­fern ge­wor­den. So wer­den per SQL-In­jek­ti­on frem­de Da­ten­ban­ken kom­pro­mit­tiert, per XSS-Schwach­stel­le Brow­s­er­ses­si­ons ge­stoh­len und per Cross-Si­te-Re­quest-For­ge­ry be­kommt man von heute auf mor­gen un­zäh­li­ge neue Freun­de in einem so­zia­len Netz­werk. Dazu wird nur ein ein­fa­cher Web­brow­ser be­nö­tigt.

Im Laufe die­ses Prak­ti­kums sol­len die Stu­die­ren­den eine fik­ti­ve On­line-Ban­king-Ap­pli­ka­ti­on an­grei­fen und dabei die im Laufe der Ver­an­stal­tung er­lern­ten Me­tho­den und Tech­ni­ken ein­set­zen. Die­ses be­inhal­tet fol­gen­de The­men­ge­bie­te:

- Cross Site Script­ing (XSS)
- Cross Site Re­quest For­ge­ry (CSRF)
- Ses­si­on Hi­ja­cking
- Ses­si­on Fixa­ti­on
- SQL In­jec­tion (SQLi)
- Local/Re­mo­te File In­clu­si­on (LFI/RFI)
- Path Tra­ver­sal
- Re­mo­te Code Exe­cu­ti­on (RCE)
- Lo­gi­cal Flaws
- In­for­ma­ti­on Le­a­ka­ge
- In­suf­fi­ci­ent Aut­ho­riza­t­i­on

Das Wis­sen der Stu­die­ren­den wird zudem durch ex­ter­ne Ex­per­ten aus der In­dus­trie und IT-Si­cher­heits-Sze­ne, die in Vor­trä­gen über ver­schie­de­ne The­ma­ti­ken der Web­ap­pli­ka­ti­ons-Si­cher­heit re­fe­rie­ren wer­den, an­ge­rei­chert.

VORAUSSETZUNGEN

Keine

VORAUSSETZUNGEN CREDITS

Bestandenes Praktikum

EMPFOHLENE VORKENNTNISSE

- Aus­ge­präg­tes In­ter­es­se an IT-Si­cher­heit, spe­zi­ell am Thema "Web­si­cher­heit"
- Grund­le­gen­de Kennt­nis­se über TCP/IP und HTTP(S)
- Grund­le­gen­de Kennt­nis­se über HTML / Ja­va­Script
- Grund­kennt­nis­se in PHP oder einer ähn­li­chen Script­spra­che
- In­hal­te der Vor­le­sun­gen Netz­si­cher­heit 1 und 2

LITERATUR

AKTUELLE INFORMATIONEN

SONSTIGE INFORMATIONEN

Wich­ti­ge In­for­ma­ti­on (Up­date: 23.​09.​2021):

Liebe Stu­die­ren­de,

das Ha­cker­Prak­ti­kum im WS 21/22 wird wie­der in in Prä­senz statt­fin­den.

Die Teil­neh­mer­an­zahl ist aus or­ga­ni­sa­to­ri­schen Grün­den auf 20 Stu­die­ren­de be­schränkt. Zur Aus­wahl der Teil­neh­mer wird im Vor­feld ein Auf­nah­me­test durch­ge­führt.

Der Auf­nah­me­test wird am Mon­tag, den 11.​10.​2021 um 17:15 Uhr on­line per Mood­le, statt­fin­den. In­ter­es­sier­te Stu­die­ren­de müs­sen sich in den fol­gen­den Mood­le Kurs ein­tra­gen:

https://​moodle.​ruhr-uni-bo­chum.​de/​course/​view.​php?​id=41718

In die­sem Test wird das Grund­wis­sen in Bezug auf die er­for­der­li­chen Vor­kennt­nis­se über­prüft. Der Test be­steht aus 20 Mul­ti­ple-Choice-Fra­gen; es steht eine ma­xi­ma­le Be­ar­bei­tungs­zeit von 15 Mi­nu­ten zur Ver­fü­gung. Die 20 Stu­die­ren­den mit den meis­ten rich­ti­gen Ant­wor­ten wer­den zum Prak­ti­kum zu­ge­las­sen. Bei Punkt­gleich­heit ent­schei­det das Los über die end­gül­ti­ge Platz­ver­ga­be.

Nach dem Test wer­den die Er­geb­nis­se di­rekt da­nach in der Ein­füh­rungs­ver­an­stal­tung be­kannt ge­ge­ben (siehe Mood­le).

Wich­tig für den Auf­nah­me­test und das Ha­cker­prak­ti­kum sind vor allem die prak­ti­schen As­pek­te fol­gen­der The­men:

- Funk­ti­ons­wei­se von HTTP (https://​en.​wikipedia.​org/​wiki/​Hypertext_​Transfer_​Protocol)
∙ Me­tho­den
∙ Hea­der und Bo­dies

- URLs (https://​en.​wikipedia.​org/​wiki/​URL)
∙ Kom­po­nen­ten einer URL
∙ URL en­co­ding (https://​en.​wikipedia.​org/​wiki/​URL-encoding)

- HTML (https://​en.​wikipedia.​org/​wiki/​HTML)
∙ Syn­tax ken­nen (öff­nen­de/schlie­ßen­de Tags, At­tri­bu­te)
∙ Zu­sam­men­hang mit HTTP und Brow­sern ver­ste­hen

- Ja­va­Script (https://​en.​wikipedia.​org/​wiki/​JavaScript)
∙ Grob die Syn­tax ken­nen (um Code zu ver­ste­hen)
∙ Zu­sam­men­hang mit HTTP und Brow­sern ver­ste­hen

- PHP (https://​en.​wikipedia.​org/​wiki/​PHP)
∙ Grob die Syn­tax ken­nen (um Code zu ver­ste­hen)
∙ Zu­sam­men­hang mit HTTP und Brow­sern ver­ste­hen

- SQL (https://​en.​wikipedia.​org/​wiki/​SQL)
∙ Ab­fra­gen
∙ Hin­zu­fü­gen und Ak­tua­li­sie­ren von Da­ten­sät­zen

- Re­gu­lar Ex­pres­si­ons (https://​en.​wikipedia.​org/​wiki/​Regular_​expression)
∙ Grund­la­gen ken­nen
∙ Pat­tern-Syn­tax ver­ste­hen (am Bes­ten di­rekt von https://​secure.​php.​net/​manual/​de/​reference.​pcre.​pattern.​syntax.​php)

Ins­ge­samt ist also zum Bei­spiel die Ge­schich­te von HTML we­ni­ger von Be­lang als prak­ti­sches Wis­sen im Um­gang mit der Spra­che.

Zu­satz­be­mer­kung: Die Teil­nah­me an den an­ge­bo­te­nen Vor­trä­gen wäh­rend des Se­mes­ters ist un­ab­hän­gig vom Auf­nah­me­test für alle In­ter­es­sier­ten mög­lich.
Ab­lauf des Prak­ti­kums:

Im Laufe des Prak­ti­kums muss jeder Teil­neh­mer, un­ab­hän­gig von der Grup­pe, min­des­tens 3 Auf­ga­ben selb­stän­dig ge­löst haben, zu­sätz­lich müs­sen alle Gru