Local File Inclusion (LFI) adalah salah satu jenis kerentanan keamanan pada sebuah website yang memungkinkan penyerang untuk mengakses file yang ada di server. Dengan memanfaatkan LFI, seorang penyerang dapat membaca file sensitif seperti konfigurasi server, file log, atau bahkan file yang berisi kredensial penting.
Artikel ini akan membahas cara mencari kerentanan LFI pada sebuah website dengan langkah-langkah yang sistematis. Penting untuk diingat bahwa semua aktivitas yang dilakukan harus dilakukan secara etis, dengan izin pemilik website.
Apa Itu LFI?
LFI adalah kerentanan yang terjadi ketika aplikasi web memungkinkan pengguna untuk menyisipkan file lokal ke dalam aplikasi, biasanya melalui parameter URL. Contohnya:
http://example.com/index.php?page=about
Jika parameter page
tidak divalidasi dengan baik, seorang penyerang dapat menyisipkan path file seperti:
http://example.com/index.php?page=../../../../etc/passwd
Hasilnya, file /etc/passwd
dari server akan ditampilkan di browser.
Langkah-Langkah Mencari Kerentanan LFI
1. Identifikasi Parameter yang Rentan
Carilah parameter pada URL atau formulir yang memungkinkan input dari pengguna. Misalnya:
?page=
?file=
?template=
2. Uji Input dengan Payload LFI
Cobalah menyisipkan payload path traversal untuk mengakses file sensitif. Contoh payload:
../../../../etc/passwd
../../../../windows/win.ini
Masukkan payload ini ke dalam parameter yang ditemukan, seperti:
http://example.com/index.php?page=../../../../etc/passwd
Jika server tidak memvalidasi input dengan benar, file tersebut akan terbaca.
3. Gunakan Alat Bantu
Beberapa tools yang dapat membantu menguji LFI:
Burp Suite: Untuk menganalisis dan memodifikasi request.
Nikto: Untuk memindai kerentanan umum.
WFuzz: Untuk melakukan brute-force pada parameter dengan payload LFI.
4. Perhatikan Respon Server
Cek respon server setelah mengirimkan payload. Jika server menampilkan konten dari file yang diminta, maka parameter tersebut rentan terhadap LFI. Beberapa file yang sering dijadikan target:
/etc/passwd
(Linux)/windows/win.ini
(Windows)File log aplikasi:
../../../../var/log/apache2/access.log
5. Bypass Filter Input
Jika ada filter yang mencegah eksploitasi LFI, cobalah teknik bypass seperti:
Null Byte Injection: Tambahkan
%00
di akhir payload:../../../../etc/passwd%00
Double URL Encoding: Encode karakter seperti
../
menjadi%252e%252e%252f
.
6. Eksploitasi LFI untuk Remote Code Execution (Opsional)
Dalam beberapa kasus, LFI dapat dikombinasikan dengan file upload untuk mencapai eksekusi kode jarak jauh (RCE). Misalnya, mengunggah file PHP yang berisi kode berbahaya, lalu mengaksesnya melalui LFI.
Pencegahan LFI
Untuk melindungi aplikasi dari kerentanan LFI, developer harus:
Melakukan validasi input pengguna dengan whitelist.
Menggunakan fungsi built-in seperti
realpath()
untuk memverifikasi path file.Menonaktifkan fungsi
allow_url_include
pada konfigurasi PHP.
Penutup
Mencari kerentanan LFI memerlukan keahlian dan pemahaman yang baik tentang cara kerja server dan aplikasi web. Selalu pastikan untuk mendapatkan izin sebelum melakukan pengujian keamanan. Dengan langkah-langkah di atas, Anda dapat menemukan dan melaporkan kerentanan LFI secara efektif.
Semoga artikel ini membantu meningkatkan pemahaman Anda tentang kerentanan LFI dan cara mendeteksinya.
0 Comments
Post a Comment