Celah Keamanan Website : Direktori Traversal

Hai teman-teman kembali bertemu lagi dengan tulisan saya. Pada artikel kali ini saya akan membahas tentang celah kemanan yang sangat unik pada aplikasi website yaitu Direktori Traversal. Direktori Traversal adalah sebuah celah kemanan dimana user dapat mengakses file-file yang berada pada server yang sebenarnya tidak diperbolehkan untuk diakses oleh user dikarenakan file tersebut sangat berbahaya jika diketahui user biasa.  File ini bisa saja termasuk kode atau data aplikasi, kredensial untuk sistem back-end, dan file sensitif. Dalam beberapa kasus, user juga mungkin dapat menulis ke file yang ada di server, memungkinkan mereka mengubah data atau perilaku aplikasi, dan pada akhirnya mengambil kendali penuh atas server.

Contoh Program PHP yang Memiliki Celah Kemanan Direktori Traversal

Disini saya akan mencontohkan sebuah kode PHP sederhana yang memiliki kerentanan Direktori Traversal. Berikut adalah kode PHP yang saya simpan dengan nama vuln.php

Gambar Code PHP

Script tersebut memiliki maksut bahwa variabel file menangkap sebuah request GET  bernama file yang dikirimkan oleh client. Setelah itu request tersebut yang bernama file akan ditampilkan atau diproses oleh fungsi yang bernama include(). Selain itu juga saya membuat sebuah file bernama rahasia.txt yang saya simpan di direktori D:\rahasia.txt

Gambar Isi File rahasia.txt

Kita tinggal menjalankan web server kita dan menjalankan script yang telah kita buat. Ternyata kita bisa mengirimkan melalui GET nama file dari server sesuka hati kita tanpa adanya validasi file mana yang hanya boleh kita panggil. Hal itulah contoh sederhana dari kerentanan Direktori Traversal. Dalam hal ini kita anggap file rahasia.txt adalah file sensitif dan kita berhasil membukanya.

http://localhost/vuln.php?file=D:\rahasia.txt

Gambar Celah Keamanan Direktori Traversal

Contoh Nyata Celah Keamanan Direktori Traversal

Sebelum melanjutkan pastikan bahwa kalian telah memiliki software Burp Suite. Jika belum mempunyai maka download terlebih dahulu pada link berikut ini:

https://portswigger.net/burp/communitydownload

Unuk contoh lebih nyatanya kita dapat menggunakan Lab yang dimiliki oleh portswigger.net. Tinggal kita akses link dibawah ini

https://portswigger.net/web-security/file-path-traversal/lab-simple

Gambar Tampilan Lab PortSwigger

Setelah mengaksesnya maka akan muncul halaman yang berisi panduan cara menyelesaikan labnya yaitu dengan memanfaatkan celah keamanan direktori traversal kita harus membaca file yang bernama /etc/passwd . File tersebut berisi informasi tentang pengguna di sistem, seperti nama pengguna, pengenal, dan direktori home.

Gambar Tampilan Lab Direktori Traversal

Pertama, hal yang kita lakukan adalah enumerasi dimana kita harus mengetahui celah direktori traversal ini berada dimana. Kita coba memilih salah satu produk.

Gambar Tampilan Produk

Ternyata kita mendapatkan sebuah link yang dimana melakukan request dengan metode GET yang dikirimkan adalah productid. Kita coba terlebih dahulu apakah request tersebut memiliki celah keamanan direktori traversal atau tidak dengan mengirimkan payload berikut

/product?productId=../../../../../../../../etc/passwd

Payload tersebut memiliki maksut bahwa kita menuju ke direktori paling atas dan masuk kedalam folder etc untuk mencari file yang bernama passwd. Ternyata request tersebut tidak memiliki kerentanan direktori traversal

Setelah beberapa kali mencoba kita dapat menemukan sebuah link dari foto produk yang ada di lab tersebut dimana mengirimkan sebuah request melalui GET yang memiliki parameter filename.

Gambar Foto Produk

Setelah itu kita tinggal coba dengan menginputkan sebuah payload berikut ini

/image?filename=../../../../../../../etc/passwd

Gambar Error Ketika Mencoba Direktori Traversal

Dan ternyata timbul error tetapi setelah kita melihat respon dari server melalui burpsuite kita mendapatkan hal yang sangat menarik yaitu merupakan isi dari file /etc/passwd yang merupakan sebuah file sensitif yang tidak diperbolehkan diketahui oleh user.

Gambar Isi File /etc/passwd

Kesimpulan

Dengan membaca dan melakukan praktik yang ada pada artikel ini, kita telah mempelajari tentang celah kemanan aplikasi website yang sering terjadi yaitu Direktori Traversal. Hal yang telah saya jabarkan pada artikel ini masih sangatlah dasar. Silahkan teman-teman bisa mencari dan mempelajari lebih dalam lagi mengenai celah keamanan tersebut.

Tinggalkan komentar