Home » Hacking » Teknik Hacking Website SQL Injection

Teknik Hacking Website SQL Injection

by David Win Syarif
by David Win Syarif

Pada sebuah keamanan website sangat diperlukan untuk menjaga suatu informasi atau kerusakan yang dihasilkan oleh suatu website tersebut. Database sebuah website merupakan sumber informasi yang paling penting untuk orang yang telah menggunakan website tersebut .

Website e-commerce atau website yang melakukan transaksi jual beli pasti menggunakan sebuah data yang akan dimasukkan ke dalam database website dan melalui website lebih mudah seseorang mengetahui terlebih dahulu tentang hal yang sedang dicari.

Apa Itu SQL Injection?

SQL Injection adalah aksi injeksi yang di lakukan pada database sebuah website yaitu database yang menggunakan tipe data SQL ( Structured Query Language ). Injeksi pada website yang menggunakan database tergantung dari sistem keamanan database itu sendiri.

Teknik hacking website SQL Injection paling sering digunakan oleh para tester dan hacker (peretas) untuk melakukan pengambilan data informasi website. Kebanyakan website membutuhkan penyimpanan data agar bisa digunakan oleh pengguna website dengan baik.

Ilustrasi SQL Injection

Untuk mengetahui kelanjutan tentang bug atau cara kerja teknik hacking pada database suatu website. Ada beberapa illustrasi pada kehidupan nyata atau hal yang sama berkaitan dengan SQL Injection database website. Berikut ini adalah beberapa illustrasinya:

  1. Saat anda menggunakan suatu program aplikasi dan menggunakan aplikasi tersebut tidak sesuai dengan cara kerja aplikasi tersebut, maka akan menampilkan tulisan error.
  2. Ketika kalian sedang mengunjungi suatu tempat dengan jalan disarankan, teatpi kalian mengambil jalur jalan yang lebih cepat yang jalur tersebut terdapat pemberitahuan ( !! Warning Rawan Kecelakaan !! ).
  3. Mesin minuman memiliki menu nomor yang sesuai dengan minuman yang terdapat pada mesin itu, kemudian kalian atau pemilik mesin minuman itu mengubah nomornya dan yang terjadi tidak sesuai keinginan hingga menghasilkan “Nomor yang anda masukkan tidak sesuai”.

Ciri-Ciri Website SQL Injection

Sebelum memasuki cara kerja dan langkah-langkah teknik hacking website SQL Injection, kalian harus memahami dan memgetahui bagaimana ciri-ciri website / halaman website yang memiliki celah keamanan database. Berikut ini adalah beberapa ciri-cirinya:

  • Error-Based-Injection. Pada halaman website yang telah di lakukan injeksi database akan menampilkan tulisan tambahan “SQL Error” pada halaman website . Berikut ini adalah contoh error (SQL Injection) :
" You have an error in SQL syntax, check the manual that corresponds to your MySQL.........."
" Warning : mysql_fetch_array() expects parameters....... "
" MySQL: state error......" 
" Database is occured
  Error number:.....  "

  dan lain-lain..
  • Blind-Injection. Pada halaman website yang telah di lakukan injeksi database pada tampilan halaman website terdapat beberapa gambar atau kata-kata yang hilang dan gambar / kata tersebut termasuk dalam database suatu website.
  • Union-Injection. Pada halaman website yang telah di lakukan injeksi database pada tampilan website akan ada nomor table/column sebuah database yang memiliki celah keamanan dan bisa dipanggil melalui SQL Injection. Contohnya:
2, 4, 8

Cara Kerja Teknik Hacking Website SQL Injection

Setiap website pasti memiliki alamat websitenya masing-masing yang berbeda. Database sebuah website terletak di bagian back atau belakang website yang terhubung dengan server dan database tersebut bisa digunakan sesuai cara kerja suatu website.

Sistem kerja teknik hacking SQL Injection website terletak pada aksi injeksi yang terhubung langsung ke database website, seperti: tempat daftar / pencarian yang merupakan pengisian dari database website dan halaman website yang di panggil oleh database.

  • Pertama, website yang menggunakan database biasanya terlihat pada halaman website yang setelah tanda = dan kemudian angka yang dimana angka tersebut berada di dalam isi database website. Namun, beberapa website tidak menggunakan tanda-tanda tersebut. Contohnya seperti ini:
