Tryhackme Neighbour CTF Challenge Writeup

Analis Siber Purwakarta. Admin. Kali ini penulis akan membagikan write-up singkat tentang CTF dari Tryhackme yakni Neighbour. Tujuan dari CTF ini kita perlu mengeksploitasi kerentanan Insecure Direct Object Reference (IDOR) pada sebuah halaman autentikasi halaman CTF dan mengakses halaman profil dari sebuah akun admin.

Pengintaian

Membaca source HTML

Untuk fase pengintaian kita akan menggunakan teknik pengintaian aktif (active reconnaissance) dengan membaca source HTML halaman. Ketika kita membaca HTML halaman, kita mendapatkan satu petunjuk unik dimana kita bisa mengakses untuk masuk ke halaman selanjutnya dengan akun guest yang memiliki default password.


Gambar 1
Membaca source HTML pada halaman autentikasi
Sumber: Dokumentasi Penulis


Kita bisa masuk menggunakan akun tersebut ke halaman selanjutnya. Bila kita perhatikan pada url, terdapat parameter unik yakni profile.php?user=guest yang berarti aplikasi akan mengambil dan menampilkan data profil berdasarkan nilai parameter user yang akan dikirimkan melalui URL. Dengan kata lain, identitas pengguna yang ditampilkan bergantung pada nilai parameter tersebut sehingga perubahan pada parameter dapat memengaruhi data yang diakses oleh aplikasi.

Melakukan enumerasi nilai pengguna

Kita bisa melihat pengguna lain dengan cara mengirimkan request HTTP pengguna tadi ke intruder Burp Suite untuk melakukan enumerasi nilai pengguna. Ketika mengamati tabel hasil enumerasi, semua request dari user1 hingga user10 menghasilkan status kode 200 OK dengan panjang respons (length) yang seragam. Namun hasil dengan payload yang bernilai admin, ukuran respons yang dihasilkan berbeda dengan payload yang lainnya.

Perbedaan ini menjadi indikator bahwa username admin terdaftar pada sistem. Kita akan mengujinya dengan mengirimkan request tadi ke Repeater guna membedah isi dari request tersebut.


Gambar 2
Hasil dari enumerasi username menggunakan Intruder Burp Suite
Sumber: Dokumentasi Penulis


Hasil dan Kesimpulan

Setelah memindahkan request ke Repeater, Ketika tombol Send dieksekusi untuk parameter user=admin, aplikasi web merespons dengan status 200 OK. Kita akan mendapati bahwa kita telah mengakses halaman akun profile admin dan mendapatkan flag untuk tantangan CTF ini. 

Skenario dari CTF ini merupakan contoh klasik dari celah keamanan IDOR. Kerentanan ini terjadi karena aplikasi web langsung memercayai parameter user=admin yang dikirimkan oleh client tanpa adanya proses verifikasi atau validasi hak akses (otorisasi) yang ketat di sisi server. Akibatnya, hanya dengan mengubah nilai parameter pada URL secara manual dari akun pengguna biasa menjadi admin, kita dapat melompati pembatasan keamanan dan langsung masuk ke halaman profil milik administrator.


Gambar 3
Request dari Intruder untuk memeriksa payload username admin
Sumber: Dokumentasi Penulis


Referensi
Lebih baru Lebih lama