Blatt 9 - Technologie der Informationssysteme

Werbung
Christian-Albrechts-Universität zu Kiel
Institut für Informatik
Arbeitsgruppe Technologie der Informationssysteme
Prof. Dr. H.-J. Klein, Dipl.-Inf. G. Fiedler
WS 2006/07
Übungsblatt 9
Übung zur Vorlesung Datenbanktechnologie
Übungsblatt 9
Dieses Übungsblatt beschäftigt sich mit der Rechteverwaltung in SQL und möglichen Angriffsszenarien in Web-Informationssystemen. Suchen Sie sich eine befreundete Gruppe, so
dass Sie sich gegenseitig die notwendigen Rechte geben können. Falls Sie keine befreundete
Gruppe finden, können Sie sich einen zweiten Account holen.
Vorbereitung Erzeugen Sie in ihrem Schema eine Tabelle Person(Name,Geburtsdatum)
und tragen Sie ein paar Testdatensätze ein. Erzeugen Sie eine weitere Tabelle Angestellte(Name,Abteilung,Gehalt), wobei Angestellte.Name Fremdschlüssel bzgl. Person sei.
Tragen Sie hier ebenfalls Testdaten ein.
Aufgabe 1 (4 Punkte)
a. Formulieren Sie in SQL: Gib die Namen aller Personen. Arbeiten Sie im Schema der
befreundeten Gruppe. Lassen Sie sich die minimal notwendigen Rechte geben, um die
Anfrage auszuführen. Geben Sie diese Rechte an.
b. Erzeugen Sie in ihrem eigenen Schema eine Tabelle Kunde(Name,Ansprechpartner),
wobei Ansprechpartner ein Fremdschlüssel auf die Angestellte-Tabelle im Schema
der befreundeten Gruppe ist. Lassen Sie sich die minimal notwendigen Rechte dafür geben. Geben Sie diese Rechte an. Hinweis: das Recht select für die Tabelle Angestellte
des anderen Schemas wird nicht benötigt.
c. Geben Sie einen Algorithmus (Pseudocode mit SQL) an, um die Namen aller Angestellten im fremden Schema zu ermitteln, obwohl kein select-Recht für diese Tabelle
erteilt wurde.
d. Erteilen Sie ihrer befreundeten Gruppe das Recht, den Namen und die Abteilung, aber
nicht das Gehalt aller Angestellten auszulesen. Wie gehen Sie vor?
Aufgabe 2 (8 Punkte)
a. Erzeugen Sie eine Tabelle Gaestebuch(Kommentar varchar(512)). Geben Sie ihrer
befreundeten Gruppe das Recht, Kommentare ins Gästebuch zu schreiben.
b. Das Webinterface, das für die Übungen am Lehrstuhl benutzt wird, zeigt HTMLCode aus der Datenbank ungefiltert an. Probieren Sie es aus, indem Sie eine HTMLformatierte Nachricht ins Gästebuch einfügen und sich das Gästebuch anschließend
anzeigen lassen.
c. Ergaunern Sie sich das Passwort ihrer befreundeten Gruppe auf die folgende Art und
Weise:
• Informieren Sie sich über JavaScript.
• Fügen Sie einen Kommentar in das Gästebuch ihrer befreundeten Gruppe ein, der
aus einem JavaScript-Block besteht. Innerhalb dieses JavaScript-Blockes setzen
Sie die Variable window.location auf eine URL, über die Sie die volle Kontrolle
haben (z.B. unter ihrer Homepage). Hinweis: manche Browser mögen es nicht,
wenn eingeschachtelter Skriptcode standardkonform in einen HTML-Kommentar
eingebettet wird. Versuchen Sie es im Zweifelsfall ohne und mit Kommentar oder
mit verschiedenen Browsern.
• Kopieren Sie sich die Startseite des Datenbank-Webinterfaces auf diese URL. Beim
Aufrufen des Gästebuchs wird ihre Seite geladen. Damit sei der Angriff erfolgreich
gezeigt.
Zusatzaufgabe (10 Zusatzpunkte)
Erweitern Sie Aufgabe 2 um ein Man in the Middle“-Szenario. Schauen Sie sich an, aus
”
welchen Seiten das DB-Webinterface besteht. Schreiben Sie ein Skript, welches die Benutzereingaben nach einem erfolgreichen Angriff nach Art von Aufgabe 2 entgegennimmt, abspeichert, den Request an das echte DB-Webinterface weiterleitet, die Links in der Ausgabe
des Webinterfaces anpasst und dieses Ergebnis als das eigene anzeigt.
Abgabe: Montag, 08.01.2007, zu Beginn der Übung oder im Aufgabenschrank im Erdgeschoss
des Instituts (HRS3).
Viel Erfolg!
Herunterladen