pengertian dari SQL injection attack

sql injections attack

SQL injection attack


SQL injection adalah sebuah aksi hacking yang dilakukan di aplikasi client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi clien dan juga merupakan teknik mengeksploitasi web aplikasi yang didalamnya menggunakan database untuk penyimpanan data.

Dalam hal ini SQL Injection dipakai untuk mengakali form login suatu website. Sehingga tanpa harus tau username dan password apapun, kita bisa masuk ke halaman administrator dengan level user tertinggi yaitu Super Admin.


Bentuk-bentuk celah keamanan injeksi SQL


Bentuk injeksi SQL ini terjadi ketika masukan pengguna tidak disaring dari karakter-karakter pelolos dan kemudian diteruskan ke dalam sebuah pernyataan SQL. Ini menimbulkan potensi untuk memanipulasi pernyataan-pernyataan yang dilakukan pada basis data oleh pengguna akhir aplikasi.

Baris kode berikut menggambarkan celah keamanan ini:

       pernyataan := "SELECT * FROM pengguna WHERE nama = '" + namaPengguna + "';"

Jika variabel "namaPengguna" dirangkai sedemikian rupa oleh pengguna yang bermaksud buruk, pernyataan SQL tersebut bisa melakukan lebih daripada yang pengarangnya maksudkan. Sebagai contoh, mengeset variabel "namaPengguna" sebagai

                       a' or 't'='t

menjadikan pernyataan SQL ini oleh bahasa yang memuatnya:

                     SELECT * FROM pengguna WHERE nama = 'a' or 't'='t';

Jika kode ini akan digunakan dalam sebuah prosedur untuk melakukan otentikasi, maka contoh ini dapat dipakai untuk memaksakan pemilihan sebuah nama pengguna yang sah karena evaluasi 't'='t' akan selalu bernilai benar.

Secara teori, perintah SQL sah apapun bisa diinjeksi melalui metode ini, termasuk menjalankan banyak pernyataan. Nilai "namaPengguna" berikut ini pada pernyataan di atas akan menyebabkan dihapusnya tabel "pengguna" dan juga pengambilan semua data dari tabel "data":

                a';DROP TABLE pengguna; SELECT * FROM data WHERE nama LIKE '%

Masukan ini menjadikan pernyataan akhir SQL sebagai berikut:

SELECT * FROM pengguna WHERE nama = 'a';DROP TABLE pengguna; SELECT * FROM data WHERE nama LIKE '%';

ok

Posting Komentar untuk "pengertian dari SQL injection attack"