Pengertian SQL Script Injection..
Jenis aksi hacking pada keamanan
komputer di mana seorang penyerang/attacker bisa mendapatkan akses ke basis
data di dalam sistem (Sistem Utama). Mereka bisa mencuri informasi
penting di databases, seperti username atau password, atau mengubah / update
isi dari database.
Ada dua jenis metode atau cara SQL Injection yang pertama disebut Normal SQL
Injection, yaitu dengan memanfaatkan error yang dibuat oleh attacker untuk
memperoleh informasi skema atau struktur dari database, yang kedua yaitu Blind
SQL Injection, dimana saat exploitasi Normal SQL Injection tidak bekerja, Blind
SQL Injection dijadikan metode lain untuk exploitasi.
Mengapa bisa terjadi SQL Injection?
Tidak adanya penanganan terhadap karakter – karakter tanda petik satu ’ dan
juga karakter double minus -- yang menyebabkan suatu aplikasi dapat disisipi
dengan perintah SQL. Sehingga seorang Hacker menyisipkan perintah SQL kedalam suatu
parameter maupun suatu form.
Bagaimana Cara Cek Vulnerability?
Untuk mengetahui apakah suatu aplikasi web vulnerable terhadap Sql Injection
atau tidak, kita coba dengan menambahkan single quotes (‘) pada url, contoh : Smith';DELETE
FROM Users; --
Jika Vulnerable, akan keluar pesan error seperti ini : “You have
an error in your SQL syntax; check the manual that corresponds to your
MySQL
server version for the right syntax to use near ” AND bg_deleted_dt IS NULL’ at
line 1″
Contoh sintaks SQL Injection...
Contoh sintak SQL dalam PHP:
1) $SQL = “select * from login where username =’$username’ and password =
‘$password’”; , {dari GET atau POST variable }
2) isikan password dengan string ’ or ’’ = ’
3) hasilnya maka SQL akan seperti ini = “select * from login where username =
’$username’ and password=’pass’ or ‘=′”; , { dengan SQL ini hasil selection akan
selalu TRUE }
4) maka kita bisa inject sintax SQL (dalam hal ini OR) kedalam SQL
Lalu Cara pencegahan SQL INJECTION?
1) 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.
2) Filter input yang dimasukkan oleh user, terutama penggunaan tanda kutip
tunggal (Input Validation).
3) Matikan atau sembunyikan pesan-pesan error yang keluar dari SQL Server yang
berjalan.
4) Matikan fasilitas-fasilitas standar seperti Stored Procedures, Extended
Stored Procedures jika memungkinkan.
5) Ubah "Startup and run
SQL Server" menggunakan low privilege user
di SQL Server Security tab.
Jika Anda mencari web hosting yang handal dan terjangkau atau email
hosting, Anda dapat mempertimbangkan JaringanHosting.com.