Tuesday 19 November 2013

SQL Hosting Indonesia Tips - JaringanHosting.com :: Cara Pencegahan SQL Script Injection



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.

0 comments:

Post a Comment