Pengantar
Keamanan aplikasi web menjadi salah satu aspek penting dalam pengembangan perangkat lunak modern. Kesalahan kecil dalam penanganan input pengguna dapat membuka peluang bagi penyerang untuk mengeksploitasi aplikasi dan mengakses informasi yang seharusnya bersifat rahasia. Salah satu kerentanan yang cukup dikenal dalam dunia keamanan siber adalah Local File Inclusion (LFI).
LFI terjadi ketika aplikasi web mengizinkan pengguna memuat file dari sistem lokal tanpa proses validasi yang memadai. Jika berhasil dieksploitasi, celah ini dapat memungkinkan penyerang membaca file sensitif, memperoleh informasi konfigurasi server, hingga menjadi pintu masuk untuk serangan yang lebih kompleks.
Artikel ini membahas pengertian Local File Inclusion, penyebabnya, dampaknya terhadap keamanan aplikasi, serta langkah-langkah pencegahan yang dapat diterapkan oleh pengembang.
Apa Itu Local File Inclusion (LFI)?
Local File Inclusion (LFI) adalah kerentanan keamanan pada aplikasi web yang memungkinkan penyerang memuat atau mengakses file yang berada di sistem lokal server melalui manipulasi input pengguna.
Biasanya, kerentanan ini muncul ketika aplikasi menggunakan parameter dari pengguna untuk menentukan file yang akan ditampilkan tanpa melakukan validasi yang memadai.
Sebagai contoh, sebuah aplikasi mungkin menyediakan fitur untuk memuat halaman berdasarkan parameter tertentu. Apabila parameter tersebut tidak divalidasi dengan benar, pengguna dapat mencoba mengakses file lain yang sebenarnya tidak boleh dibuka oleh aplikasi.
Menurut OWASP (Open Worldwide Application Security Project), kerentanan file inclusion dapat muncul akibat penggunaan input pengguna secara langsung dalam fungsi pemanggilan file tanpa validasi yang tepat (dikutip dari https://owasp.org/www-community/vulnerabilities/PHP_File_Inclusion).
baca juga : CPU Throttling: Mengapa Performa Prosesor Bisa Menurun Saat Suhu Terlalu Tinggi?
Bagaimana Local File Inclusion Terjadi?
LFI umumnya terjadi ketika aplikasi menerima nama file dari pengguna, kemudian menggunakannya secara langsung untuk memuat konten.
Penyebab umum meliputi:
- Tidak melakukan validasi terhadap input pengguna.
- Menggunakan parameter file secara langsung.
- Tidak menerapkan pembatasan direktori (directory restriction).
- Kesalahan konfigurasi aplikasi atau server.
Apabila validasi tidak dilakukan dengan benar, aplikasi dapat diarahkan untuk mengakses file lain yang berada di dalam sistem.
Mengapa LFI Berbahaya?
Meskipun LFI sering kali hanya dikaitkan dengan kemampuan membaca file, dampaknya dapat jauh lebih serius tergantung pada konfigurasi server dan aplikasi.
Beberapa risiko yang dapat muncul antara lain:
- Kebocoran informasi sensitif.
- Terbukanya konfigurasi aplikasi.
- Pengungkapan struktur direktori server.
- Membantu penyerang melakukan serangan lanjutan.
- Dalam kondisi tertentu, berpotensi berkembang menjadi eksekusi kode apabila dikombinasikan dengan kerentanan lain.
Jenis Informasi yang Berpotensi Terpapar
Apabila berhasil dieksploitasi, LFI dapat mengungkap berbagai informasi penting seperti:
- File konfigurasi aplikasi.
- Informasi lingkungan (environment variables).
- Log aplikasi.
- Struktur direktori server.
- File konfigurasi web server.
- Informasi sistem operasi.
Data tersebut sering kali menjadi titik awal bagi penyerang untuk memahami lingkungan target.
Penyebab Terjadinya Local File Inclusion
Validasi Input yang Lemah
Penyebab paling umum adalah aplikasi mempercayai input pengguna tanpa melakukan pemeriksaan apakah file yang diminta memang diperbolehkan.
Penggunaan Jalur File Secara Dinamis
Beberapa aplikasi membangun jalur file berdasarkan parameter yang diberikan pengguna.
Apabila tidak dibatasi, pendekatan ini dapat meningkatkan risiko LFI.
Konfigurasi Server yang Kurang Aman
Konfigurasi yang memberikan akses terlalu luas terhadap direktori tertentu dapat memperbesar dampak apabila LFI terjadi.

Dampak Local File Inclusion terhadap Organisasi
Kerentanan LFI tidak hanya memengaruhi keamanan aplikasi, tetapi juga dapat berdampak pada operasional organisasi.
Beberapa konsekuensi yang mungkin terjadi meliputi:

- Kebocoran data internal.
- Gangguan terhadap kerahasiaan sistem.
- Meningkatnya risiko eksploitasi lanjutan.
- Kerusakan reputasi perusahaan.
- Potensi pelanggaran regulasi perlindungan data.
Karena itu, LFI termasuk kerentanan yang perlu segera ditangani apabila ditemukan.
Perbedaan LFI dan Remote File Inclusion (RFI)
LFI sering dibandingkan dengan Remote File Inclusion (RFI) karena keduanya berkaitan dengan proses pemanggilan file.
| Aspek | Local File Inclusion (LFI) | Remote File Inclusion (RFI) |
|---|---|---|
| Sumber file | Sistem lokal server | Server atau sumber eksternal |
| Tujuan utama | Mengakses file lokal | Memuat file dari lokasi luar |
| Dampak umum | Kebocoran informasi | Risiko eksekusi kode lebih tinggi |
| Ketergantungan konfigurasi | Ya | Sangat bergantung pada konfigurasi aplikasi |
Meskipun berbeda, keduanya sama-sama memerlukan validasi input yang baik agar tidak dapat dieksploitasi.
Cara Mencegah Local File Inclusion
Validasi Input Pengguna
Setiap parameter yang menentukan file harus diperiksa sebelum diproses oleh aplikasi.
Gunakan daftar file yang telah ditentukan (allowlist) daripada menerima nama file secara bebas.
baca juga : Perfect Forward Secrecy (PFS): Mengapa Kebocoran Kunci Enkripsi Tidak Selalu Membahayakan Data Lama
Hindari Menggunakan Input Secara Langsung
Jangan membangun jalur file berdasarkan masukan pengguna tanpa proses validasi.
Sebaiknya gunakan pemetaan (mapping) antara parameter dan file yang tersedia.
Batasi Hak Akses File
Pastikan aplikasi hanya memiliki izin untuk mengakses direktori yang memang diperlukan.
Prinsip least privilege dapat mengurangi dampak apabila terjadi eksploitasi.
Perbarui Framework dan Library
Framework modern umumnya telah menyediakan mekanisme yang membantu mengurangi risiko kesalahan dalam pengelolaan file.
Memastikan perangkat lunak selalu diperbarui merupakan langkah penting dalam menjaga keamanan aplikasi.
Praktik Terbaik untuk Pengembang
Agar aplikasi lebih aman dari risiko LFI, beberapa praktik berikut dapat diterapkan:
- Terapkan validasi terhadap seluruh input pengguna.
- Gunakan allowlist untuk file yang dapat diakses.
- Hindari penggunaan jalur file yang dibentuk secara langsung dari input.
- Batasi izin akses direktori aplikasi.
- Lakukan pengujian keamanan secara berkala.
- Terapkan proses secure code review sebelum aplikasi dirilis.
Langkah-langkah tersebut dapat membantu mengurangi kemungkinan munculnya kerentanan file inclusion.
Peran Pengujian Keamanan dalam Mendeteksi LFI
Pengujian keamanan aplikasi, seperti penetration testing dan static application security testing (SAST), dapat membantu menemukan potensi kerentanan LFI sejak tahap pengembangan.
Selain itu, proses secure code review memungkinkan pengembang mengidentifikasi penggunaan fungsi pemanggilan file yang berisiko sebelum aplikasi dipublikasikan. Pendekatan ini jauh lebih efektif dibandingkan memperbaiki kerentanan setelah sistem digunakan oleh pengguna.
Menurut PortSwigger Web Security Academy, kerentanan file path dan file inclusion sering muncul akibat kurangnya validasi input serta dapat dicegah melalui pengelolaan jalur file yang aman dan pembatasan akses terhadap direktori aplikasi (dikutip dari https://portswigger.net/web-security/file-path-traversal).
baca juga : NTFS vs exFAT vs ext4: Memilih Sistem File yang Tepat untuk Kebutuhan Penyimpanan
Kesimpulan
Local File Inclusion (LFI) merupakan salah satu kerentanan keamanan aplikasi web yang terjadi akibat penggunaan input pengguna untuk memuat file tanpa validasi yang memadai. Meskipun pada banyak kasus hanya menyebabkan kebocoran informasi, LFI dapat menjadi pintu masuk bagi serangan yang lebih serius apabila dikombinasikan dengan kelemahan lain dalam sistem.
Dengan menerapkan validasi input yang ketat, menggunakan allowlist, membatasi hak akses file, serta melakukan pengujian keamanan secara berkala, organisasi dapat mengurangi risiko terjadinya LFI dan meningkatkan keamanan aplikasi web secara menyeluruh.










1 Comment
OAuth Misconfiguration: Kesalahan Konfigurasi yang Dapat Membuka Celah Pembajakan Akun - buletinsiber.com
4 weeks ago[…] baca juga : Local File Inclusion (LFI): Memahami Celah Keamanan yang Dapat Membuka Akses ke File Sensitif […]