OverTheWire Bandit: Seviye 17 → Seviye 18
•
Teknik Not
Bağlam
Bazen bir sistemde neyin değiştiğini bulmak samanlıkta iğne aramaktan zordur. Bu seviyede elimizde iki dosya var: passwords.old ve passwords.new. Şifre, eski dosyada olmayan ama yeni dosyada olan tek satırda gizli.
Gözümüzle tek tek bakmak yerine, Linux’un karşılaştırma aracı diff’i kullanacağız.
Hedef
passwords.old ve passwords.new dosyaları arasındaki farkı bulup, yeni eklenen satırdaki şifreyi almak.
Çözüm
Komutumuz çok basit:
diff passwords.old passwords.new
Çıktı Analizi:
Çıktı şuna benzer bir şey olacak:
42c42
< 53an0.... (Eski şifre)
---
> hga5tuuCLF6fFzUpnagimn8ssu9LFrdg (Yeni şifre)
<(Küçüktür): Sol taraftaki dosyada (passwords.old) olup, sağdakinde olmayan satır (Silinen/Değişen).>(Büyüktür): Sağ taraftaki dosyada (passwords.new) olup, soldakinde olmayan satır (Eklenen/Yeni).
Yani bizim aradığımız şifre, > işaretiyle başlayan satırdaki: hga5tuuCLF6fFzUpnagimn8ssu9LFrdg.
Alternatif olarak, sadece değişen (yeni) satırları görmek için renkli çıktıyı kullanabilirsiniz (eğer terminal destekliyorsa):
diff --color passwords.old passwords.new
Öğrendiklerimiz
diff: Dosyaları satır satır karşılaştırır. Yazılım geliştirmede (git diff) ve sistem yönetiminde (konfigürasyon farkları) hayati öneme sahiptir.