Local File Inclusion (LFI) & Remote File Inclusion (RFI) - Sabilla Ardani Putri
Local File Inclusion (LFI) & Remote File Inclusion (RFI)
Definisi Local File Inclusion (LFI)
Local File Inclusion (LFI) adalah celah keamanan yang terjadi ketika aplikasi web memungkinkan pengguna untuk memasukkan file lokal dari server melalui input yang tidak divalidasi. Penyerang bisa mengeksploitasi ini untuk membaca file sensitif atau bahkan mengeksekusi kode berbahaya di server.
Definisi Remote File Inclusion (RFI)
Remote File Inclusion (RFI) terjadi saat penyerang mengunggah file berbahaya (biasanya file PHP) ke server, kemudian mengeksekusinya dari jarak jauh. Ini biasanya memanfaatkan celah upload file tanpa validasi yang tepat.
Tujuan Serangan
-
Membaca file konfigurasi atau file sensitif seperti password.
-
Mengeksekusi skrip berbahaya.
-
Mendapatkan akses tidak sah atau kontrol atas server.
DEMO Local File Inclusion (LFI)
Langkah 1: Persiapan Folder & File
Buat folder di C:\xampp\htdocs\
dengan nama lfi
.
Langkah 2: Buat file index.php
📌 Keterangan: File ini akan memasukkan file PHP berdasarkan parameter page
. Karena tidak ada validasi, maka file apa pun bisa dimasukkan.
Langkah 3: Buat file home.php
Langkah 4: Akses dari browser
Buka browser dan akses: http://localhost/lfi/index.php
Simulasi Serangan
Akses file lain melalui parameter: http://localhost/lfi/index.php?page=C:/xampp/htdocs/lfi/home.php
Atau coba baca file sensitif: http://localhost/lfi/index.php?page=C:/xampp/apache/conf/httpd.conf
📌 Keterangan: Serangan berhasil jika isi file ditampilkan. Penyerang bisa menjelajah file penting sistem.
httpd.conf
, yang seharusnya tidak bisa diakses oleh pengguna biasa melalui browser.Beberapa hal penting dari file ini:
-
ServerRoot
sudah diatur keC:/xampp/apache
, sesuai dengan struktur XAMPP. -
Listen 80
menunjukkan Apache mendengarkan di port 80 — default HTTP. -
DocumentRoot "C:/xampp/htdocs"
berarti file web kamu akan diload dari folderhtdocs
. -
ServerName localhost:80
disarankan di-uncomment agar tidak muncul warning saat Apache dijalankan. -
AllowOverride All
danRequire all granted
sudah disiapkan agar.htaccess
dan akses file berjalan dengan baik. -
Banyak module yang di-comment, jadi tidak aktif. Jika kamu butuh fitur tertentu, mungkin perlu mengaktifkan beberapa modul tambahan.
DEMO Remote File Inclusion (RFI)
Langkah 1: Buat folder uploads
Di C:\xampp\htdocs\
, buat folder uploads
untuk menampung file upload.
Langkah 2: Buat file upload.php
Langkah 3: Buat Form Upload (HTML)
Langkah 4: Buat file berbahaya shell.php
Langkah 5: Upload dan Eksekusi
1. Akses upload.php
dari browser.
Pencegahan LFI & RFI
Untuk mencegah LFI:
Gantilah script di index.php
:
Untuk mencegah RFI:
Tambahkan validasi MIME type dan ekstensi file:
Dampak dari Serangan
-
LFI bisa menyebabkan path traversal yang memungkinkan pembacaan file konfigurasi, kredensial, dan script internal.
-
RFI bisa menyebabkan server dijalankan oleh script jahat, shell injection, bahkan mengakses database.
Komentar
Posting Komentar