What is the Local File Inclusion Vulnerability?

Ridho Marhaban
2 min readDec 1, 2020

--

Apa itu Local File Inclusion?

Lfl adalah jenis kerentanan web yang paling sering ditemukan memengaruhi aplikasi web yang mengandalkan waktu proses skrip. Masalah ini terjadi saat aplikasi membangun jalur ke kode yang dapat dieksekusi menggunakan variabel yang dikendalikan penyerang dengan cara yang memungkinkan penyerang untuk mengontrol file mana yang dijalankan pada waktu proses.

Bagaimana cara kerja Lfl?

File Inclusion biasanya diperlukan untuk menjaga kode aplikasi web tetap rapi dan terpelihara. Mereka juga memungkinkan aplikasi web untuk membaca file dari sistem file, menyediakan fungsionalitas upload, mengurai file konfigurasi dan melakukan tugas serupa lainnya.

Berikut ini adalah contoh kode PHP yang rentan terhadap LFI :

/ **
* Dapatkan nama file dari input GET
* Contoh — http://example.com/?file=filename.php
* /
$ file = $ _GET [‘file’];
/ **
* Sertakan file dengan tidak aman
* Contoh — filename.php
* /
Include (‘direktori /’. $ file);

seorang penyerang dapat membuat permintaan berikut. Ini menipu aplikasi untuk mengeksekusi script PHP seperti shell web yang berhasil diunggah oleh penyerang ke server web.

http://example.com/?file=../../uploads/evil.php

akan memungkinkan penyerang untuk menjalankan kode berbahaya sisi server yang mereka inginkan.

Penyerang tidak selalu memiliki kemampuan untuk mengunggah file jahat ke aplikasi. Bahkan jika mereka melakukannya, tidak ada jaminan bahwa aplikasi akan menyimpan file di server yang sama di mana kerentanan LFI ada. Meski begitu, penyerang masih perlu mengetahui jalur disk ke file yang diunggah Direktori Traversal bahkan tanpa kemampuan untuk mengunggah dan mengeksekusi kode, kerentanan Lfl dapat berbahaya. Seorang penyerang masih dapat melakukan serangan Traversal Direktori / Path Traversal menggunakan kerentanan LFI sebagai berikut.

http://example.com/?file=../../../../etc/passwd

Pada contoh di atas, seorang penyerang bisa mendapatkan konten dari file / etc / passwd yang berisi daftar pengguna di server. Demikian pula, penyerang dapat memanfaatkan kerentanan Direktori Traversal untuk mengakses file log (misalnya, Apache access.log atau error.log), kode sumber, dan informasi sensitif lainnya.

Mencegah Kerentanan Lfl

cara terbaik untuk menghilangkan kerentanan Local File Inclusion (LFI) adalah dengan menghindari secara dinamis memasukkan file berdasarkan input pengguna. Jika ini tidak memungkinkan, aplikasi harus mempertahankan daftar putih file yang dapat dimasukkan untuk membatasi kontrol penyerang atas apa yang dimasukkan.

Referensi :

--

--

No responses yet