Anda di halaman 1dari 2

SQL INJECTION

Route Gemilang 5208100073 Sistem Informasi ITS


Abstrak Paper ini membahas mengenai bagaimana cara mengenai seperti apa itu SQL Injection, bahayanya SQL Injection, sebab-sebab yang menyebabkan terjadinya SQL Injection, penanganan dan pecegahannya. 1. PENDAHULUAN SQL Injection merupakan salah teknik eksploitasi web yang sudah cukup lama, namun hingga saat ini teknik tersebut masih cukup mumpuni dan efektif untuk dilakukan. Buktinya saat ini masih ada saja dan banyak website yang mengidap penyakit vuln terhadap serangan SQL Injection. Inti dari penyebab bug ini yaitu terletak pada si pembuat web (web programmer), anggap saja ada kesalahan logika berpikir atau ketidaktahuaannya dalam membuat website yang aman. Masalah-masalah bug ini sebenarnya terletak pada diri programmer web. Jadi, sehandal apapun sistem operasi atau web server yang digunakan akan menjadi percuma ketika si programmer memiliki kesalahan logika dalam membangun sebuah web, khususnya SQL Injection. Oleh karena itu pada paper ini akan diberikan wawasan mengenai seperti apa itu SQL Injection, bahayanya SQL Injection, sebab-sebab yang menyebabkan terjadinya SQL Injection, penanganan dan pecegahannya. Dengan begitu diharapkan nantinya akan mengurangi resiko yang akan terjadi akibat dari SQL Injection. 2. TUJUAN Adapun beberapa tujuan dalam pembuatan paper ini, yaitu : 1. Mengetahui pengetahuan mengenai SQL Injection. 2. Mengetahui bagaimana cara mencegah dan manangani SQL Injection. 3. DASAR TEORI 3.1 SQL Injection SQL injection adalah jenis aksi hacking pada keamanan komputer di mana seorang penyerang bisa mendapatkan akses ke basis data di dalam sistem. SQL injection exploits adalah hasil interfacing sebuah bahasa lewat informasi melalui bahasa lain. Dalam hal SQL injection, sebuah bahasa pemrograman seperti PHP atau Perl mengakses database melalui SQL query. Jika data yang diterima dari pengguna akhir yang dikirim langsung ke database dan tidak disaring dengan benar, maka yang penyerang dapat menyisipkan perintah SQL nya sebagai bagian dari input. Setelah dijalankan pada database, perintah ini dapat mengubah, menghapus, atau membeberkan data sensitif.Lebih parah lagi jika sampai ke sistem eksekusi kode akses yaitu mematikan database itu sendiri, sehingga tidak bisa memberi layanan kepada web server. 4. HASIL DAN PEMBAHASAN

4.1 Pentingnya Keamanan sebuah Password Ada beberapa yang menyebabkan terjadinya SQL Injection, yaitu : Tidak adanya penanganan terhadap karakter karakter tanda petik satu dan juga karakter double minus -- yang menyebabkan suatu aplikasi dapat disisipi dengan perintah SQL. Penggunaan pesan error yang masih bersifat default -- mudah untuk melacak query yang digunakan.
4.2 Bahaya SQL Injection Ada beberapa bahaya yang ditimbulkan oleh SQL Injection, yaitu : Memungkinkan seseorang dapat login ke dalam sistem tanpa harus memiliki account. Memungkinkan seseorang mengubah, menghapus, maupun menambahkan data data yang berada di dalam database. Dapat mematikan database dari suatu aplikasi, sehingga tidak bisa memberi layanan kepada web server. 4.3 Penyebab Terjadinya SQL Injection Penyebab terjadinya SQL Injection, yaitu : 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. 4.4 Penanganan SQL Injection Ada beberapa cara untuk menangani SQL Injection, yaitu : 1. Menggunakan sintaks string OR = Contoh : $SQL = select * from login where username =$username and password = $password ; , (dari GET atau POST variable ) Jika dimasukkan OR =,maka eksekusi SQL-nya menjadi : select * from login where username =

$username and password=pass or =; , ( dengan SQL ini hasil selection akan selalu TRUE true sehingga user dapat login ke dalam suatu sistem ) 2. Menggunakan sintaks string pada username Contoh : SELECT * FROM members WHERE username = saya' AND password = ayas ; Berubah menjadi : SELECT * FROM members WHERE username = saya AND password = xxxx ; password tidak akan dieksekusi karena dianggap sebagai komentar $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

(Input Validation). Mematikan atau menyembunyikan pesanpesan error yang keluar dari SQL Server yang berjalan. Mematikan fasilitas-fasilitas standar seperti Stored Procedures, Extended Stored Procedures jika memungkinkan. Mengubah "Startup and run SQL Server" menggunakan low privilege user di SQL Server Security tab. 5. KESIMPULAN

3.

4.

SQL Injection terjadi karena kesalahan dari programmer yang tidak mengetahui cara membuat website yang aman. Agar terhindar dari SQL Injection programmer harus memperhatikan logika atau codingan dalam aplikasi yang dibuat, buatlah variasi-variasi codingan yaitu dengan menggunakan beberapa batasan-batasan pada codingan, seperti batasi panjang input box (jika memungkinkan), dengan cara membatasinya di kode program, sehingga itu nantinya tidak dapat memungkinkan seseorang akan sedikit kesulitan dalam menembus dan berniat tidak baik terhadap website atau aplikasi yang telah dibuat. DAFTAR REFERENSI

4.5 Cara Pencegahan SQL Inejction Untuk mencegah terjadinya SQL Injection adapun beberapa pencegahan yang dapat dilakukan, yaitu : Membatasi panjang input box (jika memungkinkan), dengan cara membatasinya di kode program, jadi si cracker pemula akan bingung sejenak melihat input box nya tidak bisa diinject dengan perintah yang panjang. Memfilter input yang dimasukkan oleh user, terutama penggunaan tanda kutip tunggal

1.

Budi Raharjo, Keamanan Sistem In f o r m a s i B e r b a s i s In t e r n e t , P T In s a n In d o n e s i a & PT IN D O C IS C , Jakarta,2002. 2. h t t p : / / d e k i l l . b l o gs p o t . c o m / 2 0 0 9 / 0 4/seki as-sql-injection.html. 3. S Q Li n j e c t i o n , (www.BlackAngels.it)

Anda mungkin juga menyukai