Sunday, 28 October 2012

Konsep Dasar SQL Injection

- SQL injection adalah sebuah aksi hacking yang dilakukan di aplikasi client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi client.

- SQL Injection merupakan teknik mengeksploitasi web aplikasi yang didalamnya menggunakan database untuk penyimpanan data.

Bahaya dari penggunaan SQL Injection :

- Teknik ini memungkinkan seseorang dapat login kedalam sistem tanpa harus memiliki account.

- Selain itu SQL injection juga memungkinkan seseorang merubah, menghapus, maupun menambahkan data–data yang berada didalam database.

- Bahkan yang lebih berbahaya lagi yaitu mematikan database itu sendiri, sehingga tidak bisa memberi layanan kepada web server.

Contoh Syntak SQL Injection :

- $SQL = “select * from login where username =’$username’ and password = ‘$password’”; , {dari GET atau POST variable }

- isikan password dengan string ’ or ’’ = ’

- hasilnya maka SQL akan seperti ini = “select * from login where username = ’$username’ and password=’pass’ or ‘=′”; , { dengan SQL ini hasil selection akan selalu TRUE }

- maka kita bisa inject sintax SQL (dalam hal ini OR) kedalam SQL

Cara pencegahan SQL Injection :

- Batasi panjang input box (jika memungkinkan), dengan
cara membatasinya di kode program, jadi si cracker pemula akan bingung sejenak melihat input box nya gak bisa diinject dengan perintah yang panjang.

- Filter input yang dimasukkan oleh user, terutama penggunaan tanda kutip tunggal (Input Validation).

- Matikan atau sembunyikan pesan-pesan error yang keluar dari SQL Server yang berjalan.

- Matikan fasilitas-fasilitas standar seperti Stored Procedures, Extended Stored Procedures jika memungkinkan.

- Ubah "Startup and run SQL Server" menggunakan low privilege user di SQL Server Security tab.

0 komentar:

Post a Comment