Langsung ke konten utama

Unggulan

Mendeteksi Gambar Duplikat dengan Python: Panduan Praktis

Panduan Lengkap OverTheWire Bandit Level 5 → 6


OverTheWire Bandit Level 5 → 6 

Login

Gunakan perintah berikut untuk login via SSH:

ssh bandit5@bandit.labs.overthewire.org -p 2220

Kata Sandi: koReBOKuIDDepwhWk7jZC0RTdopnAYKh


Tugas

Password untuk level berikutnya tersimpan di salah satu file di dalam direktori inhere dengan kriteria berikut:

  1. Dapat dibaca manusia (human-readable).
  2. Ukuran file 1033 bytes.
  3. Tidak dapat dieksekusi.

Penjelasan Teori

Perintah Dasar yang Digunakan

  1. file: Menentukan tipe file, berguna untuk mendeteksi file yang dapat dibaca manusia.
  2. grep: Mencari pola pada output. Gunakan opsi -v untuk mengecualikan pola tertentu.
  3. du: Menampilkan ukuran file dalam byte menggunakan opsi -b. Opsi -a digunakan untuk mencantumkan semua file termasuk file tersembunyi.
  4. ls -l: Menampilkan ukuran file pada kolom kelima.
  5. find: Digunakan untuk pencarian file berdasarkan ukuran, tipe, dan atribut eksekusi.

Kombinasi Perintah

  • Pipe (|): Mengalihkan output perintah pertama sebagai input untuk perintah kedua. Contoh:

    file */{.,}* | grep ASCII
    
  • Wildcard (*): Digunakan untuk mencantumkan semua file dalam direktori, termasuk file tersembunyi dengan pola */{.,}*.

  • find:

    • -size: Menentukan ukuran file (misalnya 1033c untuk 1033 bytes).
    • -type f: Hanya mencantumkan file (tidak termasuk direktori).
    • ! -executable: Mengecualikan file yang dapat dieksekusi.

Solusi Langkah Demi Langkah

1. Navigasi ke Direktori inhere

Masuk ke direktori inhere dan lihat isinya.

ls
cd inhere
ls -la

Hasilnya menunjukkan banyak subdirektori seperti maybehere00, maybehere01, dan seterusnya, masing-masing berisi beberapa file.

2. Identifikasi File yang Dapat Dibaca

Gunakan perintah berikut untuk mencari file yang dapat dibaca manusia:

file */{.,}* | grep "ASCII text"

Tambahkan filter untuk mengecualikan file dengan baris yang sangat panjang:

file */{.,}* | grep "ASCII text" | grep -v ", with very long lines"

Hasil:

maybehere10/.file2:       ASCII text
maybehere15/.file2:       ASCII text
maybehere01/-file2:       ASCII text
maybehere08/spaces file1: ASCII text
maybehere12/-file2:       ASCII text
maybehere15/spaces file2: ASCII text
maybehere18/-file2:       ASCII text

3. Cari File dengan Ukuran 1033 Bytes

Gunakan perintah du untuk mencari file dengan ukuran yang sesuai:

du -b -a | grep 1033

Hasil:

1033    ./maybehere07/.file2

4. Verifikasi File yang Ditemukan

Cek file tersebut untuk memastikan kriteria tipe ASCII terpenuhi:

file ./maybehere07/.file2

Hasil:

./maybehere07/.file2: ASCII text, with very long lines

5. Buka File dan Ambil Password

Gunakan cat untuk membuka file dan salin password:

cat ./maybehere07/.file2

Hasil:

DXjZPULLxYr17uwoI01bNLQbtFemEgo7

Solusi Satu Perintah

Gunakan perintah find untuk memenuhi semua kriteria dalam satu langkah:

find . -type f -size 1033c ! -executable -exec file '{}' \; | grep ASCII

Hasil:

./maybehere07/.file2: ASCII text, with very long lines

Buka file:

cat ./maybehere07/.file2

Password:

DXjZPULLxYr17uwoI01bNLQbtFemEgo7


Komentar

Postingan Populer