KCFinder adalah salah satu plugin populer untuk web file management yang biasa diintegrasikan dengan editor tinymce, ckeditor dan masih banyak lagi yang biasa digunakan oleh para web master. Celah keamanan ini bahkan sampai di versi yang paling baru. Cek di http://kcfinder.sunhater.com untuk lihat. Sebenarnya ini bukanlah hal yang baru, tapi sebagian admin yang jarang update info banyak juga yang kena batunya. Saya sendiri masih mendapati beberapa instansi pemerintah, lembaga pendidikan, perusahaan dalam negeri yang berpotensi diserang dengan bug ini.
Bagaimana cara dapatnya?
Simpel saja, saya gunakan mata omm google yang tembus pandang untuk melihat target. Google dorknya
inurl: index of/kcfinder/browse.php site:.co.id
Di atas hanya contoh ya… setelah itu, kita tinggal upload file backdoornya. Sebagian server memproteksi dengan mereject file PHP. Jadi kita main kucing-kucingan saja. Itu file backdoor kita ganti ekstensinya dari .php ke .jpg atau .php3. Tapi yang praktis .php3. Setelah di upload, cek lokasi filenya. Terus silakan eksekusi. Nah lhooo… kita sudah dapat semua direktorinya
Terus bagaimana lagi?
Rasanya kok setengah-setengah untuk lihat file. Saya harus naik tingkat. jadi saya pake command ini untuk buat user baru di server:
net user namauser passwordnya /addnet localgroup administrators namauser /add
Command di atas hanya untuk windows. Nah setelah itu bagaimana lagi? Biasanya server windows itu diaktifkan remote destop connectionnya. Kita pake itu saja. Sgera tekan windows+r, ketik MSTSC <enter>. masukkan ip server target tadi. masukkan juga user dan password yang sudah kita buat. OK Finish. Full Aksessssss. Gampang kan..
Bagaimana cara proteksinya?
Yang pertama adalah file config.php di folder kcfinder perlu di edit. Lihat baris 51
‘deniedExts’ => “exe com msi bat php phps phtml php3 php4 cgi pl”,
(hilangkan tanda koma atas di depan untuk mengaktifkan proteksi filenya)
Cara kedua adalah dengan membuat penghalang direct access, misalnya dengan mendefiniskan session di halaman awal seperti di bawah
define( ‘UNE’, 1 );
kemudian di halaman kcfinder ditambahkan script
defined(‘UNE’) or die(‘Restricted access’);
Kata UNE itu hanya variabel bebas, anda bisa ganti semaunya. Nama saya juga boleh kok. Cara ketiga dengan proteksi htaccess dan membatasi pengupload. Cara keempat kalau tidak mau repot, ya jangan pake kcfinder 🙂
demikian penjelasan saya, mudah-mudahan para admin pada cepat respon. Dan bagi yang temukan, tolong jangan iseng ya… Kasih tahu adminnya kalau kamu memang dapatkan bugnya. Ilmu itu bukan untuk merusak, tapi memperbaiki. OK.
Comments
Post a Comment