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 LFI ?
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.
You are welcome to share your ideas with us in comments!