Você está na página 1de 6

5.

Analisa Penerapan Metode


Pada aplikasi WTSC ini akan diterapkan dua metode Technical Control untuk mencegah

terjadinya pengaksesan data oleh orang yang tidak berhak. 5.3.1 SQL Injection Penerapan metode SQL Injection ini dilakukan untuk menghindari terjadinya teknik hacking SQL Injection. Biasanya teknik hacking dengan SQL Injection ini dilakukan pada halaman web yang digunakan untuk menginputkan data kedalam database, misalnya halaman web yang memiliki form login dan form untuk menginputkan data . Pada aplikasi WTSC terdapat beberapa halaman web yang digunakan untuk menginputkan data namun tidak memiliki form login. Untuk itu perlu diterapkan metode untuk pencegahan terjadinya teknik hacking SQL Injection dimana penerapannya dilakukan pada skrip program ASP yang digunakan untuk menginputkan data ke dalam database. Pada aplikasi WTSC penerapan metode untuk pencegahan terjadinya teknik hacking dengan SQL Injection ini dilakukan pada beberapa menu untuk input data, sebagai contoh pada menu Test Station Master List. Berikut skrip program ASP yang belum diterapkan metode SQL Injection.

Gambar 5.6 Skrip Program ASP Untuk Input Data

Pada skrip program ASP pada gambar 5.6 dapat dilihat adanya penggunaan objek ASP yaitu request.form. objek ini digunakan untuk mengambil data (input) yang berasal dari request user atau client ke server. Penggunaan skrip request.form yang secara langsung mengambil data dari form inputan dapat menimbulkan celah keamanan. Karena jika pemakaiannya langsung seperti itu maka data-data yang akan diinputkan bisa diketahui dengan melakukan teknik hacking SQL Injection lewat URL web, untuk mencegah terjadinya hal itu, maka digunakan koleksi dan objek parameter. Berikut skrip program ASP yang menggunakan objek parameter.

Gambar 5.7 Skrip Program ASP Menggunakan Objek Parameter

Penggunaan koleksi dan objek parameter bertujuan untuk membentuk parameter bagi pernyataan SQL yang akan dijalankan pada objek command. Koleksi parameter merupakan koleksi yang berisi sejumlah objek parameter. Koleksi ini terdapat pada objek command. Pada gambar 5.7 terdapat Skrip Program sebagai berikut :
vSQLInsert = "insert into nec_wtsc_pci_ts_master_list1 values ( " &_ "?,?,?,?,?,?,?, "&_ "?,?,?,sysdate,'',?,?,'SLN')"

Gambar 5.8 Skrip Pernyataan SQL

Pada Skrip program ASP diatas merupakan pernyataan SQL yang menggunakan parameter, dimana tanda ? akan diisi melalui objek parameter. Dengan menggunakan objek parameter, maka data-data yang akan diinputkan pada form jika dilihat hasil dari Query, hanya berisi tanda ? seperti pada gambar 5.8 sehingga bisa mencegah terjadinya teknik hacking dengan SQL Injection. Selanjutnya, contoh skrip untuk pembuatan objek parameternya sebagai berikut :
vTableName1 = "nec_wtsc_pci_ts_master_list1" vamt = request.Form("amt") Set cmdChange1 = createobject("ADODB.Command") Set cmdChange1.ActiveConnection = connslo cmdChange1.CommandText = vSQLInsert Set Param1 = cmdChange1.CreateParameter(, adVarChar, adParamInput, 12) Param1.Value = vamt cmdChange1.Parameters.Append Param1

Gambar 5.9 Skrip ASP Menggunakan Objek Parameter

Pernyataan dibawah ini merupakan pendeklarasian variabel, dimana isi dari variabel adalah nama tabel dan request.form dari form inputan.
vTableName1 = "nec_wtsc_pci_ts_master_list1" vamt = request.Form("amt")

Selanjutnya, pernyataan berikut adalah pernyataan yang digunakan untuk menentukan koneksi yang dikaitkan ke objek command. Dan pernyataan CommandText menandakan bahwa didalamnya berisi pernyataan SQL.
Set cmdChange1 = createobject("ADODB.Command") Set cmdChange1.ActiveConnection = connslo cmdChange1.CommandText = vSQLInsert

Pernyataan dibawah ini digunakan untuk menciptakan objek parameter, disesuaikan dengan variabel yang telah dibuat sebelumnya.
Set Param1 = cmdChange1.CreateParameter(, adVarChar, adParamInput, 12) Param1.Value = vamt

Penjelasan dari pernyataan diatas adalah :


Argumen pertama pada CreateParameter merupakan nama identitas parameter,

yaitu cmdChange1.
Argumen kedua berupa tipe data parameter. Tipe adVArChar menyatakan tipe

string dengan panjang 12 dan disesuaikan dengan tipe data pada tabel yang telah dibuat sebelumnya.
Argumen ketiga pada adPAramInput menyatakan arah parameter bahwa parameter

adalah jenis parameter masukan. Argumen keempat menyatakan panjang maksimum parameter.
Argumen Param1.Value berisi variabel.

Selanjutnya setelah objek parameter dibentuk, objek ini ditambahkan ke koleksi parameter melalui pernyataan sebagai berikut :
cmdChange1.Parameters.Append Param1

Pembuatan objek parameter disesuaikan dengan jumlah baris (field) pada tabel yang akan diinputkan data yaitu pada pernyataan SQL, disesuaikan dengan banyaknya jumlah tanda ? .
5.3.2

Validasi Masukan (Input Validation) Penerapan metode validasi masukan atau input validation ini digunakan untuk mengatasi

terjadinya masukan data yang tidak sesuai oleh pengguna yang ingin merusak atau memanipulasi sebuah aplikasi web dan metode ini juga bisa digunakan untuk pencegahan teknik hacking SQL Injection. Pada aplikasi WTSC, penerapan metode validasi masukan dilakukan pada halaman web yang digunakan untuk menginputkan data. Validasi masukan dilakukan disisi client dengan menggunakan JavaScript. Sebagai contoh penerapan validasi masukan diterapkan pada menu Test Station Master List yang dapat dilihat pada gambar 5.5. Menu ini digunakan untuk menginputkan data-data baru kedalam database sehingga perlu dilakukan pemfilteran karakter atau pembatasan jenis-jenis karakter yang bisa diinputkan. Berikut adalah skrip JavaScript yang digunakan untuk pemfilteran karakter :

Gambar 5.10 Skrip JavaScript

Skrip diatas merupakan beberapa fungsi dari JavaScript yang digunakan untuk pemfilteran karakter. Dan fungsi ini akan dipanggil dan diletakkan pada skrip HTML untuk pembuatan form yang digunakan untuk menginputkan data. Sehingga ketika pengguna ingin menginputkan data pada form, jika inputan hanya berupa angka maka hanya angka saja yang bisa diinputkan. Jika ingin menginputkan huruf maka ketika mengetikkan huruf atau karakter lainnya melalui keyboard huruf atau karakter lainnya tidak akan tampil karena hanya angka saja yang bisa diinputkan dan begitu juga sebaliknya.

Você também pode gostar