← Ana Sayfaya Dön

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

  1. 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.