Pengertian SQL Injection Beserta Contoh SQL Injection
Daftar Isi
Pengertian SQL Injection Beserta Contoh SQL Injection ~ SQL (Structured Query Language) adalah bahasa yang digunakan untuk melakukan query, mengoperasikan, dan mengelola sistem basis data atau database. Penggunaan SQL pada umumnya di semua sistem basis data sama saja tetapi ada beberapa perbedaan khusus untuk setiap sistem basis data.
Pengertian SQL Injection
SQL Injection adalah teknik serangan yang memanfaatkan celah keamanan pada database/basis data sebuah aplikasi, jadi ketika user melakukan sebuah inputan tetapi sistem database tersebut ketika menerima karakter inputan dari user sistem tidak menyaring dengan benar, maka akan terjadi celah keamanan SQL. Contoh sederhana dalam kolom username dan password normalnya user hanya harus memasukkan huruf dan angka tetapi jika sistem kaliam memiliki celah SQL user dapat memasukkan karakter khusus seperti -"= sehingga user dapat memasukkan query SQL pada kolom tersebut untuk melihat isi database.
SQL Injection attack masih menjadi favorit teknik serangan yang digunakan oleh hacker, sql injection
masih cukup sering ditemukan karena masih banyak web-web di luar sana yang memiliki celah keamanan ini dan masih ada banyak developer yang kurang menyadari terhadap celah keamanan ini. Secara umum dampak dari SQL inejction adalah:
- memungkinkan attacker untuk melihat isi database aplikasi kalian.
- memungkinkan attacker membypass username dan password web aplikasi kalian
- memungkinkan attacker mendapatkan password dari user administrator web aplikasi yang kalian miliki
- memungkinakan attacker untuk mencuri data-data dari web aplikasi kalian
Tujuan SQL Injection
- Bypass Authentikasi
- Dengan teknik SQL Injection memungkinan hacker dapat membypass username dan password kalian, jadi tanpa memilki username dan password kalian hacker dapat masuk ke dalam web aplikasi kalian
- Data Breach
- Dengan teknik ini database kalian dapat dilihat oleh attacker jadi tidak dapat dipungkiri akan terjadinya data breach khususnya bagi web aplikasi yang menyimpan banyak data user-usernya
- Compromised Integritas Data
- Dengan adanya celah keamanan ini attacker dapat melakukan perubahan pada database kalian
- Compromised Ketersediaan Data
- Attacker juga dapat menghapus informasi yang disimpan oleh database web aplikasi kalian dan merusak log atau audit keamanan pada database
- Remote Command Execution
- Dengan celah kemanan ini juga attacker dapat melakukan command line pada server melalui database web aplikasi
Contoh SQL Injection Bypass Login
jika pada normal nya pada saat melakukan login pada web aplikasi query sql yang dihasilkan adalah :
SELECT count (*) FROM Users WHERE Username=’alam’ AND Password= ‘ganteng’
namun si attacker dengan memasukan query khusus pada kolom login web aplikasi maka hasil query yang dihasilkan akan seperti ini :
SELECT count (*) FROM Users WHERE Username=’alam’ or 1=1 — ’ AND Password= ‘ganteng’
normal nya jika server database menerima query sesuai dengan normalnya seperti pada query yang pertama maka hasilnya akan melakukan authentikasi sesuai dengan usernam dan password yang tersimpan pada database namun jika si attacker memasukan karakter khusus seperti “or 1=1 -” yang mana arti dari karakter khusus tersebut adalah setiap inputan yang masuk akan selalu dianggap TRUE karena sesuai pada tabel kebenaran OR dibawah 1=1 adalah TRUE dan pada or kondisi dimana jika ada salah satu atau lebih inputan true maka authentikasi akan dianggap true oleh sistem.
mempelajari query SQL sangat penting untuk menggunakan teknik serangan SQL Injection ini tetapi sudah ada banyak "tools gratis yang dapat melakukan serangan SQL Injection secara otomatis tetapi masih akan lebih fleksibel jika kalian dapat melakukannya secara manual.
Kesimpulan
Untuk mengatasi SQL Injection attack ini adalah dengan cara melakukan filtering pada kolom inputan kalian namun jika kalian menggunakan framework seperti laravel,codeigneter dsb seharusnya selama kalian mengikuti sesuai dengan dokumentasi keamanan framework tersebut maka harusnya celah keamanan ini sudah diminimalisir oleh framework tersebut. Dan bagi kalian yang melakukan pengetesan sql injection ini akan sangat membantu jika kalian memahami sql query dan sistem database itu sendiri, sekian dari artikel Pengertian SQL Injection Beserta Contoh SQL Injection, terima kasih
Posting Komentar