← Ana Sayfaya Dön

OverTheWire Bandit: Seviye 18 → Seviye 19

Teknik Not

Bağlam

Bu seviyede küçük bir şaka yapılmış. bandit18 kullanıcısı ile giriş yapmaya çalıştığınızda, sistem sizi selamlayıp anında atıyor:

...
Byebye !
Connection to bandit.labs.overthewire.org closed.

Bunun sebebi muhtemelen giriş yaptığınızda otomatik çalışan bir dosyanın (.bashrc veya .profile) içine exit komutunun eklenmiş olmasıdır. Yani kabuk (shell) açılır açılmaz kapanıyor.

Hedef

Sisteme interaktif olarak girmeden, readme dosyasını okuyup şifreyi almak.

Çözüm

SSH sadece uzak bir bilgisayara bağlanıp terminal açmak için değil, aynı zamanda tek bir komut gönderip sonucunu almak için de kullanılır. Bu modda, giriş betikleri (login scripts) bazen tam olarak çalışmaz veya çalışsa bile bizim gönderdiğimiz komut ondan önce veya ondan bağımsız çalışabilir.

Normalde şöyle bağlanıyoruz: ssh bandit18@... -p 2220 (Ve atılıyoruz)

Şimdi bağlanırken “bana terminal verme, sadece şu komutu çalıştır” diyeceğiz:

ssh bandit18@bandit.labs.overthewire.org -p 2220 'cat readme'

(Şifre sorunca bandit18 şifresini girin)

Çıktı:

awhqfNnAbc1naukrpqDYkWZxVJ5x6yHv
Byebye !
Connection to ... closed.

Gördüğünüz gibi, yine “Byebye!” dedi ve bağlantıyı kesti AMA ondan önce bizim cat readme komutumuzu çalıştırdı ve şifreyi verdi!

Alternatif: Eğer içeride gezinmek istiyorsanız (dosya listesine bakmak vs.), komutları tek tek gönderebilirsiniz:

ssh bandit18@bandit.labs.overthewire.org -p 2220 'ls -al'

Öğrendiklerimiz

  1. SSH Komut Yürütme: SSH üzerinden interaktif oturum açmadan komut gönderilebilir. Bu, otomasyon (scripting) için ve bu tür kısıtlamaları aşmak için çok kullanışlıdır.
  2. .bashrc: Kullanıcı giriş yaptığında çalışan yapılandırma dosyasıdır. Buraya exit koymak basit bir “erişim engelleme” yöntemidir ama gördüğünüz gibi aşılması kolaydır.