18
memang harus diwaspadai karena kejahatan ini agak berbeda dengan kejahatan lain pada umumnya.
Cybercrime
dapat dilakukan tanpa mengenal batas teritorial dan tidak memerlukan interaksi langsung
antara pelaku dengan korban kejahatan. Mengamankan sistem merupakan salah satu cara dalam menanggulangi
cybercrime.
Pengamanan sistem secara terintegrasi sangat diperlukan untuk meminimalisasikan kemungkinan perusakan tersebut. Membangun
sebuah keamanan sistem harus sesuai dengan langkah-langkah yang terintegrasi pada keseluruhan subsistemnya, dengan tujuan dapat
mempersempit atau
bahkan menutup
adanya celah-celah
unauthorized actions
yang merugikan. Pengamanan secara personal dapat dilakukan mulai dari tahap instalasi sistem sampai akhirnya
menuju ke tahap pengamanan fisik dan pengamanan data. Pengaman akan adanya penyerangan sistem melaui jaringan juga dapat
dilakukan dengan melakukan pengamanan FTP, SMTP, Telnet dan pengamanan
Web Server.
2.4 SQL
Injection
2.4.1 Pengertian SQL
Injection
SQL singkatan dari
Structured Query Language
yg merupakan bahasa komputer standar yang ditetapkan oleh ANSI
American National Standard Institute
untuk mengakses dan memanipulasi sistem
database
. SQL bekerja dengan program
database
seperti MS
Access
, DB 2, Informix, MS SQL
Server
,
Oracle
dan lain sebagainya
.
SQL
Injection
merupakan sebuah teknik serangan yang memanfaatkan celah keamanan pada sisi
website
yang mengizinkan
19 attacker
untuk menginputkan
malicious code
. Inputan tersebut biasanya di masukan pada
box search
,
form-form web
atau bagian- bagian tertentu dari
website
yang berinteraksi dengan
database
SQL. Celah keamanan tersebut ditunjukkan pada saat
attacker
memasukkan nilai
string
dan karakter-karakter
control
lainnya yang ada dalam instruksi SQL dengan cara memodifikasi perintah SQL
yang ada di memori aplikasi
client
sehingga memungkinkan
attacker
untuk memasukkan kode-kode SQL untuk mendapatkan informasi dan akses ke
database server.
Data dari user akan dianggap sebagai bagian dari input, tetapi saat dijalankan, 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
database
tidak bisa memberi layanan kepada
web server
. Serangan SQL
Injection
cukup kuat dan sulit dihentikan, karena tidak masuk ke dalam
platform software
apapun Nidiaswari, 2010.
2.4.2 Karakterisik SQL
Injection
SQL
Injection
memerlukan karakter khusus agar bisa dimanipulasi secara paksa. Karakter
– karakter inilah yang menjadi dasar penyusupan suatu situs dengan teknik SQL
Injection
. Beberapa karakter khusus tersebut antara lain:
1. Double Minus --
Tanda ini adalah tanda akhir suatu statement SQL sehingga perintah dibelakangnya tidak akan dibaca dan dieksekusi oleh
MySQL. Tanda ini sangat berguna terutama untuk
statement
yang menggunakan operator logika OR atau AND. Misalnya:
20
Jika diberikan tanda -- setelah klausa
username,
maka perintah diatas akan menjadi
Hal itu akan membuat seseorang bisa
login
tanpa harus memiliki
password,
karena MySQL hanya akan membaca perintah sampai username = „username‟ dan mengabaikan sisanya. Pada
beberapa versi dan
software database,
pemakaian tanda -- seringkali diganti dengan dengan tanda pagar . Contoh sintaks
SQL
Injection bypassing
pada halaman
login
, antara lain sebagai berikut:
„ or 1=1--
„ or 1=1
or 0=0 --
or 1=1
or 1=1--
„ or „1‟=‟1--
2. Union
Union
adalah perintah untuk menggabungkan dua atau lebih perintah SQL, biasanya penggunaan
union
dalam SQL
Injection
dilakukan untuk memberikan perintah
error
dalam
query
. Contoh penggunaannya:
SELECT FROM user W HERE username=‟username‟
AND password=‟password‟
SELECT FROM user WHERE username=‟username-- ‟ AND password=‟password‟
21
Biasanya penggunaan perintah diatas adalah untuk mencari jumlah kolom dari suatu tabel. Untuk nama tabel, bisa dicari dengan
memanfaatkan tabel
information_schema
pada MySQL yang menyimpan informasi semua tabel yang terdapat dalam database
tersebut Vicky, dkk, 2012.
2.5
Cross Site Scripting
XSS
2.5.1 Pengertian