Modulbeschreibung · Studienbrief2 GrundlagenvonWeb-Clients Seite11 Studienbrief 2 Grundlagen von...

34
Seite 1 Modulbeschreibung Modulbezeichnung: Netzsicherheit 3 Studiengang: Zertifikatsprogramm Verwendbarkeit: Dieses Modul ist verwendbar für • Studierende der IT-Sicherheit • Studierende der Informatik • Studierende der Wirtschaftsinformatik • Studierende der Mathematik und Informatik auf Bachelorniveau. Lehrveranstaltungen und Lehrformen: Netzsicherheit 3 Modulverantwortliche(r): Prof. Dr. Jörg Schwenk Lehrende: Prof. Dr. Jörg Schwenk Dauer: 1 Semester Credits: 5 ECTS Studien- und Prüfungsleistungen: Schriftliche Prüfung: 120 min. Berechnung der Modulnote: Schriftliche Prüfung Notwendige Voraussetzungen: Empfohlene Voraussetzungen: Ausgeprägtes Interesse an IT-Sicherheit, speziell am Thema Web-Sicherheit • Grundlegende Kenntnisse über TCP/IP • Grundkenntnisse im Programmieren • Netzsicherheit I + II Unterrichts- und Prüfungssprache: Deutsch, aktuelle Facharktikel in englischer Sprache Zuordnung des Moduls zu den Fachgebieten des Curriculums: Einordnung ins Fachsemester: Generelle Zielsetzung des Moduls: Modul zur Förderung und Verstärkung der Fachkompetenz

