Unggulan
- Dapatkan link
- X
- Aplikasi Lainnya
Panduan OverTheWire Bandit Level 22 → 23
Panduan OverTheWire Bandit Level 22 → 23
Login
Gunakan perintah berikut untuk masuk:
ssh bandit22@bandit.labs.overthewire.org -p 2220
Kata Sandi: Yk7owGAcWjwMVRwrTesJEwB7WVOiILLI
Tugas
Sebuah program dijalankan secara otomatis pada interval yang teratur oleh cron, penjadwal tugas berbasis waktu. Cari di /etc/cron.d/ untuk menemukan konfigurasi dan lihat perintah apa yang sedang dijalankan.
Teori Singkat
Cronjobs adalah program yang dijalankan secara otomatis pada interval tertentu. Di Linux, ada beberapa folder yang dapat berisi cronjobs, seperti cron.d, cron.daily, cron.hourly, cron.monthly, crontab, dan cron.weekly. Folder ini berisi file yang mendefinisikan bagaimana program dijalankan.
Di level ini, kita akan belajar tentang penggunaan variabel dalam skrip bash. Variabel adalah wadah untuk nilai. Untuk mendeklarasikan variabel dalam skrip bash, kita menggunakan sintaksis:
var_name=var_value
Untuk menyimpan hasil dari perintah ke dalam variabel, kita menggunakan sintaksis:
var_name=$(command)
Untuk mengakses nilai variabel yang sudah ada, kita menggunakan:
$var_name
Solusi
Langkah-langkahnya hampir sama dengan level sebelumnya:
-
Periksa apa yang ada di folder /etc/cron.d untuk menemukan file yang relevan. Jalankan perintah berikut untuk melihat daftar file:
ls -la /etc/cron.dAnda akan melihat beberapa file, termasuk cronjob_bandit23.
-
Tinjau isi file cronjob_bandit23 untuk melihat perintah apa yang dijalankan. Gunakan perintah
catuntuk membacanya:cat /etc/cron.d/cronjob_bandit23Isi file ini akan terlihat seperti ini:
@reboot bandit23 /usr/bin/cronjob_bandit23.sh &> /dev/null * * * * * bandit23 /usr/bin/cronjob_bandit23.sh &> /dev/nullArtinya, skrip /usr/bin/cronjob_bandit23.sh dijalankan setiap menit, setiap hari, dan juga setiap kali reboot. Output diarahkan ke /dev/null (untuk membuang output).
-
Lihat isi skrip /usr/bin/cronjob_bandit23.sh untuk mengetahui apa yang dilakukannya:
cat /usr/bin/cronjob_bandit23.shIsi skrip ini adalah:
#!/bin/bash myname=$(whoami) mytarget=$(echo I am user $myname | md5sum | cut -d ' ' -f 1) echo "Copying passwordfile /etc/bandit_pass/$myname to /tmp/$mytarget" cat /etc/bandit_pass/$myname > /tmp/$mytargetPada baris pertama, variabel myname diset dengan hasil dari perintah
whoami, yang akan menghasilkan nama pengguna yang menjalankan skrip (yaitubandit23di level ini).Variabel mytarget menyimpan hasil dari perintah
echo I am user $myname | md5sum | cut -d ' ' -f 1, yang menghasilkan hash MD5 dari string "I am user bandit23" dan mengabaikan bagian setelah spasi.Skrip kemudian menyalin kata sandi dari file /etc/bandit_pass/bandit23 ke dalam file /tmp/$mytarget, di mana $mytarget adalah nama file yang dihasilkan oleh hash MD5.
-
Sekarang, Anda dapat menghitung nama file target dengan menjalankan perintah ini:
echo I am user bandit23 | md5sum | cut -d ' ' -f 1Output dari perintah ini adalah:
8ca319486bfbbc3663ea0fbe81326349 -
Setelah itu, baca isi file di /tmp dengan nama yang dihitung sebelumnya untuk mendapatkan kata sandi level berikutnya:
cat /tmp/8ca319486bfbbc3663ea0fbe81326349Anda akan mendapatkan kata sandi untuk level berikutnya:
jc1udXuA1tiHqjIsL8yaapX5XIAI6i0n
- Dapatkan link
- X
- Aplikasi Lainnya
Postingan Populer
Mendeteksi Gambar Duplikat dengan Python: Panduan Praktis
- Dapatkan link
- X
- Aplikasi Lainnya
Ngoding Untuk Semua Orang
- Dapatkan link
- X
- Aplikasi Lainnya

Komentar
Posting Komentar