PENDAHULUAN
Gambar 1 : Contoh ilustrasi SQL injection Pada
Saat ini banyak sekali bug bug yang tersebar
admin login area
di dunia maya yang disebabkan oleh ulah para cracker
yang tidak bertanggung jawab. Penyimpanan data
Logika nya adalah bahwa SQL-nya menganggap
terletak pada database yang sering kali digunakan oleh
1=1 sebagai true sehingga kolom itu di-bypass lalu
pengembang website dan pemilik website untuk
kolom password-nya diabaikan karena setelah 1=1
menyimpan seluruh data pada website berupa data
terdapat mark SQL ( -- ), sehingga membuat password
login, data user, dan lain sebagainya. Bagi para
itupun diabaikan. Teknik awal adalah untuk memaksa
pengembang web sudah tidak asing lagi bagi mereka
keluar sebuah halaman error yang berisi informasi
tentang SQL Injection yang merupakan salah satu
dari struktur database sebuah situs. Langkah
bentuk ancaman terbesar bagi website yang sedang
selanjutnya adalah
dikelola. SQL Injection merupakan bentuk serangan
dari para hacker yang dapat menembus celah database
pada suatu website.
kita harus men-debugnya untuk melihat informasi
tersebut. String debugging uang digunakan adalah '
Teknik SQL Injection memungkinkan seseorang
having 1=1-- yang digunakan jika kita ingin melihat
dapat login kedalam sistem dabase tanpa harus
error page pada situs tersebut. Teknik ini dapat
memiliki account dengan cara mengisi default setting
membuat kita masuk ke sistem tanpa mempunyai
SQL. Default setting SQL yang paling berbahaya
akun, bukan hanya itu saja SQL injection dapat
mebuat seseorang menghapus, menambah, atau
(kosong / tidak diisi). Jika default settingnya belum
bahkan merubah data yang ada dalam database.
dirubah maka ketika ada sebuah direktori pada
website yang memiliki form untuk login admin, para
METODELOGI PENELITIAN
hacker dapat masuk kedalam dengan hanya
Metode Penelitian yang dilakukan dalan
(kosong / tidak diisi). Bentuk lain untuk masuk
penulisan makalah ini adalah bersifat literature. SQL
kedalam adalah dengan menggunakan string ' OR 1-1-
Injection merupakan kegiatan yang dilakukan untuk
- pada halaman yang memilikii user dan password.
perintah SQL ditujukan statment SQL yang ada pada
Jika kita memasukan string ' OR 1=1-- di input box
aplikasi yang sedang berjalan. Adapun teknik untuk
user dan memasukan password = foobar di input box
mengeksploitassikan web ini di dalam SQL injection
password, sehingga menagkibatkan SQL Query
yang memiliki database sebagai tempat penyimpanan
menjadi bingung. SQL Query akan membacanya
data. SQL Injection terjadi karena kurangnya
105
Prosiding Annual Research Seminar 2017 ISBN : 979-587-705-4
Computer Science and ICT Vol. 3 No. 1
keamanan pada website tersebut untuk menghandle ketika username dan password yang
suatu inputan pada form login yang umumnya terletak dimasukan benar maka kita akan dialihkan kehalaman
pada username dan password. selanjutnya contoh gambar dapat dilihat dibahawah
ini.
106
Prosiding Annual Research Seminar 2017 ISBN : 979-587-705-4
Computer Science and ICT Vol. 3 No. 1
dengan memasukan karakter ' pada bagian username (request.form("username"),"'","''"), hal tersebut juga
dan sebagai password. terjadi pada bagian password. Ada beberapa cara lain
Statment pada database akan seperti ini untuk menanggulanginya yaitu :
Select * from tb_user where username= dan 1. Query SQL
password = '1234' Untuk melindungi QUERY SQL kita dapat
Kemudian coba jalankan MS QUERY Analyzer maka menggunakan teknik sainitasi yaitu
akan muncul error. mengosongkan seluruh inptuan yang
Hal tersebut terjadi dikarenakan kita memotong diterima dari request object ASP. Teknik
statment SQL dengan karakter (single quote). Lalu sanitasi ini sangat berguna untuk penggunaan
kita akan menyelesaikan pemotongan statment dengan RDBMS (Relational Database Management
menambahkan string OR 1 = 1 -- setelah karakter ' System).
pada bagian username dika. Untuk mencegah dan mengatasi ancaman
Statment SQL akan menjadi terhadap SQL Injection, yaitu dengna
Select * from tb_user where username = 'dika' or 1=1- menghindari penggunaan tanda petik tunggal
-' (') dengan menggunakan replace.
Jalankan MS Query Analyzer maka hasilnya akan 2. Pesan Error
menampilkan record set pada tabel tb_user . Hal ini Dengan cara mematikan atau merubah dan
disebabkan karena karakter merupakan karakter mengganti pesan error maka dapat mencegah
untuk menandakan bahwa string setelah tanda -- akan attacker untuk menelusuri jalur database.
di ignore atau ditiadakan. 3. Panjang Input Box
Sehingga statment SQL nya adalah Panjang input box yang dibatasi akan
Select * from tb_user where username = '' or 1=1 membuat hacker pemula menjadi bingung
Perintah tersebut akan memilih username yang terhadap penggunakan code inject yang tidak
berupa karakter kosong dan kemudian di OR pada berfungsi di input box dikerenakan code
kondisi tertentu akan bernilai TRUE. yang panjang.
107
Prosiding Annual Research Seminar 2017 ISBN : 979-587-705-4
Computer Science and ICT Vol. 3 No. 1
3.(Serangan, Metode, & Database, 2016)Kusuma, A. (2016).
Teknik Informatika, (8053111074), 1 24.
Mardianto, I., Sediyono, A., & Hafzan, A. (2015). Analisa
Kerentanan Sis . Trisakti . Ac . Id Menggunakan Teknik
Vulnerability Scan, 13, 90 101.
Serangan, A. K., Metode, B., & Database, K. (2016). Jurnal
-6313 Jurnal
-6313, 4(1),
79 87.
108