OverTheWire Bandit: Seviye 2 → Seviye 3
1. Bağlam
bandit2 kullanıcısı olarak giriş yaptık. Bir sonraki seviyenin şifresi, ev dizinimizde bulunan --spaces in this filename-- isimli dosyanın içindedir. Görevimiz, adında hem boşluklar hem de başında tireler olan bu dosyayı okumaktır.
2. Teknik Mantık
Bu dosya ismi Linux kabuğu (Shell) için iki ayrı zorluğu birleştirir:
- Boşluklar: Shell için bir ayraçtır.
- Tireler (
-veya--): Komutlar için bir parametre (flag) başlangıcıdır.
Sadece tırnak içine almak yetmez (cat "--spaces..."), çünkü komut bunu hala bir parametre sanabilir. Bu yüzden hem tırnak içine almalı, hem de dosya olduğunu belirtmek için başına yol (path) eklemeliyiz.
3. Uygulama
Adım 1: Dosyayı Görüntüle
ls
# Çıktı: --spaces in this filename--
Adım 2: İçeriği Oku
En güvenli ve temiz yöntem, dosyayı “bulunduğum klasördeki şu dosya” (./) olarak belirtip tırnak içine almaktır.
Yöntem: Tırnak + Göreceli Yol (Best Practice)
cat "./--spaces in this filename--"
Alternatif: Escaping
cat \-\-spaces\ in\ this\ filename\-\-
Yöntem C: Tab Tamamlama (Pratik)
Dosya adının ilk birkaç harfini yazıp TAB tuşuna basarsanız, Shell otomatik olarak en uygun formatı (genellikle escaping) uygular.
cat "./--<TAB>"
# Otomatik dönüşür: cat "./--spaces in this filename--"
4. Sonuç
Şifreyi kopyalayın, oturumu kapatın ve bir sonraki seviyeye bağlanın.
Çıkış: exit
Yeni Bağlantı: ssh bandit3@bandit.labs.overthewire.org -p 2220