Transcript of Modulbeschreibung · Studienbrief2 GrundlagenvonWeb-Clients Seite11 Studienbrief 2 Grundlagen von...

  • Seite 1

    Modulbeschreibung

    Modulbezeichnung: Netzsicherheit 3

    Studiengang: Zertifikatsprogramm

    Verwendbarkeit: Dieses Modul ist verwendbar für

    • Studierende der IT-Sicherheit

    • Studierende der Informatik

    • Studierende der Wirtschaftsinformatik

    • Studierende der Mathematik und Informatik

    auf Bachelorniveau.

    Lehrveranstaltungen undLehrformen:

    Netzsicherheit 3

    Modulverantwortliche(r): Prof. Dr. Jörg Schwenk

    Lehrende: Prof. Dr. Jörg Schwenk

    Dauer: 1 Semester

    Credits: 5 ECTS

    Studien- und Prüfungsleistungen: Schriftliche Prüfung: 120 min.

    Berechnung der Modulnote: Schriftliche Prüfung

    Notwendige Voraussetzungen:

    Empfohlene Voraussetzungen: • Ausgeprägtes Interesse an IT-Sicherheit, speziell am ThemaWeb-Sicherheit

    • Grundlegende Kenntnisse über TCP/IP

    • Grundkenntnisse im Programmieren

    • Netzsicherheit I + II

    Unterrichts- und Prüfungssprache: Deutsch, aktuelle Facharktikel in englischer Sprache

    Zuordnung des Moduls zu denFachgebieten des Curriculums:

    Einordnung ins Fachsemester:

    Generelle Zielsetzung des Moduls: Modul zur Förderung und Verstärkung der Fachkompetenz

  • Seite 2

    Arbeitsaufwand bzw.Gesamtworkload:

    Summe: 150 hPräsenzzeit: 2 h

    • Prüfung: 2h

    Eigenstudium: 148 h

    • davon Selbststudium: 100 h

    • davon Aufgaben: 38 h

    • davon Online-Betreuung: 10 h

    Lerninhalt und Niveau:

    Das Niveau der Lerninhalte liegt gemessen am DQR-Niveau bei 6(Bachelor)

    Angestrebte Lernergebnisse: Fachkompetenz: Die Studierenden erwerben grundlegendes Wis-sen im Bereich der Sicherheit von Webanwendungen. Sie sind inder Lage die Sicherheit einer Webanwendung einzuschätzen undAngriffspunkte offenzulegen.

    Methodenkompetenz: Die Studierenden beherrschen den Umgangmit Fachliteratur und können ihr wichtige Informationen eigen-ständig entnehmen. Weiterhin sind die Studierenden mit verschie-denen Angriffstechniken vertraut, die auf neue Protokolle undVerfahren übertragen werden können.

    Sozialkompetenz: Die Studenten tauschen sich über Probleme beimErarbeiten und Anwenden von neuen Inhalten aus und könnenproblemorientiert diskutieren.

    Selbstkompetenz: Die Studenten erlangen die Fähigkeit, sich eineMeinung über die Sicherheit von Protokollen zu bilden. Darüberhinaus besitzen sie die Kompetenz, neue Angriffe aus der aktuel-len Fachliteratur zu verstehen und ihre Bedeutungen zu evaluie-ren. Die Studenten entwickeln ein “gesundes Misstrauen“ gegen-über vorgegebenen Sicherheitskonzepten.

    Häufigkeit des Angebots: Jedes Semester

    Anerkannte Module:

    Anerkannte anderweitige Lerner-gebnisse /Lernleistungen:

    Medienformen: Studienbriefe in elektronischer Form, Onlinematerial in Lernplatt-form, Übungen über Lernplattform, Online-Konferenzen, Chatund Forum

    Literatur: • Netzsicherheit 3, Jörg Schwenk, 2016

    Weitere Literatur wird in der Lehrveranstaltung bekannt gegeben.

  • Netzsicherheit 3[Netsec3]

    Autoren:

    Prof. Dr. Jörg Schwenk

    Ruhr-Universität Bochum

  • Netzsicherheit 3[Netsec3]

    Studienbrief 1: Grundlagen des WWW

    Studienbrief 2: Grundlagen von Web-Clients

    Studienbrief 3: UI Redressing

    Studienbrief 4: Angriffe auf Web-Clients

    Studienbrief 5: Angriffe auf Datenbanken

    Autor:Prof. Dr. Jörg Schwenk

    6. Auflage

    Ruhr-Universität Bochum

  • © 2017 Ruhr-Universität BochumRuhr-Universität BochumUniversitätsstraße 15044801 Bochum

    6. Auflage (29. Mai 2017)

    Didaktische und redaktionelle Bearbeitung:Christopher Späth

    Das Werk einschließlich seiner Teile ist urheberrechtlich geschützt. Jede Ver-wendung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohneZustimmung der Verfasser unzulässig und strafbar. Das gilt insbesonderefür Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspei-cherung und Verarbeitung in elektronischen Systemen.

    Um die Lesbarkeit zu vereinfachen, wird auf die zusätzliche Formulierungder weiblichen Form bei Personenbezeichnungen verzichtet. Wir weisen des-halb darauf hin, dass die Verwendung der männlichen Form explizit alsgeschlechtsunabhängig verstanden werden soll.

    Das diesem Bericht zugrundeliegende Vorhaben wurde mit Mitteln des Bun-desministeriums für Bildung, und Forschung unter dem Förderkennzeichen16OH12026 gefördert. Die Verantwortung für den Inhalt dieser Veröffentli-chung liegt beim Autor.

  • Inhaltsverzeichnis Seite 3

    Inhaltsverzeichnis

    Einleitung zu den Studienbriefen 4I. Abkürzungen der Randsymbole und Farbkodierungen . . . . . . . . . 4II. Zu den Autoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5III. Modullehrziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    Studienbrief 1 Grundlagen des WWW 71.1 Lernziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2 Leseaufgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.3.1 Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3.2 URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.3 HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    Studienbrief 2 Grundlagen von Web-Clients 112.1 Lernziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Leseaufgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    Studienbrief 3 UI Redressing 173.1 Lernziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Leseaufgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.3 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    Studienbrief 4 Angriffe auf Web-Clients 214.1 Lernziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2 Leseaufgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.3 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    4.3.1 Sicherheitsmechanismen . . . . . . . . . . . . . . . . . . . . 214.3.2 XSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.3.3 CSRF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    Studienbrief 5 Angriffe auf Datenbanken 275.1 Lernziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2 Leseaufgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.3 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.4 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

  • Seite 4 Einleitung zu den Studienbriefen

    Einleitung zu den Studienbriefen

    I. Abkürzungen der Randsymbole und Farbkodierungen

  • Zu den Autoren Seite 5

    II. Zu den Autoren

    Prof. Dr. Jörg Schwenk ist seit September 2003 Inhaber des Lehrstuhls für Netz-und Datensicherheit der Ruhr-Universität Bochum. Der Lehrstuhl gehört zumrenommierten Horst Görtz Institut für IT Sicherheit.Herr Schwenk ist seit über 20 Jahren im Bereich Kryptographie und IT-Sicherheittätig und ein international anerkannter Experte auf diesem Gebiet. Nach seinerPromotion im Fachbereich Mathematik der Universität Gießen wechselte HerrSchwenk im Jahre 1993 zunächst in die Industrie, wo er am Technologiezentrumder Deutschen Telekom AG in Darmstadt angewandte Forschung im Bereich derIT-Sicherheit betrieb.Professor Schwenk ist Autor zahlreicher internationaler Publikationen auf re-nommierten Konferenzen (z. B. Eurocrypt, Asiacrypt und Communications andMultimedia Security), Autor von Lehrbüchern zur Kryptographie und Internet-Sicherheit und von etwa 60 Patenten im Bereich der IT-Sicherheit.

  • Seite 6 Einleitung zu den Studienbriefen

    III. Modullehrziele

    Die Kryptographie war lange Zeit eine Wissenschaft für Spezialisten. Bis in die zweite Hälfte des letzten Jahr-hunderts beschäftigten sich mit ihr nur Militärs und Diplomaten. Mit dem Aufkommen der elektronischenDatenverarbeitung und der digitalen Kommunikation kamen weitere Spezialisten hinzu: Bankangestellte,Datenschützer, Mobilfunker, Pay-TV-Anbieter und auch die ersten Hacker.Mit dem Erfolg des Internet änderte sich die Situation grundlegend. Jetzt hatte jeder die Gelegenheit,persönliche Nachrichten per E-Mail zu versenden, oder Waren mit einem Mausklick im World Wide Web zukaufen.Gleichzeitig wuchs das Bewusstsein, wie unsicher das neue Medium ist: Durch Abhörpläne der nationalenRegierungen (die ähnlich wie beim Brief- und Fernmeldegeheimnis auch hier Einschränkungen im Rahmender Verbrechensbekämpfung durchsetzen wollten) und durch kriminelle Aktivitäten (wie z.B. den Diebstahlvon Kreditkartennummern von Webservern).

    Ziel dieses Moduls ist es, dem Leser eine fundierte Einführung in das Gebiet der Web-Sicherheit und speziellüber die häufigsten Schwachstellen in Webapplikationen zu geben. Damit soll er in die Lage versetzt werden,wie er derartige Schwachstellen manuell finden kann, ohne die Hilfe von automatisierten Webapplikations-Scannern in Anspruch zu nehmen. Darüber hinaus lernt der Leser entsprechende Schutzmaßnahmen sowiederen Wirksamkeit kennen.

  • Studienbrief 1 Grundlagen des WWW Seite 7

    Studienbrief 1 Grundlagen des WWW

    1.1 Lernziele

    Sie lernen die Grundpfeiler des World Wide Web kennen: Der Uniform ResourceLocator zum Referenzieren von Adressen im WWW und das Hypertext TransferProtocol zum Abrufen der Ressourcen.

    1.2 Leseaufgabe

    Der Inhalt dieses Studienbriefes ist das Kapitel 1 aus dem Buch Schwenk [2016].

    1.3 Übungsaufgaben

    1.3.1 Allgemein

    ÜÜbung 1.1

    Wer gilt als der Erfinder von HTML und demWorld Wide Web?1. Doug Engelbart

    2. Tim Berners-Lee

    3. Ted Nelson

    4. Vannevar Bush

    ÜÜbung 1.2

    Wann wurde der erste Webserver in Betrieb genommen?1. 1980

    2. 1995

    3. 1990

    4. 1989

    ÜÜbung 1.3

    Wofür steht das Akronym AJAX? (Schreiben Sie das Akronym aus.)

    ÜÜbung 1.4

    Schreiben Sie das Akronym “CSS“ aus.

    ÜÜbung 1.5

    Schreiben Sie das Akronym “LAMP“ aus.

  • Seite 8 Studienbrief 1 Grundlagen des WWW

    ÜÜbung 1.6

    Schreiben Sie das Akronym MIME aus.

    1.3.2 URL

    ÜÜbung 1.7

    Benennen Sie den hervorgehobenen Teilen der URL.1. foo://foo:[email protected]:23/foo/foo.php?foo=foo&foo=12345#foo

    2. foo://foo:[email protected]:23/foo/foo.php?foo=foo&foo=12345#foo

    3. foo://foo:[email protected]:23/foo/foo.php?foo=foo&foo=12345#foo

    4. foo://foo:[email protected]:23/foo/foo.php?foo=foo&foo=12345#foo

    5. foo://foo:[email protected]:23/foo/foo.php?foo=foo&foo=12345#foo

    6. foo://foo:[email protected]:23/foo/foo.php?foo=foo&foo=12345#foo

    7. foo://foo:[email protected]:23/foo/foo.php?foo=foo&foo=12345#foo

    8. foo://foo:[email protected]:23/foo/foo.php?foo=foo&foo=12345#foo

    9. foo://foo:[email protected]:23/foo/foo.php?foo=foo&foo=12345#foo

    10. foo://foo:[email protected]:23/foo/foo.php?foo=foo&foo=12345#foo

    ÜÜbung 1.8

    Wählen Sie aus den URL Fragmenten diese aus, die als korrekte Domänebezeichnet werden können.

    1. evilsite.com

    2. .com

    3. www.

    4. www.nds.rub

    5. ftp.1und1.de

  • 1.3 Übungsaufgaben Seite 9

    1.3.3 HTTP

    ÜÜbung 1.9

    Ordnen Sie die Verfahren dem Ort (client-, serverseitig, beides) zu.1. Verfahren:

    2. Java Server Pages (JSP)

    3. Java Servlets

    4. Active Server Pages (ASP)

    5. Java Server Faces (JSF)

    6. Adobe Flash

    7. Microsoft Silverlight

    8. Microsoft ActiveX

    9. Java-Applets

    10. Asynchronous JavaScript and XML (AJAX)

    11. JavaScript

    12. Cascading Style Sheets (CSS)

    13. Common Gateway Interface Script/Engine (CGI)

    14. PHP Hypertext Preprocessor (PHP)

    15. Practical Extraction and Reporting Language (PERL)

    16. VBScript

    KKontrollaufgabe 1.1Im Verlauf der Übungen werden Sie häufiger Tools benötigen, mit denen sieNachrichten zwischen Ihrem Browser und einem Server gezielt manipulie-ren können. Nutzen Sie diese Aufgaben um sich mit den Entwicklertoolsihres Browsers oder speziellen PlugIns vertraut zu machen. Für die Lösungdieses Aufgabenblatts ist neben den Entwicklertools z.B. der Burp Proxy1oder das Firefox-Plugin Tamper Data sehr hilfreich.

    Besuchen Sie die Webseite unter http://www.nds.rub.de.

    1. Welche Informationen können diesem entnommen werden (ein Satzpro Header-Zeile)?

    1 https://portswigger.net/burp/

    http://www.nds.rub.dehttps://portswigger.net/burp/

  • Studienbrief 2 Grundlagen von Web-Clients Seite 11

    Studienbrief 2 Grundlagen von Web-Clients

    2.1 Lernziele

    Sie lernen die Hypertext Markup Language (HTML) als eine wesentliche Grundla-ge von Web-Clients kennen. Cascading Style Sheets (CSS) geben einen Überblicküber Layout Möglichkeiten. Mit JavaScript wird eine weitverbreitete Client-seitigeSkriptsprache eingeführt. Diese Themen legen die Grundlage für spätere weiter-führende Kapitel wie Cross-Site Scripting (XSS) und UI Redressing. Informationenüber andere Dokumenttypen als die vorgenannten und Plugins runden den Stu-dienbrief ab.

    2.2 Leseaufgabe

    Der Inhalt dieses Studienbriefes ist das Kapitel 2 aus dem Buch Schwenk [2016].

    2.3 Übungsaufgaben

    ÜÜbung 2.1

    Nennen Sie das entsprechende HTML Element, welches auf die Beschrei-bungen zutrifft.

    1. Umklammert die gesamte in HTML geschriebene Webseite.

    2. Der Seitenheader

    3. Der Hauptteil des HTML-Dokumentes.

    4. Der Titel der Seite im HEAD-Teil.

    5. Überschrift der Stufe 1

    6. fett gedruckt

    7. kursiv gedruckt

    8. zentriert

    9. ungeordnete Liste

    10. geordnete Liste

    11. Ein Element einer Liste.

    12. Zeilenumbruch

    13. Neuer Absatz

    14. Horizontale Linie

    15. Einfügen eines Bildes

    16. Hyperlink

    17. Tabelle

    18. Formular

    19. Eingabefeld

  • Seite 12 Studienbrief 2 Grundlagen von Web-Clients

    ÜÜbung 2.2

    Benennen Sie die hervorgehobenen Elemente.• 1234

    • 1234

    ÜÜbung 2.3

    Geben Sie für die folgenden Symbole die HTMLNamen (Schema: &...;) an.1. Ö

    2. ä

    3. "

    4. &

    5. ö

    6. ü

    ÜÜbung 2.4

    In einem HTML-Dokument definiert man einen Verweis (Link) auf eineURL gewöhnlich mit dem Tag Webseite desLehrstuhls doch wofür stehen die Abkürzungen und ?

    ÜÜbung 2.5

    Will der Programmierer die XML Steuerzeichen anderweitig in einem XMLDokument verwenden, dann muss er diese ersetzen.

    1. Die spitze Klammer ““ wird ersetzt?

    3. Das Und-Zeichen (ampersand) wird ersetzt?

  • 2.3 Übungsaufgaben Seite 13

    ÜÜbung 2.6

    Woraus ist ein HTML-Dokument grundsätzlich aufgebaut?1. Dokumenttyp-Tag ()

    2. Header-Tag ()

    3. title-Tag ()

    4. Body-Tag ()

    5. text-Tag ()

    6. Links-Tag ()

    7. html-Tag ()

    ÜÜbung 2.7

    Welche der folgenden Aussagen zu Formularen in HTML ist richtig?1. Das Formular-Tag umschließt mehrere Eingabefelder.

    2. ... erstellt ein Formular

    3. Das Formular-Tag hat immer einen Submit-Button.

    4. Wenn das Formular mit der GET-Methode gesendet wird, dann wer-den die Eingaben als String im Body des http-Requests an den Serverübertragen.

    5. Formulare dienen dazu Daten vom Server an den Client zu senden.

    6. Es gibt mindestens einen Tag innerhalb des Formular-Tags der heißt.

    7. Die einzelnen Eingabefelder werden mit dem Tag definiert.

    8. Formular-Daten könnenmittels POST- oderGET-Methode übermitteltwerden.

    9. Wenn das Formular mit der POST-Methode gesendet wird, dannwerden die Eingaben als Query-String an die URL angehängt.

    10. ... erstellt ein Formular

  • Seite 14 Studienbrief 2 Grundlagen von Web-Clients

    ÜÜbung 2.8

    Markieren Sie die Attributdefinitionen, die in XML erlaubt sind.1.

    2. Text

    3.

    4.

    5.

  • 2.3 Übungsaufgaben Seite 15

    ÜÜbung 2.12

    HTML-Dateien als auch XML-Dateien können auch als Baumstruktur dar-gestellt werden. Auf der rechten Seite ist diese Struktur dargestellt. Es gibteinen Standard, der HTML und XML-Dokumente im Arbeitsspeicher alsBaumstruktur repräsentiert. Wie heißt dieser Standard?

    ÜÜbung 2.13

    Frames können nicht zur Strukturierung von Webseiten genutzt werden.Richtig oder Falsch?

    ÜÜbung 2.14

    Um einen Framespoofing-Angriff durchführen zu können, muss die Web-seite aus mehreren Frames bestehen und alle Frame-Inhalte von genau demselben Server und der selben Domäne stammen. Richtig oder Falsch?

    ÜÜbung 2.15

    Wenn Daten in XML-Strukturen abgelegt werden, dann kommt es zu einerVergrößerung der Datenmenge. Richtig oder Falsch?

    ÜÜbung 2.16

    Der Sinn eineMarkupsprache basierend auf SGML einzusetzen ist die Eigen-schaft Daten mit Zusatzinformationen anzureichern. Richtig oder Falsch?

    ÜÜbung 2.17

    XHTML basiert auf einem Teilbereich von SGML und beachtet die Syntaxre-geln von XML. Richtig oder Falsch?

    ÜÜbung 2.18

    Ist XML case-sensitive? Das heißt wird “Hello!“ und“Hello!“ unterschieden? Richtig oder Falsch?

  • Studienbrief 3 UI Redressing Seite 17

    Studienbrief 3 UI Redressing

    3.1 Lernziele

    In diesem Studienbrief lernen Sie die Grundlagen von UI-Redressing kennen. Sieerfahren, was Clickjacking, Likejacking, Sharejacking, Drag&Drop Angriffe sindund wie diese funktionieren. Weiterhin werden verbreitete Schutzmaßnahmenund deren Einschränkungen diskutiert.

    3.2 Leseaufgabe

    Der Inhalt dieses Studienbriefes ist das Kapitel 3 aus dem Buch Schwenk [2016].

    3.3 Übungsaufgaben

    ÜÜbung 3.1

    Welche der folgenden Angriffsszenarien sind mit UI Redressing durchführ-bar? Der Angreifer soll für diese Aufgabe die Möglichkeit haben einen derfolgenden UI Redressing Angriffe gegen die angegriffene Webseite durch-zuführen:

    • Clickjacking

    • Likejacking

    • Cursorjacking

    Dabei sollen nur reine UI Redressing Angriffe berücksichtigt werden undkeine zusätzlichen XSS oder anderen Angriffe nötig sein. Geben Sie jeweilsan, obClickjacking, Likejacking, Cursorjacking oder keine derMöglichkeitenanwendbar ist.

    1. Stehlen von Anmeldedaten einer anderen Webseite

    2. Stehlen eines Cookies vom Opfer von einem Social Network

    3. Eine Person will sich für ein Social Network Likes von 10.000 fremdenPersonen einholen

    4. Umleiten eines Opfers auf eine Werbungswebseite bei der diese Akti-on als Klick gewertet wird

    5. Melden eines anstößigen Beitrags über einen Button in einem Forum

    6. Kaufen eines Artikels bei einem Onlineshop auf Kosten des Opfersaber an die Adresse des Angreifers

    7. Erhöhen eines ViewZählers einerMeldung auf einerNachrichtenseite

    8. Ausführen eines Geldtransfer vom Opfer an den Angreifer

    9. Ein Wahlautomat der eine HTML-Seite nutzt, um dem Wähler dieMöglichkeiten anzuzeigen, soll so manipuliert werden, dass immereiner der beiden zur Wahl stehenden Personen gewählt wird

    10. Stehlen eines Cookies vom Opfer von einem Onlineshop

  • Seite 18 Studienbrief 3 UI Redressing

    ÜÜbung 3.2

    Welche Sprachen werden bei UI-Redressing eingesetzt?1. HTML

    2. SQL

    3. XML

    4. VBA

    5. Pascal

    6. JavaScript

    7. CSS

    ÜÜbung 3.3

    Welche der folgenden Aussagen zu Classic Clickjacking treffen zu?1. Zur Durchführung sind mindestens zwei HTML Seiten notwendig,

    die in verschiedenen Browserfenstern geladen werden müssen.

    2. Clickjacking findet statt, wenn eine Seite eine andere Seite in einemIFrame einbettet.

    3. Falls die ’Opferseite’ einen speziellenHTMLHeader X-Frame-Optionssetzt, kann der Angriff nicht durchgeführt werden.

    4. Der Header X-Frame-Options mit dem Wert Deny verhindertClickjacking Angriffe, da einer Angreiferseite verboten wird, diesebei sich einzubinden.

    ÜÜbung 3.4

    Ist die folgende Aussgabe korrekt? Likejacking und Sharejacking unterschei-den sich nur durch die Art des genutzten Buttons.

    ÜÜbung 3.5

    Welche Gegenmaßnahmen eignen sich als serverseitige Schutzmaßnahmeum UI-Redressing zu verhindern?

    1. Der Header X-Frame-Options: ALLOWALL

    2. Ein JavaScript basierter FrameBuster

    3. Plug-Ins oder Addons im Browser

  • 3.3 Übungsaufgaben Seite 19

    ÜÜbung 3.6

    Die Verwendung des sandbox Attributes für ein iFrame, ist aus Sicht desAngreifers

    1. von Vorteil, weil damit die Ausführung von JavaScript verboten wer-den kann

    2. von Vorteil, weil der Browser damit das IFrame in eine Art ’Entwick-lungsmodus’ setzt und alle Aktionen erlaubt sind.

    3. von Nachteil, weil der Browser damit das IFrame in eine Art ’Ent-wicklungsmodus’ setzt und damit alle Aktionen per default verbotensind.

    4. von Vorteil, weil der Browser damit auch gesetzte HTTP Header ausder Response des Servers entfernt.

  • Studienbrief 4 Angriffe auf Web-Clients Seite 21

    Studienbrief 4 Angriffe auf Web-Clients

    4.1 Lernziele

    Sie lernen die Sicherheitsmechanismen des Webs kennen und in deren komplexesZusammenspiel. Weiterhin werden die zwei bedeutenden Angriffe Cross-SiteScripting (XSS) und Cross-Site Request Forgery (CSRF) vorgestellt. Bei XSS werdenneben den klassischen Varianten stored, reflected und DOM-based außerdem dasseit 2013 bekannte mXSS vorgestellt. Bei den Gegenmaßnahmen werden ebenfallsneue Entwicklungen, wie DOM-basierte Filter am Beispiel vom DOMPurify unddarauf spezifische Angriffe (DOM Clobbering) besprochen. CSRF umfasst nebenden bekannten post-authentication Varianten ebenfalls die pre-authenticationVarianten, welche 2017 systematisch aufbereitet worden sind.

    4.2 Leseaufgabe

    Der Inhalt dieses Studienbriefes ist das Kapitel 4, 5 und 6 aus dem Buch Schwenk[2016].

    4.3 Übungsaufgaben

    4.3.1 Sicherheitsmechanismen

    ÜÜbung 4.1

    Nennen Sie die Merkmale, welche durch die Same-Origin-Policy überprüftwerden.

    ÜÜbung 4.2

    Erläutern Sie für die folgenden Punkte, ob die reguläre Same-Origin-Policy(im Mozilla Firefox) den Zugriff zulassen würde:

    1. Ein Skript auf http://rub.de/ möchte auf ein Cookie vonhttps://rub.de/ zugreifen.

    2. Ein Skript auf http://rub.de/xxx.php möchte auf ein DOM vonhttp://rub.de/b.jsp zugreifen.

    3. Ein Skript auf http://nds.rub.de:80/ möchte auf den DOM vonhttp://syssec.rub.com:80/ zugreifen.

    http://rub.de/https://rub.de/http://rub.de/xxx.phphttp://rub.de/b.jsphttp://nds.rub.de:80/http://syssec.rub.com:80/

  • Seite 22 Studienbrief 4 Angriffe auf Web-Clients

    4.3.2 XSS

    ÜÜbung 4.3

    Geben Sie zu jedem Beispiel an, um welchen Typ von XSS-Angriff es sichhandelt.

    1. In einem Bewertungseintrag zu einem Produkt in einem Online-Shopkann Script-Code versteckt werden.

    2. Eine Webseite speichert Benutzernamen und Passwort eines Nutzersin einer Datenbank ab und ruft diese Daten später wieder auf derpersonalisierten Seite des Nutzers ab.

    3. Ein URL-Verkürzer zeigt beim Erstellen eines neuen verkürzten Linksden Link nochmal an.

    4. Einer Websuche für animierte Bilder können Metadaten in der URLmitgegeben werden, die die Anzeige des Bildes beeinflussen. DieMitgabe der Metadaten erfolgt als GET-Request.

    5. Eine vollständig herunterladbare, lokal ausführbare Webseite mitDateiendung .html nutzt über ein Formular übermittelte Daten, umeinen Geburtstagsgruß zu formulieren.

    ÜÜbung 4.4

    Schützt SSL/TLS prinzipiell vor Cross-Site-Scripting Angriffen (XSS)?Begründen Sie Ihre Antwort.

    ÜÜbung 4.5

    Nehmen Sie an, es existiert eine Applikation (Suchmaschine), welche deneingegebenen Suchbegriff dem Benutzer zurückgibt:Sie suchten nach “Suchbegriff“.Diese ist unter http://searchtheweb.com erreichbar und nimmt als GETParameter “search“ entgegen.Es werden weder auf Client- noch Serverseite Schutzmaßnahmen gegenXSS getroffen.

    Welchen Inhalt müssten Sie “search“ zuweisen, um eine Script Ausführungzu erreichen?

    Hinweis:Sie können sich dieses Programm sehr einfach nachimplementieren mitdem folgenden Code:

    http://searchtheweb.com

  • 4.3 Übungsaufgaben Seite 23

    ÜÜbung 4.6

    Können mXSS Angriffe Client und Serverseitige XSS-Filter umgehen?Begründen Sie Ihre Antwort.

    ÜÜbung 4.7

    Auch Gegenmaßnahmen gegen XSS oder CSRF sind nicht immerperfekt. Gehen Sie davon aus, dass ein Reflected XSS Angriff aufhttp://nds.rub.de/start.php möglich war, wenn ein Opfer diesem Linkgefolgt ist:

    http://nds.rub.de/start.php?search=alert("NDS");

    Gehen Sie nun davon aus, dass in der Datei start.php folgende Gegenmaß-nahme implementiert ist:

    $search = str_replace(’“’, ’"’, $search);

    Wie müsste der Angreifer den Link nun verändern, damit er wiederfunktioniert? Der Angreifer soll möglichst wenig ändern und die Änderungsoll zudem soweit vorne wie möglich sein.

    ÜÜbung 4.8

    Nachdem es zu weiteren XSS-Angriffen gekommen ist, wird eine neue,zusätzliche Gegenmaßnahme implementiert, die wie folgt aussieht:

    if (preg_match (’/javascript/’, $search)) die();

    Wie müsste der neue Link nun aussehen? Der Angreifer soll möglichstwenig ändern und die Änderung soll zudem soweit vorne wie möglichsein.

    ÜÜbung 4.9

    Der Admin versucht nun einen neuen Anlauf und führt als letzte Gegen-maßnahme die folgende Codezeile hinzu:

    $search = str_replace(’alert(’, ”, $search);

    Wie müsste der Link für den Angriff nun aussehen? Der Angreifer sollmöglichst wenig ändern und die Änderung soll zudem soweit vorne wiemöglich sein.

    http://nds.rub.de/start.phphttp://nds.rub.de/start.php?search=alert("NDS");http://nds.rub.de/start.php?search=alert("NDS");

  • Seite 24 Studienbrief 4 Angriffe auf Web-Clients

    K Kontrollaufgabe 4.1In dieser Aufgabe sollen Cross-site Scripting Angriffe vertieft werden.Hierzu werden die Level 1 bis 6 der folgenden Webseite verwendet:

    http://xss-quiz.int21h.jp/

    Hinweis:Es könnte eine gute Idee sein die Vektoren mit unterschiedlichen Browsernzu testen.

    4.3.3 CSRF

    ÜÜbung 4.10

    Geben Sie für die folgenden Angriffsszenarien an, ob sie mit CSRF durch-führbar sind.Begründen Sie Ihre Antwort.

    Folgende Rahmenbedingungen sind gegeben:Der Angreifer soll für diese Aufgabe die Möglichkeit haben in einer Web-mail Anwendung beliebigen JS Code auszuführen. Das heißt er kannbeliebig viele HTTP-Anfragen über den Browser des Opfers starten. Aufden weiteren angegriffenen Seiten sollen keine zusätzlichen Lücken wieXSS ausnutzbar sein. Die angegriffenen Webseiten haben natürlicherweisekeinen aktiven CSRF-Schutz.

    Szenarien:

    1. Ein Geldtransfer über eine Webseite an den Angreifer, bei der dasOpfer ein Konto besitzt und eingeloggt ist.

    2. Das Posten eines Beitrags in einem Social Network in dem das Opferaktuell eingeloggt ist.

    3. Das Liken eines Beitrags in einem Social Network in dem das Opferaktuell eingeloggt ist.

    4. Das Stehlen eines Cookies von einem Onlineshop in dem das Opfereingeloggt ist.

    5. Das Bestellen eines bestimmten Produktes an die Adresse des Opfers,wenn dieses im Onlineshop registriert und eingeloggt ist.

    6. Das Bestellen eines bestimmten Produktes an die Adresse des Opfers,wenn dieses im Onlineshop zwar registriert, aber nicht eingeloggt istund dem Angreifer die Zugangsdaten nicht bekannt sind.

    7. Ein Geldtransfer über eine Webseite an den Angreifer, bei der dasOpfer kein Konto besitzt.

    8. Das Bestellen eines bestimmten Produktes an die Adresse des An-greifers, wenn das Opfer im Onlineshop registriert und eingeloggtist.

    http://xss-quiz.int21h.jp/

  • 4.3 Übungsaufgaben Seite 25

  • Seite 26 Studienbrief 4 Angriffe auf Web-Clients

    ÜÜbung 4.11

    Nehmen Sie an eine Web-Applikation sei unter http://webapp.de auf Port8080 unter dem Pfad /banking/index.php erreichbar.Die Applikation hat ein sehr unsicheres Design und bietet den Nutzern überdie index.php sowohl das Posten von Nachrichten an, als auch das Sendenvon Geld.

    Das Ziel dieser Aufgabe ist es, eine Nachricht an ein Forum zu senden, wo-bei gleichzeitig ohne das Wissen des Users zusätzlich eine Geldtransaktionausgelöst wird, wenn er die Nachricht liest. Gehen Sie dabei wie folgt vor:Die Nachricht soll ein Bild enthalten. Die URL des Bildes muss auf dieindex.php verweisen undmit den Parametern “Screen“, „menu“ und “trans-ferFunds“ befüllt sein. Der “transferFunds“ Parameter soll ein ganzzahligerWert sein, der jedoch beliebig gewählt sein darf, z.B. 5000. Die Werte derübrigen benötigten Parameter zum Erstellen des Links sind weiter untenaufgeführt.

    Parameter: WertScreen 2078372menu 900

    Im Folgenden wird der Ablauf der Web-

    Applikation beschrieben: Ein Nutzer gibt zunächst einen Titel und eineNachricht in ein Formular ein und sendet dieses danach ab.

    Es wird unter "Message Listëin neuer Eintrag mit dem Titel angelegt. DurchKlicken auf den Hyperlink wird der Inhalt angezeigt, wie in folgenderAbbildung zu sehen ist.

    Führen Sie den oben beschriebenen Angriff aus und geben Sie den Inhaltder zu postenden Nachrich an.

  • Studienbrief 5 Angriffe auf Datenbanken Seite 27

    Studienbrief 5 Angriffe auf Datenbanken

    5.1 Lernziele

    Sie erhalten einen Überblick über Datenbanken und eine Einführung in die Struc-tured Query Language (SQL). Es werden konzeptionell und an Hand von Code-beispielen Angriffe - sogenannte SQL Injections - auf Datenbanken und derenAuswirkungen besprochen. Weiterhin folgt eine Übersicht von Angriffsvariatio-nen, bspw. Blind SQL, bei denen kein unmittelbarer Rückkanal vorhanden ist. DerAbschluss des Kapitels zeigt, dass diese Klasse von Angriffen nicht nur auf SQLbeschränkt ist, sondern auch andere interpretierte Sprachen wie XPath, NoSQLDatenbanken und LDAP betreffen.

    5.2 Leseaufgabe

    Der Inhalt dieses Studienbriefes ist das Kapitel 7 aus dem Buch Schwenk [2016].

    5.3 Übungsaufgaben

    ÜÜbung 5.1

    Betreffen SQL Injections nur Select Statements?Begründen Sie Ihre Antwort.

    ÜÜbung 5.2

    Im folgenden sind einige Aussagen zum Thema SQL aufgeführt.Erläutern Sie zu jedem Punkt, warum die Aussage richtig bzw. falsch ist.

    1. SQL ist ein Standard, der von verschiedenen Datenbanksystemenunterschiedlich implementiert wird.

    2. Mit einem DROP-Query löscht man die Datensätze einer Tabelle.

    3. Mit einem INSERT-Query wird ein neuer Datensatz in die Datenbankeingefügt.

    4. Ein UPDATE-Query darf keine WHERE-Klausel enthalten.

    ÜÜbung 5.3

    Eine SQL-Injection Schwachstelle ...• � ... entsteht durch unsauberes Programmieren, wodurch dynami-

    sche SQL Abfragen erweitert werden können

    • � ... entsteht durch unsauberes Programmieren, wodurch statischeSQL Abfragen überschrieben werden können

    • � ... kommt nur in Webapplikationen vor, die MySQL nutzen.

    • � ... kann durch Blacklisting von Befehlen sicher verhindert werden.

  • Seite 28 Studienbrief 5 Angriffe auf Datenbanken

    ÜÜbung 5.4

    In einer Web-Applikation steht Ihnen eine Auswahlliste verschiedenerStädte zur Verfügung. Jede Stadt ist mit einem numerischen Wert codiert(bspw. Columbia hat den Wert 101).Der numerische Wert wird in das SQL Statement eingesetzt.

    Durch Klicken auf den Button “Go“, wird die Anfrage an die Datenbankgestellt und die Resultate zurückgeliefert.

    Erzeugen Sie eine “numerische SQL Injection“, welche Ihnen die Daten vonallen hinterlegten Städten ausgibt.

    ÜÜbung 5.5

    In einer Web-Applikation lassen sich die Kreditkartennummern für einenBenutzer anzeigen. Hierfür muss der Nachname (z.B. “Smith“) in einTextfeld eingetragen werden.Der Nachname wird als String in das SQL Statement eingesetzt.

    Durch Klicken auf den Button “Go“, wird die Anfrage an die Datenbankgestellt und die Resultate zurückgeliefert.

    Erzeugen Sie über den String eine “SQL Injection“, welche Ihnen dieKreditkartennummern aller hinterlegter Nutzer ausgibt.

  • 5.4 Literatur Seite 29

    ÜÜbung 5.6

    Es sei folgender Quellcode gegeben, welcher eine Abfrage auf eine Daten-bank ausführt, um Username/Passwort Kombinationen zu prüfen.

    S t r ing query = "SELECT ∗ FROM user_dataWHERE last_name = ' " + accountName+ " ' AND password = ' " + password + " ' " ;

    Geben Sie - ohne Kenntnis des Passworts zu haben einen SQL InjectionVektor an, mit dem Sie sich als beliebiger Nutzer einloggen können.Verwenden Sie für accountname bspw. Smith.

    KKontrollaufgabe 5.1Eine Web-Applikation erlaubt einem Benutzer eine Kontonummer einzu-geben. Falls es sich um eine gültige Kontonummer handelt, antwortet dieApplikation mit “Kontonummer gültig“, ansonsten mit “Kontonummerungültig“.

    Nutzen Sie die Kontonummernabfrage, um eine Blind SQL Injectiondurchzuführen. Das Ziel ist es, den Wert der Spalte pin, in der Tabelle pins,für den Eintrag 1111222233334444 in der Spalte cc_number zu finden. DerWert ist vom Typ int (Integer).

    Konstruieren Sie ein erstes SQL Statement, welches Sie dem Eingabefeldübergeben und welches somit von der Datenbank verarbeitet wird. Erläu-tern Sie Ihr weiteres Vorgehen.

    Hinweis:Zusammengesetzte SQL Abfragen, lassen sich durch das Verbinden mehre-rer Tests mit Schlüsselwörtern wie “AND“ und “OR“ erzeugen. Erstellen Sieeine SQL Abfrage, die Sie als “wahr/falsch“-Test verwenden kann. NutzenSie dann die Operatoren ’’ um den Wert herauszufinden.

    5.4 Literatur

    Joerg Schwenk. Netzsicherheit 3. Ruhr-Universität Bochum, 2016.

  • Einleitung zu den StudienbriefenI. Abkürzungen der Randsymbole und FarbkodierungenII. Zu den AutorenIII. Modullehrziele

    Studienbrief 1 Grundlagen des WWW1.1 Lernziele1.2 Leseaufgabe1.3 Übungsaufgaben1.3.1 Allgemein1.3.2 URL1.3.3 HTTP

    Studienbrief 2 Grundlagen von Web-Clients2.1 Lernziele2.2 Leseaufgabe2.3 Übungsaufgaben

    Studienbrief 3 UI Redressing3.1 Lernziele3.2 Leseaufgabe3.3 Übungsaufgaben

    Studienbrief 4 Angriffe auf Web-Clients4.1 Lernziele4.2 Leseaufgabe4.3 Übungsaufgaben4.3.1 Sicherheitsmechanismen4.3.2 XSS4.3.3 CSRF

    Studienbrief 5 Angriffe auf Datenbanken5.1 Lernziele5.2 Leseaufgabe5.3 Übungsaufgaben5.4 Literatur