Upload files to "/"

main
Thomas Smits 2023-12-14 07:14:50 +01:00
commit ac80dd4368
5 changed files with 70 additions and 0 deletions

18
gruyere-cookies.md 100644
View File

@ -0,0 +1,18 @@
# Gruyere: Cookie-Manipulation
## Ziel
Ziel ist es, die Cookies in der Gruyere-Anwendung so zu verändern, dass Sie zusätzliche Rechte in der Anwendung bekommen.
## Voraussetzungen
* Webbrowser (z.B. Chrome oder Firefox)
* Plug-in, das den Zugriff auf die Cookies erlaubt (z.B. [Cookie Quick Manager](https://addons.mozilla.org/en-US/firefox/addon/cookie-quick-manager/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search))
* Gruyere ist verfügbar (siehe [Anleitung](vorbereitung.md))
## Übung
1. Melden Sie sich an der Gruyere-Anwendung an.
2. Schauen Sie sich die Cookies an, die von Gruyere erzeugt werden. Es gibt dort einen leeren Bereich im Cookie (`||`) für zusätzliche Informationen über die Berechtigungen des Benutzers.
3. Versuchen Sie sich zusätzliche Berechtigungen zu erschleichen und Administrator zu werden (`admin` genannt in Gruyere).
4. Tipp: Es könnte Hashing eingesetzt werden, um das Cookie vor Veränderungen zu schützen. Versuchen Sie dies zu umgehen.

View File

@ -0,0 +1,18 @@
# Gruyere: Directory-Traversal
## Ziel
Ziel ist es, eine versteckte Datei (namens `secret.txt`) auf dem Web-Server zu finden und auszulesen.
Um Zugriff auf die Datei zu bekommen, werden Sie einen Directory-Traversal-Angeiff durchführen, d.h. aus der von der Anwendung vorgesehenen Directory-Struktur ausbrechen und Dateien lesen, die sich außerhalb des Dokumentenverzeichnis des Webservers befinden.
## Voraussetzungen
* Webbrowser (z.B. Chrome oder Firefox)
* Gruyere ist verfügbar (siehe [Anleitung](vorbereitung.md))
## Übung
* Die Web-Anwendung hat eine Upload-Funktionalität (`Upload`). Nachdem man eine Datei hochgeladen hat, kann man sie unter der URL `/benutzername/dateiname` wieder herunterladen.
* Versuchen Sie den Upload-Mechanismus zu verwenden, um die geheime Datei `secret.txt` vom Webserver zu laden.
* Beachten Sie, dass man einen Slash (`/`) auch als `%2F` in der URL darstellen. Dies hält Ihren Browser möglicherweise davon ab, die URL zu normalisieren, bevor er sie zum Server sendet.

View File

@ -0,0 +1,18 @@
# Persistent XSS
## Ziel
Ziel ist es, einen persistenten Cross Site Scripting-Angriff gegen eine Webanwendung durchzuführen. Dies bedeutet, dass das bösartige Skript auf dem Server gespeichert wird und an alle Benutzer der Seite ausgeliefert wird.
## Voraussetzungen
* Webbrowser (z.B. Chrome oder Firefox)
* Texteditor
* Gruyere ist verfügbar (siehe [Anleitung](vorbereitung.md))
## Übung
1. Erzeugen Sie eine HTML-Seite auf Ihrem Rechner, die JavaScript-Code enthält, um den Benutzer anzugreifen. Sie können z.2. ein Cookie stehlen oder eine Dialogbox anzeigen.
3. Suchen Sie nach Möglichkeiten, diese Datei in Gruyere hochzuladen. Generell gibt es zwei Stellen zum Upload: `New Snippets` und `Upload`.
3. Versuchen Sie, Ihre Seite in den Bereich "New Snippets" zu kopieren. Sie werden merken, dass die Eingaben gefiltert werden. Versuchen Sie Ihre Datei trotzdem hineinzukopieren.
4. Versuchen Sie, Ihre Datei mit der "Upload"-Funktion hochzuladen.

View File

@ -0,0 +1,16 @@
# Reflected XSS
## Ziel
Ziel ist es, einen reflected Cross Site Scripting-Angriff gegen eine Webanwendung durchzuführen. Dies bedeutet, dass das bösartige Skript _nicht_ auf dem Server gespeichert wird, sondern über eine URL an das Opfer gesendet wird.
## Voraussetzungen
* Webbrowser (z.B. Chrome oder Firefox)
* Gruyere ist verfügbar (siehe [Anleitung](vorbereitung.md))
## Übung
1. Gehen Sie auf eine beliebige Seite der Webanwendung, z.B. `My Snippets`.
2. Modifizieren Sie die URL so, dass sie ungültig wird und schauen Sie sich die Fehlermeldung genau an.
3. Verwenden Sie die oben gesammelten Informationen, um eine URL für einen _reflected XSS-Angriff_ zu konstruieren.

BIN
gruyere.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB