Apa itu Traversal Direktori?

Diterbitkan: 2023-05-09

Dengan mengelabui server web agar mengungkapkan informasi yang dibatasi, penyerang dapat memperoleh alat yang ampuh untuk menyusupi sistem dan menyebabkan kerusakan yang signifikan. Traversal direktori adalah metode umum yang digunakan untuk mencapai ini. Upaya untuk menavigasi di luar area sistem file yang dicadangkan untuk situs web tertentu dapat menyebabkan pencurian data dan eksekusi kode arbitrer.

Biasanya, server web membatasi akses ke sistem file dengan membatasi file situs web di dalam direktori akarnya, juga dikenal sebagai folder akar dokumen. Namun, penjahat dunia maya dapat menghindari kontrol keamanan ini dan mengeksploitasi izin file yang tidak aman. Dengan cara ini, mereka dapat memperoleh akses tidak sah ke informasi penting yang disimpan di tempat lain di server korban.

Kerentanan penyertaan file, yang secara teratur diidentifikasi dalam plugin dan tema, menjadikan situs web WordPress sebagai target prioritas tinggi untuk serangan yang melibatkan penjelajahan direktori. Dan sementara menerapkan praktik pengkodean yang aman adalah tugas pengembang plugin dan tema, menerapkan praktik keamanan yang baik adalah tanggung jawab pemilik situs web.

Dalam panduan traversal direktori ini, kita akan mengeksplorasi metode umum yang digunakan peretas untuk keluar dari direktori root situs web untuk mengakses data yang dibatasi. Anda akan mempelajari bagaimana penelusuran jalur memungkinkan penyerang berhasil mengeksploitasi kerentanan inklusi file lokal (LFI) untuk menimbulkan kerusakan dan cara melindungi situs WordPress Anda dari jenis serangan ini dengan menerapkan praktik keamanan yang kuat.

Pertama, mari kita lihat lebih dekat konsep operasi server yang aman. Lebih khusus lagi, bagaimana berbagai jenis data dipisahkan di lingkungan server dan tempat apa yang dimiliki data situs web dalam ekosistem ini.

penjelajahan direktori

Bagaimana Partisi Data Membantu Mengamankan Operasi Server

Situs web dan aplikasi web mengandalkan server untuk menyimpan datanya. Data ini kemudian diproses oleh server web dan database serta aplikasi khusus lainnya sebelum dikirimkan ke browser pengunjung melalui internet sesuai permintaan halaman web. Komponen perangkat keras dan perangkat lunak yang mendasari bekerja bersama untuk menciptakan infrastruktur yang kuat yang mendukung fungsi ini.

Namun, arsitektur client-server ini juga memerlukan pendekatan yang hati-hati terhadap keamanan server. Layanan penting dan komponen lain dari sistem operasi server harus dipisahkan sepenuhnya dari file pengguna dan data situs web. Pemisahan data pada sistem file ini umumnya dikenal sebagai partisi data.

Pemartisian data membantu mengamankan aspek operasi server yang paling rentan dengan memisahkan berbagai jenis data ke dalam partisi terpisah. Implementasi partisi sistem file dan mekanisme keamanan lainnya membantu melindungi server dari akses tidak sah ke informasi sensitif dan kompromi tingkat sistem. Selain itu, partisi data memungkinkan manajemen sumber daya yang efisien dan meningkatkan kinerja server dengan memisahkan data yang sering dimodifikasi dari file yang hanya dapat dibaca dan mengisolasi sistem dan data pengguna.

Kontrol Akses Server Web: Membatasi Data Situs Web dengan Root Dokumen

Untuk mengisolasi data situs web dari data sistem, server web menggunakan konsep akar dokumen. Ini melibatkan pembatasan file situs web ke direktori yang ditentukan pada sistem file, yang dikenal sebagai direktori root situs web. Dengan menentukan root dokumen, server web dapat mengarahkan dan merespons dengan benar permintaan yang masuk untuk konten situs web tersebut. Direktori root ini adalah titik awal untuk menangani permintaan web untuk situs web tersebut.

Pengurungan ini membantu mencegah akses tidak sah ke data server penting, seperti informasi sistem operasi dan file konfigurasi utama, yang disimpan di luar direktori root yang ditunjuk. Ini berarti bahwa setiap skrip atau konten dan fungsi lain yang terkait dengan situs web tertentu hanya dapat mengakses dan mengubah data di dalam direktori root dan subdirektorinya, yang melindungi seluruh server jika terjadi pelanggaran keamanan.

Selain root dokumen, server web menggunakan mekanisme kontrol akses lain untuk lebih membatasi akses ke data situs web. Salah satu mekanisme yang paling menonjol adalah izin file. Izin file membantu menegakkan prinsip hak istimewa terkecil, yang berarti bahwa pengguna sistem atau proses hanya diberikan tingkat akses minimum yang diperlukan untuk menjalankan fungsi yang dimaksudkan.

Terlepas dari keamanan yang kuat dari pendekatan ini, peretas dapat menggunakan sejumlah teknik jahat untuk melewatinya. Salah satu metode tersebut adalah traversal direktori. Serangan traversal direktori mengeksploitasi kelemahan dalam kode situs web dan penerapan izin aman untuk mengelabui server web agar mengungkapkan informasi terbatas yang seharusnya tidak dapat diakses dari browser.

Apa itu Traversal Direktori?

Traversal direktori, juga dikenal sebagai traversal jalur, adalah teknik berbahaya yang ditujukan untuk memberikan akses ke file dan direktori yang dibatasi di luar root dokumen dari situs web atau aplikasi web yang ditargetkan. Traversal jalur memungkinkan penyerang untuk menavigasi melalui sistem file server sampai ke direktori root dan folder lain yang dibatasi melalui browser – jenis perilaku yang seharusnya tidak mungkin dilakukan dalam keadaan normal.

Traversal direktori dilakukan dengan memanipulasi variabel yang mereferensikan file dengan menggunakan karakter khusus, yang dikenal sebagai urutan traversal jalur. Urutan seperti dot-dot-slash '../' ditafsirkan oleh server web, memaksanya untuk memindahkan satu direktori ke atas dalam hierarki sistem file, menjauh dari root dokumen situs web.

Jika situs web disimpan di /home/user/public_html, menyediakan urutan traversal direktori '../../../etc' akan memungkinkan penyerang untuk menavigasi ke direktori /etc, yang menyimpan konfigurasi sistem penting di Linux server.

Jika daftar direktori dinonaktifkan dalam konfigurasi server web, penjahat dunia maya tidak akan dapat melihat isi direktori yang diminta. Ini sebagian dapat meningkatkan keamanan sistem dan membatasi potensi kerusakan yang ditimbulkan oleh serangan traversal direktori karena penyerang harus menentukan file persis yang ingin mereka tampilkan di browser. Tetapi karena sebagian besar waktu, peretas tahu persis informasi apa yang mereka cari, menonaktifkan daftar direktori tidak akan mencegah mereka mengaksesnya.

File /etc/passwd adalah salah satu target umum serangan traversal direktori. Di server Linux, file /etc/passwd berisi daftar pengguna yang dibuat di server. Ini dapat memberi peretas titik awal yang baik untuk serangan brute force pada kredensial pengguna. Karena /etc/passwd memiliki izin file 644, yang berarti dapat dibaca oleh semua pengguna di sistem, termasuk pengguna yang menjalankan server web. Dengan cara ini, server web dapat merender konten file melalui browser.

Bagaimana Cara Kerja Traversal Direktori?

Sebagai teknik jahat, traversal direktori jarang digunakan sebagai satu-satunya cara untuk mendapatkan akses ke informasi sensitif di server korban. Pertama, penyerang perlu menemukan cara untuk mengeksploitasi kerentanan di situs web yang ditargetkan untuk menemukan cara agar situs tersebut menampilkan informasi yang diminta di browser. Baru setelah itu traversal direktori digunakan untuk menavigasi melalui sistem file server korban untuk mencapai direktori yang dibatasi.

Kerentanan penyertaan file adalah yang memungkinkan penggunaan traversal direktori. Kerentanan traversal direktori terjadi ketika situs web tidak membersihkan input pengguna dengan benar, seperti jalur file yang disediakan menggunakan penyertaan file dinamis. Kombinasi penyertaan file lokal (LFI) dan kerentanan traversal direktori yang ada memungkinkan peretas untuk mengakses data di luar akar dokumen situs web yang ditargetkan, mengungkapkan informasi server yang sensitif.

Contoh Traversal Direktori

Untuk mendapatkan pemahaman yang lebih baik tentang bagaimana inklusi file lokal dan kerentanan traversal direktori dapat dieksploitasi, mari kita lihat contoh berikut. Contoh ini adalah representasi yang disederhanakan tentang bagaimana traversal direktori digunakan melalui cacat inklusi file.

Pengembang web menambahkan halaman web content.php yang akan digunakan untuk memungkinkan situs web memuat berbagai halaman atau komponen secara dinamis berdasarkan permintaan pengguna. Misalnya, jika pengunjung situs web ingin melihat halaman “Hubungi Kami”, permintaan mereka mungkin ditampilkan di bilah alamat browser sebagai “https://website.com/content.php?page=contact_us“.

Halaman content.php akan menggunakan teknik penyertaan file lokal untuk mereferensikan file yang sesuai dengan parameter "contact_us", yang dapat berisi kode PHP dan HTML untuk halaman "Hubungi Kami" yang diminta. Dalam contoh ini, halaman web content.php bertindak sebagai pengontrol, yang memuat file yang sesuai yang menghasilkan konten secara dinamis berdasarkan input pengguna.

Namun, jika input pengguna tidak divalidasi atau disanitasi dengan benar, kerentanan penyertaan file dan traversal direktori dapat dimanfaatkan oleh penyerang untuk menyertakan file arbitrer, yang kemudian akan ditampilkan di browser.

Misalnya, seorang peretas dapat mengirimkan "../../../../../var/log/apache2/access.log" sebagai nilai parameter kueri halaman - serangkaian urutan traversal direktori diikuti oleh alamat log akses utama server web Apache di sistem file. Dengan cara ini, penyerang dapat melihat isi file log, yang berisi informasi sensitif seperti alamat IP, string agen pengguna, dan URL yang diminta oleh pengunjung situs.

Bagaimana Izin File Dapat Memfasilitasi atau Mengurangi Traversal Direktori

Izin file memainkan peran besar dalam memastikan keamanan server dan situs web. Dengan membatasi akses ke file hanya untuk pengguna dan grup sistem tertentu, izin dapat membantu memfasilitasi atau mengurangi penjelajahan direktori.

Dalam serangan penyertaan file menggunakan traversal direktori, konten file yang diminta oleh penyerang hanya akan ditampilkan di browser jika izin filenya memungkinkan sistem menggunakan server web berjalan untuk membacanya. Sementara beberapa file yang dibatasi seperti /etc/password memiliki izin 644, yang membuatnya dapat dibaca oleh semua pengguna sistem, file lain tetap hanya dapat diakses oleh pengguna root.

File /etc/shadow, yang berisi kata sandi terenkripsi untuk semua pengguna di server Linux, memiliki izin file 640, yang membuatnya tidak dapat diakses oleh pengguna selain root. Ini membuat peretas tidak mungkin mengakses file melalui browser melalui penjelajahan direktori.

Bagaimana Cara Mendeteksi Kerentanan Traversal Direktori di Situs WordPress Anda?

Inti WordPress mempertahankan tingkat keamanan yang tinggi dan sepenuhnya terlindungi dari kerentanan penyertaan file dan penjelajahan direktori. Namun, opsi penyesuaian tinggi yang ditawarkan platform meningkatkan kemungkinan kerentanan tersebut hadir di situs WordPress. Bahkan plugin dan tema WordPress yang paling terkemuka pun dapat mengandung kelemahan keamanan yang sering ditemukan.

Laporan kerentanan WordPress mingguan iThemes membantu Anda dengan cepat mengidentifikasi dan menambal kerentanan yang baru diungkapkan di plugin dan tema WordPress, termasuk penjelajahan direktori. Cukup periksa laporan kerentanan untuk melihat apakah ada kelemahan keamanan yang baru-baru ini ditemukan di plugin yang Anda gunakan di situs WordPress Anda, serta tema aktif Anda, dan lihat apakah tambalan telah dirilis.

iThemes Security Pro dapat mengotomatiskan proses pemindaian situs web WordPress Anda untuk mencari kerentanan dan dengan cepat menambal kelemahan yang teridentifikasi atas nama Anda. iThemes Security Pro akan melakukan pemindaian kerentanan tingkat lanjut dua kali sehari, mengirimkan email kepada Anda jika ada kerentanan yang terdeteksi, dan menginstal pembaruan secara otomatis jika perbaikan keamanan tersedia.

Bagaimana Mempertahankan Traversal Direktori?

Memanfaatkan kerentanan yang ditemukan di plugin dan tema adalah salah satu vektor serangan terbesar yang digunakan peretas untuk mendapatkan akses tidak sah, mencuri data sensitif, dan mengunggah malware, termasuk cangkang pintu belakang, ke situs web WordPress. Dan sementara mengikuti praktik pengkodean yang aman termasuk dalam lingkup tanggung jawab pengembang plugin dan tema, pemilik situs web WordPress bertanggung jawab untuk menerapkan tindakan perlindungan secara lokal. Hanya pendekatan multifaset untuk keamanan WordPress yang dapat membantu mengurangi risiko menjadi korban serangan dunia maya canggih modern.

Tetap perbarui semua Perangkat Lunak

Menjaga inti WordPress, plugin aktif, dan tema yang dipilih diperbarui ke versi terbaru yang tersedia adalah langkah pertama untuk menghilangkan traversal direktori dan kerentanan tingkat aplikasi parah lainnya. Karena kelemahan keamanan baru teridentifikasi dalam perangkat lunak yang menjalankan situs WordPress Anda, sangat penting untuk menginstal tambalan keamanan segera setelah tersedia. Sebelum kerentanan yang ditemukan ditangani oleh plugin atau pengembang tema, perangkat lunak yang terpengaruh dapat dinonaktifkan untuk mengurangi permukaan serangan.

Melacak pembaruan plugin dan tema bisa menjadi tugas yang menantang, tetapi dengan iThemes Security Pro, pemilik situs web dapat memiliki akses ke solusi komprehensif yang menyederhanakan proses dan membantu memastikan situs web tetap mutakhir dan terlindungi dari kerentanan keamanan. Fitur Manajemen Versi menawarkan pembaruan perangkat lunak otomatis untuk melindungi situs WordPress Anda.

Konfigurasikan Izin File Aman

Izin file WordPress yang aman memberikan lapisan pertahanan tambahan terhadap serangan yang ditujukan untuk mendapatkan akses ke situs web sensitif dan informasi server. Dan meskipun Anda jarang perlu mengubah izin file dari file konfigurasi sistem penting dan data server terbatas lainnya, tanggung jawab menyiapkan izin aman untuk file situs web sering kali berada di tangan pemilik situs web.

Menyimpan informasi penting WordPress seperti file wp-config.php dapat membantu secara efektif mencegah kompromi lintas akun melalui tautan simbolis dari serangan penyertaan file yang mengeksploitasi kerentanan traversal direktori. Pemeriksaan izin file di iThemes Security Pro membantu pemilik situs web memastikan mekanisme keamanan penting ini diterapkan dengan benar di situs WordPress mereka.

Menerapkan Firewall Aplikasi Web

Firewall bekerja dengan memfilter permintaan web jahat yang cocok dengan pola yang diketahui atau menunjukkan pola anomali sebelum diteruskan ke server web. Sebagai garis pertahanan pertama yang kuat terhadap berbagai serangan dunia maya yang digerakkan oleh bot, seperti penolakan layanan (Dos) dan penolakan layanan terdistribusi (DDoS), dan serangan injeksi data seperti skrip lintas situs (XSS) dan SQL injeksi (SQLi).

Menerapkan firewall aplikasi web (WAF) atau kombinasi solusi pencegahan intrusi berbasis host dan cloud dapat secara signifikan mengurangi kemungkinan upaya pembobolan yang berhasil. Bertindak sebagai lapisan pertahanan kedua terhadap penyertaan file dan kerentanan traversal direktori, firewall aplikasi web memastikan bahwa peretas dapat mengeksploitasi kelemahan keamanan apa pun yang ditemukan dalam versi plugin dan tema yang belum ditambal.

Dengan IThemes Security Pro, perlindungan brute force dan solusi manajemen bot bawaan membantu menghentikan bot jahat dan memfilter permintaan web berbahaya agar tidak menjangkau situs web Anda. Dengan tambahan autentikasi multi-faktor yang didukung oleh kunci sandi dengan login biometrik, rangkaian keamanan komprehensif ini menawarkan pendekatan multifaset untuk mempertahankan situs web Anda dari berbagai jenis ancaman keamanan.

Amankan Situs WordPress Anda Dengan iThemes Security Pro

Penyertaan file dan kerentanan traversal direktori menimbulkan ancaman signifikan terhadap keamanan situs web, karena sering dieksploitasi oleh peretas yang ingin mendapatkan akses tidak sah ke data sensitif atau mengeksekusi kode berbahaya di server korban. Menggunakan urutan traversal direktori dan menyediakan situs web yang rentan dengan jalur ke data tertentu, penyerang dapat mengelabui server web agar mengekspos informasi server dan situs web yang dibatasi.

Meskipun dipelajari dan diakui secara luas, traversal direktori tetap menjadi perhatian utama situs web WordPress yang mengandalkan perangkat lunak usang dan tidak memiliki langkah keamanan yang tepat. Melakukan pembaruan inti, tema, dan plugin WordPress tepat waktu, mengonfigurasi izin file yang aman, dan menerapkan firewall aplikasi web dapat secara signifikan mengurangi risiko situs web Anda rentan terhadap serangan penyertaan file yang memanfaatkan penjelajahan direktori.

iThemes Security Pro dapat membantu Anda mempertahankan situs web WordPress Anda dari berbagai macam ancaman dunia maya dengan menawarkan pendekatan keamanan situs web yang komprehensif dan multifaset. Dengan pemindaian kerentanan tingkat lanjut, pembaruan perangkat lunak otomatis, dan solusi manajemen bot yang kuat, iThemes Security Pro bertindak sebagai penasihat keamanan pribadi Anda, menjaga situs web WordPress Anda tetap aman dan terlindungi setiap saat.