Added writeups
This commit is contained in:
53
de/hidden_flag.md
Normal file
53
de/hidden_flag.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# Hidden Flag
|
||||
|
||||
Willkommen zum Write-up für **Hidden Flag**. Dies ist eine "Web"-Challenge, die sich auf **Information Disclosure** (Informationspreisgabe) und **Predictable Resource Location** (Vorhersehbare Ressourcenpfade) konzentriert.
|
||||
|
||||
In dieser Challenge ist es unsere Aufgabe, eine Datei namens `flag.txt` zu finden und herunterzuladen, die irgendwo auf der CTF-Plattform versteckt ist.
|
||||
|
||||
---
|
||||
|
||||
## 1. Erste Erkundung
|
||||
|
||||
Die Challenge-Beschreibung gibt uns ein sehr einfaches Ziel:
|
||||
> "Kannst du die versteckte flag.txt Datei auf dieser Seite herunterladen?"
|
||||
|
||||
Im Gegensatz zu vielen anderen Challenges erhalten wir keinen direkten Link oder ein Quellcode-Archiv. Wir müssen die CTF-Plattform selbst nach Hinweisen durchsuchen, wo Dateien gespeichert sind.
|
||||
|
||||
## 2. Analyse der Plattform
|
||||
|
||||
Wenn wir uns andere Challenges auf der Plattform ansehen (wie **SmashMe**), stellen wir fest, dass sie herunterladbare Dateien bereitstellen. Wenn wir die Download-Links für diese Challenges untersuchen, sehen wir ein Muster in den URLs:
|
||||
|
||||
`https://ctf.hackimpott.de/files/1769295971401-smashMe_.tar.xz`
|
||||
|
||||
Die Plattform scheint alle challenge-bezogenen Dateien in einem öffentlichen Verzeichnis unter `/files/` zu speichern.
|
||||
|
||||
## 3. Die Schwachstelle: Vorhersehbare Ressourcenpfade
|
||||
|
||||
Die Schwachstelle hier ist, dass der Server sensible Dateien (wie die Flagge) im selben Verzeichnis wie öffentliche Assets speichert und dieses Verzeichnis direkt für Benutzer zugänglich ist. Während die anderen Dateinamen zufällig aussehen mögen (z.B. `1769295971401-...`), wissen wir aus der Beschreibung, dass die Datei, die wir suchen, genau `flag.txt` heißt.
|
||||
|
||||
Wenn der Server keine ordnungsgemäßen Zugriffskontrollen für dieses Verzeichnis hat, können wir den Pfad zur Datei einfach erraten.
|
||||
|
||||
## 4. Ausnutzung
|
||||
|
||||
Um die Challenge zu lösen, nehmen wir eine bekannte funktionierende Datei-URL und ersetzen den Dateinamen durch unser Ziel:
|
||||
|
||||
1. **Original-URL:** `https://ctf.hackimpott.de/files/1769295971401-smashMe_.tar.xz`
|
||||
2. **Modifizierte URL:** `https://ctf.hackimpott.de/files/flag.txt`
|
||||
|
||||
Indem wir in unserem Browser zur modifizierten URL navigieren (oder `curl` verwenden), erlaubt uns der Server, die Datei herunterzuladen, wodurch ihr Inhalt enthüllt wird.
|
||||
|
||||
## 5. Die Lösung
|
||||
|
||||
Das Öffnen der heruntergeladenen `flag.txt` enthüllt die Flagge:
|
||||
|
||||
**Flag:** `{flag: well_done_little_pwnie_:)}`
|
||||
|
||||
---
|
||||
|
||||
## Gelernte Lektionen
|
||||
|
||||
Diese Challenge zeigt, warum es wichtig ist, statische Dateiverzeichnisse ordnungsgemäß zu sichern.
|
||||
* **Zugriffskontrolle:** Dateien, die nicht öffentlich sein sollen, sollten niemals in einem öffentlich zugänglichen Verzeichnis gespeichert werden.
|
||||
* **Obfuscation ist keine Sicherheit:** Selbst wenn Sie lange, zufällige Dateinamen für einige Dateien verwenden, schützt dies andere Dateien im selben Verzeichnis nicht, wenn deren Namen vorhersehbar sind (wie `flag.txt`, `config.php` oder `backup.zip`).
|
||||
|
||||
Viel Spaß beim Jagen!
|
||||
Reference in New Issue
Block a user