Anda tidak ingin pengunjung yang tidak diinginkan melintasi sistem file server Anda, tetapi penyerang telah menemukan cara untuk melakukannya. Apa yang bisa kau lakukan?
Saat pengguna mengunjungi situs web Anda, mereka percaya bahwa data mereka aman dan mereka serta pengguna lain tidak dapat mengakses file atau folder yang tidak boleh mereka lihat. Namun, jika situs web Anda rentan terhadap traversal direktori, penyerang dapat memanfaatkan kelemahan ini untuk berpindah dari satu direktori ke direktori lain dan melihat file sensitif yang harus dibatasi.
Serangan ini memanfaatkan kerentanan dalam sistem file situs web Anda dan dapat mengungkap informasi penting, yang menyebabkan risiko keamanan yang serius. Pada artikel ini, kita akan mengeksplorasi apa itu serangan traversal direktori, mengapa serangan tersebut sangat berbahaya, dan bagaimana Anda dapat melindungi situs web Anda darinya.
Apa itu Traversal Direktori?
Directory traversal juga dikenal sebagai path traversal atau directory climbing. Ini adalah kerentanan di situs web di mana penyerang dapat mengakses atau membaca file di luar direktori root server web yang menjalankan aplikasi dengan memanipulasi input aplikasi web.
Ketika serangan traversal direktori dilakukan, penyerang dapat membaca dan terkadang bahkan membuat perubahan pada file dan direktori yang dibatasi di server aplikasi web. Mereka mungkin dapat mengakses file rahasia di server seperti file konfigurasi database, file kode sumber, file kata sandi, dan file log.
Directory Traversal dan CIA Triad
Penjelajahan direktori mengkompromikan ketiga aspek dari apa yang dikenal sebagai triad CIA. Triad CIA, yang merupakan model keamanan informasi yang diakui secara luas, adalah singkatan dari Kerahasiaan, Integritas, dan Ketersediaan.
Kerahasiaan
Serangan traversal direktori melanggar kerahasiaan karena file yang dibatasi dan sensitif yang berisi informasi tentang sistem dan pengguna lain dapat diakses oleh penyerang. Semua informasi yang bukan milik pengguna harus dirahasiakan dan tidak boleh diakses oleh orang yang tidak berwenang. Misalnya, penyerang mendapatkan akses ke database pengguna dan informasi identitas pribadi (PII) mereka, melanggar kerahasiaan sistem dan data pengguna.
Integritas
Penting untuk dicatat bahwa penjelajahan direktori mungkin tidak hanya berhenti ketika penyerang siber dapat membaca dan mengakses file di server web Anda. Jika izin sistem file di server Anda tidak dikonfigurasi dengan benar, peretas mungkin dapat memodifikasinya atau hapus file atau direktori penting di server, membahayakan integritas data di dalamnya server. Misalnya, penyerang mungkin dapat memodifikasi file konfigurasi untuk memberikan akses administratif ke server atau menghapus file sistem.
Ketersediaan
Ada banyak cara penyerang dapat menggunakan serangan traversal direktori untuk membahayakan ketersediaan server Anda. Salah satu contohnya adalah menghapus file-file penting di server yang mengganggu pengoperasian server atau menyebabkan aplikasi web menjadi tidak responsif. Contoh lain adalah penyerang meningkatkan hak istimewa dan membebani server dengan permintaan yang menyebabkannya macet.
Bagaimana Cara Kerja Serangan Traversal Direktori?
Serangan traversal direktori dapat terjadi dalam berbagai cara. Saat penyerang mencurigai bahwa situs web rentan terhadap serangan traversal direktori, mereka mulai membuat permintaan jahat untuk dikirim ke aplikasi web tersebut.
Beberapa situs web menampilkan file melalui parameter URL. Ambil, misalnya, URL situs web ini: https://www.website.com/download_file.php? namafile=file.pdf. Ini berarti aplikasi web memanggil file "file.pdf" dari server menggunakan jalur URL relatif. Dalam hal ini, aplikasi membaca dari jalur: www/var/documents/file.pdf.
Contoh sederhana dari serangan traversal direktori adalah serangan traversal direktori dotdotslash. Dalam sistem UNIX dan Windows, file ../ simbol digunakan untuk kembali satu direktori. Penyerang dapat mengganti nama dokumen dengan ../../../../../etc/passwd. URL kemudian terlihat seperti ini: https://www.website.com/download_file.php? namafile=../../../../../etc/passwd
Penyerang dapat menggunakan payload ini di aplikasi web untuk melintasi beberapa direktori ke belakang untuk mencoba mengambil file "/etc/passwd" dari sistem file server.
Dalam sistem berbasis Unix, file "/etc/passwd" adalah file teks biasa yang berisi informasi tentang akun pengguna lokal pada sistem, seperti nama pengguna, ID pengguna, direktori home, dan shell preferensi. Akses ke file ini dapat bermanfaat bagi penyerang karena dapat memberikan informasi tentang akun pengguna potensial dan kerentanan dalam sistem.
Bentuk lain dari serangan traversal direktori termasuk pengkodean URL, pengkodean ganda, dan serangan null byte.
Mengapa Serangan Traversal Direktori Begitu Berbahaya?
Serangan traversal direktori dianggap sangat berbahaya karena hampir tidak pernah merupakan serangan yang berdiri sendiri. Kerentanan traversal direktori saat dieksploitasi dapat menyebabkan beberapa kerentanan lainnya. Beberapa kerentanan ini meliputi:
Keterbukaan Informasi
Pengungkapan informasi terjadi ketika penyerang mendapatkan akses ke informasi sensitif yang tidak boleh mereka lihat. Serangan traversal direktori dapat menyebabkan kerentanan pengungkapan informasi karena memungkinkan penyerang mengakses file dan direktori di luar cakupan aplikasi web yang diinginkan. Dengan menggunakan muatan traversal direktori dan permintaan jahat, penyerang dapat memanjat hierarki direktori untuk berpotensi mengakses file dan direktori sensitif di server. Kerentanan ini dapat dimanfaatkan untuk mengekstrak informasi sensitif seperti kata sandi atau data pengguna.
Penyertaan File Lokal
Penjelajahan direktori juga bisa menyebabkan serangan inklusi file lokal (LFI).. LFI adalah kerentanan dalam aplikasi web yang memungkinkan penyerang memasukkan dan mengeksekusi file yang disimpan di server yang sama dengan aplikasi web di LFI serangan, penyerang dapat menggunakan parameter input aplikasi web untuk menentukan jalur file lokal, yang kemudian dimasukkan oleh aplikasi web tanpa izin yang tepat. validasi. Ini memungkinkan penyerang untuk mengeksekusi kode arbitrer, melihat informasi sensitif, atau memanipulasi perilaku aplikasi.
Bagaimana Cara Mencegah Serangan Traversal Direktori?
Sebagai permulaan, validasi input pengguna sebelum memprosesnya untuk memastikan bahwa input hanya berisi karakter yang diharapkan dan tidak berisi karakter khusus atau pemisah jalur. Rekomendasi lainnya adalah menggunakan filter dan nilai yang diizinkan dalam daftar putih untuk membandingkan input pengguna dan memblokir nilai yang mencurigakan. Tetapi semua metode ini dapat dielakkan oleh peretas yang berpengalaman.
Pendekatan terbaik untuk mencegah serangan traversal direktori adalah menghindari mengizinkan pengguna untuk memasok input ke sistem file secara bersamaan.
Ambil Pendekatan Proaktif untuk Keamanan Anda
Ada banyak kerentanan dalam ekosistem dunia maya. Untuk mengamankan aset Anda dari kerentanan, Anda harus melakukan penilaian keamanan rutin dan pengujian penetrasi untuk mengidentifikasi potensi kelemahan dan mengatasinya sebelum dapat dieksploitasi oleh penyerang.
Selain itu, tetap up-to-date dengan tambalan dan pembaruan keamanan terbaru untuk perangkat lunak dan sistem Anda, karena banyak kerentanan dapat ditambal dengan pembaruan ini. Dengan mengambil pendekatan proaktif terhadap keamanan siber, Anda dapat membantu memastikan bahwa aset organisasi Anda terlindungi dari kerentanan dan tetap aman dari ancaman siber.