https://www.contoh.com/terbaru/berita.php?id=21
  • Kedua, bentuk injeksi bisa berbeda-beda tergantung dari seorang / sekelompok orang pen-tester atau peretas untuk menginjeksi sebuah database website. Injeksi yang umum sering dilakukan pertama kali pada website yaitu code tanda string ( ‘ ). Contohnya seperti ini:
https://www.contoh.com/terbaru/berita.php?id=21'

Setelah memberi tanda kode injeksi SQL Injection maka akan memberi dampak tampilan tergantung dari keamanan website tersebut. Jika, database website tersebut tidak memiliki keamanan maka akan menampilkan error seperti yang ada pada “Ciri-Ciri SQL Injection.

  • Ketiga, setelah berhasil menampilkan error pada database website, kemudian para pen-tester / peretas memanggil table database satu persatu dengan kode injeksi tertentu yang tidak menampilkan notifikasi error. Contohnya seperti ini:
https://www.contoh.com/terbaru/berita.php?id=21'+order+by+1--+
https://www.contoh.com/terbaru/berita.php?id=21'+order+by+2--+
https://www.contoh.com/terbaru/berita.php?id=21'+order+by+3--+
https://www.contoh.com/terbaru/berita.php?id=21'+order+by+........

Catatan:
Melakukan " ORDER+BY+(angka table/column) " yang mulai dari angka 1 tampilan halaman website kembali normal, maka permintaan "ORDER BY" digunakan ulang sampai tampilan website menampilkan kembali ciri-ciri error SQL Injection.
  • Keempat, ambil semua angka permintaan “ORDER BY” yang menampilkan website normal seperti semula dan pen-tester / hacker akan melakukan Union-Injection yang menjadi permintaan “UNION SELECT”. Misalnya:
https://www.contoh.com/terbaru/berita.php?id=21'+order+by+12--+
>> 
https://www.contoh.com/terbaru/berita.php?id=-21'+union+select+1,2,3,4,5,6,7,8,9,10,11,12--+

Catatan (Union-Injection):
Tanda - sebelum angka halaman yang dilakukan injeksi tadi menjadi -21 dan angka dibawah 12 akan ditulis semua sampai 1
  • Kelima, tampilan halaman website akan menampilkan error SQL Injection ( Union-Injection ), tetapi yang berbeda hanya menampilkan angka yang error saja. Contoh: Angka 2 dan 4 saja.
  • Keenam, kemudian pen-tester / hacker (peretas) akan melakukan permintaan pada hasil angka Union-Injection tadi yaitu angka 2 dan 4. Melalui kode tertentu yang bernama DIOS ( Dump In One Shot ) yang artinya “dump = membuang” tapi yang dimaksud membuang adalah membuang hasil injeksi ke dalam halaman website. Berikut ini contohnya:
https://www.contoh.com/terbaru/berita.php?id=-21'+union+select+1,2,3,(DIOS),5,6,7,8,9,10,11,12--+
  • Terakhir, hasil DIOS (Dump In One Shot) bisa menampilkan user-database, nama-database, dan dapat melakukan dump semua isi table, column database hingga semua informasi yang ada di database. Seperti: password-login, username-login, informasi user dan lain-lain.

Cara Mengatasi Website SQL Injection

Setelah mengetahui pengertian website yang memiliki celah keamanan SQL Injection dan illustrasinya hingga cara kerja website SQL Injection. Kalian juga harus memahami bagaimana cara mengatasi suatu celah keamanan database sebuah website tersebut untuk terhindar dari (cyber criminal) pada dunia maya. Berikut beberapa cara untuk mengatasainya:

  1. Untuk mengatasi website SQL Injection para developer atau programmer harus melarang pemberian “query string” pada source-code website yang terhubung ke database mereka. Melarang Query string adalah tidak memberikan query yang berupa string kata atau kalimat yang dimana kalimat tersebut merupakan kode program website itu sendiri.
  2. Bisa juga menggunakan cara ke-2 yaitu pembuat website (developer) memberikan manipulasi terhadap kode-kode injeksi yang dilakukan oleh pen-tester / programmer yang misalnya tanda injeksi berubah menjadi tanda / dan lain sebagainya.

You may also like