PENDAHULUAN
Keamanan jaringan computer
pada zaman sekarang adalah sesuatu hal yang sangat penting karena proses-proses
menjadi lebih mudah untuk dikerjakan dengan adanya internet dan komputasi.
Hampir seluruh pekerjaan saat ini dikerjakan dengan komputasi dan internet
seperti pendaftaran, mengobrol, mencari data, menyimpan data pada cloud dan database, dan berbagai hal lain. Karena proses menggunakan internet
ini memudahkan pekerjaan, pemerintah Indonesia kerap kali mengimplementasikan
aplikasi jaringan computer untuk urusan pemerintahan. Salah satunya adalah
dengan pembuatan website pemerintah.
Kami melakukan survei
terhadap website-website pemerintah dan setelah kami melakukan pencarian
mendalam kami menemukan bahwa website-website pemerintahan sering kali vulnerable terhadap serangan akibat dari
sistem passing parameter web sehingga
dapat diserang dengan menggunakan local
file inclusion. Local file inclusion adalah
serangan dimana pihak penyerang dapat mengambil data yang tidak seharusnya
dapat diambil akibat kesalahan pada sistem. Kesalahan dapat berupa menggunakan
parameter get pada di URL pada saat download file. Contohnya www.aaa.com/download.php?file=namafile
untuk mendownload file public bernama namafile.Apabila nama file diubah menjadi
nama-nama file penting seperti /../../etc/passwd atau data-data lainnya maka
pihak-pihak yang tidak seharusnya dapat mengambil file tersebut dengan mudah.
Apalagi ini adalah situs pemerintahan yang mungkin saja dapat berpengaruh pada
keuangan ataupun kebocoran kebijakan pemerintah.
Pada tugas ini kami
mencoba melakukan penyerangan dengan mencoba melakukan download file password
dan user pada server pemerintah kabupaten jembrana dengan menggunakan teknik local file inclusion.
SKENARIO PENGUJIAN
Pada awalnya kami berusaha melakukan eksplorasi dan
menemukan sebuah site http://www.jembranakab.go.id/
tampilan
awal situs
Situs tersebut adalah situs resmi Pemerintah Daerah
Kabupaten Jembrana. Setelah mengeksplorasi situs tersebut, kami menemukan celah
untuk melakukan attack dengan local file inclusion. Berikut adalah
skenario pengujian usaha penyerangan kami:
Secara umum:
·
Mencari celah dari situs tersebut lewat local file inclusion dengan mendownload
sembarang file.
·
Mengedit link download sedemikian hingga
dapat membuktikan bahwa situs tersebut tidak melindungi berkas yang seharusnya
tidak boleh diakses / diunduh oleh orang awam.
·
Mencoba run link tersebut
·
Melihat hasil run. Bila hasil run membuktikan
bahwa berkas dapat diakses, mencari celah lain untuk akses berkas lain (dalam
hasil pengujian kami mendapatkan nama – nama administrator dari situs). Bila
belum berhasil, mencari celah lain atau situs lain untuk melakukan usaha local file inclusion. Ada kemungkinan
mencari celah untuk melakukan attack
jenis lain.
HASIL
PENGUJIAN
Berdasarkan skenario pengujian umum:
Skenario
|
Hasil
|
Mencari
celah dari situs tersebut lewat local
file inclusion
|
Menemukan
adanya celah untuk download file dengan link mengandung
“files
= download.php?...”
|
Mengedit
link sedemikian rupa
|
Mencoba
menghapus semua keterangan setelah “files = download.php?”
Link
awal:
Link
edit:
|
Mencoba
run link tersebut
|
Link
berhasil di run tanpa munculnya
pemberitahuan tertentu
|
Melihat
hasil run.
|
Link
tersebut memungkinkan kami mengunduh berkas “download.php” dari situs tersebut:
|
Mengedit
link sedemikian rupa
|
Link
edit:
http://www.jembranakab.go.id/download.php?files=../../../../../../../../../../../../../../../etc/passwd
|
Mencoba
run link tersebut
|
Link
berhasil di run tanpa munculnya
pemberitahuan tertentu
|
Melihat
hasil run.
|
Link
tersebut memungkinkan kami mengunduh berkas “passwd” dari situs tersebut:
|
Dari hasil pengujian pertama, berkas “download.php” dapat diunduh karena
source code dari berkas yang digunakan untuk mengunduh file tertentu
(tergantung parameter dari file = )
header('Content-Disposition: attachment;
filename='.basename($filename));
Source code hanya mengecek basename
saja. Sebenarnya ada session, namun session tersebut telah terset saat sebelumnya
kami melakukan unduh file.
Untuk passwd, kami
melakukan upaya mundur ke root dengan “/../../../..”
dan shadow dengan “/etc/passwd”. Upaya ini ternyata
berhasil, kelompok kami dapat menemukan user – user dari situs ini.
SIMPULAN
Website jembranakab.go.id
dapat diserang dengan local file
inclusion. Hal ini dikarenakan metode download yang digunakan pada web
adalah implementasi sederhana download menggunakan php (panggil download.php
dan memanfaatkan URL parameter sebagai input file yang akan didownload).
Seharusnya file-file di-encrypt
misalnya diberi hash key dan untuk
mendownload file yang bersangkutan sehingga pihak-pihak yang tidak berwenang
kesulitan dan tidak bisa menemukan file-file untuk didownload. Cara tambahan
untuk mencegah serangan adalah menghandle kemungkinan masukan aneh dari
pengguna seperti shadow /../../../ dengan tidak menerima input dengan
karakter-karakter seperti itu. Penggunaan statement database yang prepared juga
membantu pencegahan local file inclusion.
Tidak ada komentar:
Posting Komentar