Upload files to "/"

main
Thomas Smits 2023-12-14 07:15:20 +01:00
parent ac80dd4368
commit 6fcd89e0aa
4 changed files with 71 additions and 0 deletions

View File

@ -0,0 +1,18 @@
# Datei auf Server verändern
## Ziel
Ziel ist es, die Datei `secret.txt` aus der Übung zu [Directory-Traversal](gruyere-directory.md) mit einem beliebigen Inhalt zu überschreiben. Um diesen Angriff durchzuführen, wird ein weiterer Directory-Traversal-Angriff durchgeführt.
## Voraussetzungen
* Webbrowser (z.B. Chrome oder Firefox)
* Text-Editor
* Gruyere ist verfügbar (siehe [Anleitung](vorbereitung.md))
## Übung
1. Erzeugen Sie eine Textdatei mit dem Namen `secret.txt` und einem beliebigen Inhalt. Speichern Sie diese Datei auf Ihrem Rechner.
2. Schauen Sie sich die Upload-Funktionalität von Gruyere genauer an. Betrachten Sie insbesondere, wie der Pfad für die Datei konstruiert wird, die man hochladen möchte.
3. Verwenden Sie dieses Wissen, um Ihre Version der Datei `secret.txt` hochzuladen und die auf dem Server vorhandene Version zu ersetzen.
4. Verwenden Sie den bereits durchgeführten [Directory-Traversal-Angriff](gruyere-directory.md), um zu überprüfen, ob Sie erfolgreich waren.

20
gruyere-xsrf.md 100644
View File

@ -0,0 +1,20 @@
# Cross Site Request Forgery (XSRF)
## Ziel
Ziel ist es, eine URL zu erzeugen, die Sie an einen anderen Benutzer von Gruyere schicken können. Wenn das Opfer auf den Link klickt, wird eines _seiner_ Snipptes gelöscht.
## Voraussetzungen
* Webbrowser (z.B. Chrome oder Firefox)
* Gruyere ist verfügbar (siehe [Anleitung](vorbereitung.md))
## Übung
Bitte beachten Sie, dass jeder Verwender eine Gruyere-Instanz im Internet eine eigene Instanz-ID bekommt, die Teil der URL wird, z.B. `http://google-gruyere.appspot.com/[ID]/`. Es geht bei diesem Angriff _nicht_ darum, eine andere Instanz anzugreifen (andere ID), sondern einen anderen Benutzer derselben Instanz.
1. Legen Sie zwei Benutzer in Gruyere an: `bob` für einen gutartigen Benutzer (Opfer) und `malroy` für den Angreifer.
2. Melden Sie sich als `malroy` an und schauen Sie sich die Funktionalität zum Anlegen und Löschen von Snippets an. Möglicherweise wollen Sie auch einen Blick auf den HTML-Quelltext der Seite werfen.
3. Entwickeln Sie eine URL, die Sie an einen beliebigen anderen Benutzer von Gruyere schicken können und die beim Ausführen eines seiner Snippets löscht.
4. Melden Sie sich als `bob` an und legen Sie einige Snippets an.
5. Führen Sie den bösartigen Link aus und überprüfen Sie, ob wirklich ein Snippet verschwunden ist.

19
readme.md 100644
View File

@ -0,0 +1,19 @@
# Offensive Security
> Arguing that you dont care about the right to privacy because you have nothing to hide is no different than saying you dont care about free speech because you have nothing to say. -- Edward Snowden
"Genug der Theorie -- jetzt wird gehackt", ist Ihr Matra für diese Woche. Jetzt wollen Sie endlich die Dinge anwenden, mit denen Sie sich letzte Woche theoretisch befasst haben.
## Hacken der Gruyere-Anwendung
Für die Übungen zur Offensive-Security wird die Anwendung [Google-Gruyere](https://google-gruyere.appspot.com/start) eingesetzt.
Die Aufgaben werden wir gemeinsam in der Vorlesungsstunde durchführen. Sie müssen dafür also nichts zwingend vorbereiten. Allerdings sollten Sie die beschriebene Angriffe prinzipiell aus der vorhergehenden Woche kennen.
* [Vorbereitung](vorbereitung.md)
* [Cookie-Manipulation](gruyere-cookies.md)
* [Directory-Traversal](gruyere-directory.md)
* [Datei auf Server schreiben](gruyere-writing-file.md)
* [Reflected XSS](gruyere-reflected-xss.md)
* [Persistent XSS](gruyere-persistent-xss.md)
* [Cross Site Request Forgery (XSRF)](gruyere-xsrf.md)

14
vorbereitung.md 100644
View File

@ -0,0 +1,14 @@
# Vorbereitungen: Gruyere im Internet benutzen
Google Gruyere ist eine Webanwendung, die es Benutzern ermöglicht, Textschnipsel zu veröffentlichen und verschiedene Dateien zu speichern. Gruyere weist mehrere Sicherheitslücken auf, von Cross-Site Scripting und Cross-Site Request Forgery bis hin zu Informationslecks, Denial-of-Service und Remote-Code-Ausführung. Das Ziel von Gruyere ist es, die Entdeckung von Bugs zu üben.
Google erlaubt explizit, diese Web-Anwendung für Übungen im Bereich der Sicherheitsausbildung zu benutzen. Beachten Sie aber bitte, dass Google keine Angriffe, die nicht durch die beschriebenen Übungen abgedeckt sind, erlaubt.
## Zugriff auf die Web-Anwendung
1. Gehen Sie auf die Web-Anwendung [http://google-gruyere.appspot.com/start](http://google-gruyere.appspot.com/start)
2. Klicken Sie auf _Agree & Start_
3. Klicken Sie auf _Sign up_
4. Wenn alles erfolgreich war, sollten Sie folgendes im Browser sehen <img src="img/gruyere.png">
5. Legen Sie sich einen Account in der Gruyere-Web-Anwendung an. Benutzen Sie auf __keinen Fall__ einen echten Benutzernamen oder ein echtes Passwort. Die Anwendung ist absichtlich unsicher und sollte nicht Ihre echten Daten bekommen.
6. Beim Start der Anwendung wird eine ID angezeigt, die Sie sich merken sollten, da Sie diese für die weiteren Aufgaben benötigen. Sie können die ID aber auch jederzeit oben in der URL der Seite sehen.