Local file inclusion pada Drupal


Bogdan Calin sebagai pengembang aplikasi vurnebilities scanner web aplikasi acunetix wvs menemukan bugs file inclusion vurnabilities pada CMS Drupal , yang memungkinkan kepada kita untuk melihat file local yang ada pada server, bugs ini bekerja pada sistem wind***. Kelemahan ini terdapat pada file includes\theme.inc pada baris ke 1011.

Vulnerable code:
function theme_render_template($template_file, $variables) {
extract($variables, EXTR_SKIP);  // Extract the variables to a local
namespace
ob_start();                      // Start output buffering
include “./$template_file”;      // Include the template file <<< here
is the vulnerability
$contents = ob_get_contents();   // Get the contents of the buffer
ob_end_clean();                  // End buffering and discard
return $contents;                // Return the contents
}

Jika memanipulsi variabel q, ini memungkinkan untuk mengendalikan include path suatu file server. parameter GET q diset ke “start/../../xxx\..\..\end” dan tersanitasi menjadi include function
“./themes/garland/page-start-..-..-xxx\..\..\end.tpl.php”.

Tetapi, kita tidak dapat mengkontrol penuh include path, user input otomatis ter-prefix dengan “./themes/garland/page-“.

Jadi, gimana donk??? gak bisa di eksploitasi ??

bisa, hanya di sistem operasi Wind***. para pengguna Unix / Linux bisa sedikit bernafas lega ^_^

Pada sistem Unix, menggunakan seperti “cat/var/www/some_invalid_filename/../../../../../etc/passwd” tidak bekerja, akan keluar eror “some_invalid_filename”

Pada sistem Wind*** berbeda, mengeksekusi perintah seperti “type c:\windows\sssssssssssss\..\..\..\..\..\boot.ini” akan memperlihatkan kepada kita isi dari file “boot.ini” selama sssssssssssss bukan direktori dan tidak ada di sistem.

Opsi PHP magiq_quotes_qpc secara default mati, jadi memungkinkan menggunakan %00 untuk terminate string. Oleh karena itum jika anda mengeset q variabel menjadi seperti ini ;
“q=\..\..\..\..\..\..\..\..\..\..\..\..\boot.ini%00” (tanpa tanda kutip) ini memungkinkan tuk memperlihatkan konten boot.ini pada sistem wind*** (jika web server terinstall pada partisi C:).

Reference :
http://www.acunetix.com/blog/websecuritynews/drupal-local-file-inclusion-vulnerability/

One thought on “Local file inclusion pada Drupal

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s