Anda di halaman 1dari 23

PENGGUNAAN METODE VALIDATING INPUT SEBAGAI

PENGAMANAN WEB TERHADAP ANCAMAN CROSS SITE


SCRIPTING
disusun untuk memenuhi salah satu tugas pada mata kuliah Keamanan Sistem Informasi
oleh dosen Irawan Afriyanto, S. Kom




oleh:
Dian Kusumah Arsyad (10110437)
Cep Gun-Gun Gunawan (10110442)
Wildan Permadi (10110445)
Reynoldo Abdillah (10110452)
Muhamad Ambari (10110762)

Kelas : KSI-5

PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2014
2
DAFTAR ISI
DAFTAR ISI ........................................................................................................................................... 2
BAB 1 PENDAHULUAN......................................................................................................................... 1
1.1 Latar Belakang .................................................................................................................... 1
1.2 Identifikasi Masalah ............................................................................................................ 2
1.3 Maksud dan Tujuan ............................................................................................................ 2
BAB 2 LANDASAN TEORI ..................................................................................................................... 3
2.1 Jaringan Komputer ................................................................................................................... 3
2.2 Tipe Jaringan ............................................................................................................................. 3
2.2.1 Jaringan Peer to Peer ........................................................................................................ 3
2.2.2 Jaringan Client-Server ........................................................................................................ 4
2.3 Internet ..................................................................................................................................... 5
2.4 Situs ........................................................................................................................................... 6
2.5 Tipe-tipe Ancaman Keamanan ................................................................................................. 7
2.6 Tipe Ancaman Pada Aplikasi Web ............................................................................................ 8
BAB 3 HASIL DAN PEMBAHASAN ...................................................................................................... 12
3.1 Data Penelitian ................................................................................................................. 12
3.1.1 Metode Pengumpulan Data ............................................................................................. 12
3.1.2 Perangkat Keras ............................................................................................................... 12
3.1.3 Perangkat Lunak ............................................................................................................... 13
3.1.4 Metode Pengembangan Sistem ....................................................................................... 13
3.2 Analisis dan Perancangan ....................................................................................................... 13
3.2 1 Cross Site Scripting ........................................................................................................... 13
3.2.2 Penyebab Cross Site Scripting .......................................................................................... 14
3.2.3 Pencegahan Cross Scripting ............................................................................................. 14
3.3 Pengujian Ancaman Cross Site Scripting .......................................................................... 17
3.3.1 Pengujian Sebelum terjadi Cross Site Scripting ........................................................ 17
3.3.2 Pengujian Setelah terjadi Cross Site Scripting ................................................................. 19
BAB 4 KESIMPULAN DAN SARAN ........................................................................................................ 9



1
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Internet sebagai jaringan komunikasi global dapat dijadikan sebagai media dan
sumber informasi terkini, seperti ilmu pengetahuan, teknologi, hiburan, bisnis dan sumber
informasi lainnya. Kemudahan serta kenyamanan seperti ini menyebabkan internet selalu
digunakan.
Namun di balik kemudahan dan kenyamanan internet, ternyata ada satu aspek yang
saat ini masih kurang diperhatikan oleh pengguna internet, yaitu keamanan yang
merupakan salah satu aspek penting pada aplikasi web. Aspek ini juga kurang mendapat
perhatian dari para perancang dan pengelola aplikasi web serta berada di urutan setelah
tampilan, atau bahkan berada di urutan terakhir dari daftar yang dianggap penting, sehingga
menyebabkan banyak ancaman yang terjadi. Berdasarkan data dari Web Hacking Incidents
Database (WHID) pada tahun 2010, dari 75 jenis ancaman terhadap aplikasi web, sebanyak
9% adalah ancaman Cross Site Scripting. Ancaman Cross Site Scripting yang terjadi pada
tampilan aplikasi web. Salah satu penyebab ancaman ini adalah kurangnya metode Input
Encoding dalam proses penyaringan karakter sehingga mengizinkan karakter tertentu
dieksekusi. Kedua ancaman di atas menyulitkan para perancang aplikasi web untuk
mengetahui mekanisme ancaman yang terjadi.
Untuk mengurangi ancaman ini, dibutuhkan mekanisme pertahanan yang baik
sehingga sistem yang telah dibangun tidak hanya mempunyai desain yang bagus namun
mempunyai jaminan terhadap integritas data yang ada. Metode yang digunakan dalam
makalah ini adalah Validating Input. Validating Input adalah proses pengujian masukan
yang diterima oleh aplikasi terhadap standar yang telah didefinisikan. Metode ini
digunakan karena sesuai dengan bentuk ancaman yang disimulasikan.
Melalui makalah ini diharapkan bisa mendapatkan solusi terhadap ancaman yang
terjadi dan dapat membangun aplikasi web dengan memperhatikan alasan keamanan
sehingga tampilan dan integritas data dapat terjamin. Makalah ini diberi judul
2
PENGGUNAAN METODE VALIDATING INPUT SEBAGAI PENGAMANAN WEB
TERHADAP ANCAMAN CROSS SITE SCRIPTING.
1.2 Identifikasi Masalah

Identifikasi masalah dapat dirumuskan dalam pertanyaan sebagai berikut:
1. Sulitnya mengetahui ancaman yang terjadi pada aplikasi web.
2. Bagaimana membangun mekanisme pertahanan yang baik pada aplikasi web
menggunakan metode Validating Input.
1.3 Maksud dan Tujuan

Maksud dari penulisan tugas besar ini adalah untuk mensimulasikan ancaman
keamanan jaringan komputer pada aplikasi berbasis web.
Sedangkan tujuan yang akan dicapai dalam makalah ini adalah :
1. Mengetahui bagaimana mekanisme ancaman yang terjadi pada aplikasi web.
2. Mengimplementasikan metode Validating Input sebagai pengganti metode
Input Encoding pada ancaman Cross Site Scripting.
3. Menghasilkan rekomendasi pertahanan yang baik pada aplikasi web.









3
BAB 2 LANDASAN TEORI

2.1 Jaringan Komputer
Jaringan Komputer adalah sekelompok komputer otonom yang saling
berhubungan antara satu dengan lainnya menggunakan protokol komunikasi melalui
media komunikasi sehingga dapat saling berbagi informasi, program program,
penggunaan bersama perangkat keras seperti printer, harddisk, dan sebagainya. Selain itu
jaringan komputer bisa diartikan sebagai kumpulan sejumlah terminal komunikasi yang
berada diberbagai lokasi yang terdiri dari lebih satu komputer yang saling berhubungan.

2.2 Tipe Jaringan
Menurut fungsi komputer pada sebuah jaringan, maka tipe jaringan komputer
dapat dibedakan menjadi dua tipe yaitu :Jaringan peer to peer atau point to point Jaringan
client-server.
2.2.1 Jaringan Peer to Peer
Pada jaringan peer to peer setiap komputer yang terhubung pada jaringan dapat
berkomunikasi dengan komputer-komputer lain secara langsung tanpa melalui
komputer perantara. Pada jaringan tipe ini, sumber daya komputer terbagi pada seluruh
komputer yang terhubung dalam jaringan tersebut, baik sumber daya yang berupa
perangkat keras maupun perangkat lunak dan datanya.
Mengingat kondisi seperti di atas, maka sebuah komputer yang terhubung dalam
jaringan peer to peer pada prinsipnya mampu untuk bekerja sendiri sebagai sebuah
komputer stand alone. Untuk membangun jaringan seperti ini, dibutuhkan komputer-
komputer yang memiliki kemampuan yang setara karena keamanan dalam jaringan
tersebut diatur dan dikontrol oleh masing-masing komputer dalam jaringan tersebut. Tipe
jaringan seperti ini sesuai untuk membangun sebuah workgroup di mana masing-
masing pengguna komputer bisa saling berbagi pakai penggunaan perangkat keras
komputer dan pada umumnya di situ tidak begitu diperlukan pengaturan keamanan data
di antara anggota workgroup tersebut.

4



Gambar 2.1 Jaringan Peer to Peer
2.2.2 Jaringan Client-Server
Berbeda dengan jaringan peer to peer, pada jaringan client-server terdapat sebuah
komputer yang berfungsi sebagai server, sedangkan komputer-komputer yang lain
berfungsi sebagai client. Sesuai namanya maka komputer server berfungsi dan bertugas
melayani seluruh komputer yang terdapat dalam jaringan tersebut. Adapun bentuk
pelayanan yang diberikan komputer server ini adalah:
Disk sharing, yaitu berupa penggunaan kapasitas disk secara bersama- sama pada
komputer client.
Print sharing, yaitu berupa penggunaan perangkat printer secara bersama-
sama. Penggunaan perangkat-perangkat lain secara bersama, demikian pula dengan
data dan sistem aplikasi yang ada. Mengatur keamanan jaringan dan data dalam jaringan.
Mengatur dan mengontrol hak dan waktu akses perangkat-perangkat yang ada
dalam jaringan.
Pada sebuah jaringan komputer dimungkinkjan untuk digunakannya lebih dari
satu komputer server, bahkan dengan kemampuan dan fasilitas yang berbeda.
5
Sedangkan komputer-komputer client sesuai namanya menerima pelayanan dari
komputer server. Komputer-komputer ini disebut juga dengan workstation, yaitu
komputer di mana pengguna jaringan dapat mengakses dan memanfaatkan pelayanan
yang diberikan komputer server. Dalam sebuah jaringan komputer biasanya workstation
menggunakan komputer yang memiliki kemampuan lebih rendah dibandingkan
komputer server, meskipun tidak selaludemikian. Beberapa jaringan komputer
multiuser, seperti komputer mainframe, menggunakan dumb terminal sebagai
workstation-nya.


Gambar 2.2 Jaringan Client-Server


2.3 Internet
Internet, kependekan dari interconnection-networking, secara harfiah ialah
sistem global dari seluruh jaringan komputer yang saling terhubung menggunakan
standar Internet Protocol Suite (TCP/IP) untuk melayani miliaran pengguna di seluruh
dunia. TCP/IP digunakan sebagai protokol pertukaran paket (packet switching
communication protocol). Rangkaian jaringan komputer yang terbesar dinamakan
Internet.
6
Internet merupakan jaringan komputer yang dibentuk oleh Departemen
Pertahanan Amerika Serikat di tahun 1969, melalui proyek ARPA yang disebut
ARPANET (Advanced Research Project Agency Network), di mana mereka
mendemonstrasikan bagaimana dengan hardware dan software komputer yang
berbasis UNIX dapat melakukan komunikasi dalam jarak yang tidak terhingga
melalui saluran telepon. Proyek ARPANET merancang bentuk jaringan, kehandalan,
seberapa besar informasi dapat dipindahkan, dan akhirnya semua standar yang mereka
tentukan menjadi cikal bakal pembangunan protokol baru yang sekarang dikenal
sebagai TCP/IP (Transmission Control Protocol/Internet Protocol).

2.4 Situs
Sebuah situs web sering pula disingkat situs; website, site adalah sebutan bagi
sekolompok halaman (domain name) atau subdomain di World Wide Web (WWW) di
internet. WWW terdiri dari situs web di akses dari sebuah URL yang menjadi "akar"
(root), yang disebut homepage (halaman induk sering diterjemahkan menjadi beranda,
halaman muka), dan biasanya disimpan dalam server yang sama. Tidak semua situs
web dapat diakses dengan gratis beberapa situs web melakukan pembayaran agar dapat
menjadi pelanggan misalnya situs-situs berita, layanan surat elektronik (e-mail), dan lain-
lain.
Terminologi dari website adalah kumpulan dari halaman-halaman situs, yang
biasanya terangkum dalam sebuah domain atau subdomain di dalam World Wide Web
(WWW) pada internet. Sebuah web page adalah sebuah dokumen yang tertulis dalam
format HTML (Hyper Text Markup Language), yang hampir selalu bisa diakses melalui
HTTP, yaitu protokol yang menyampaikan informasi dari server website-website tersebut
dapat membentuk sebuah jaringan informasi yang sangat besar. Halaman-halaman dari
website akan bisa diakses melalui URL yang biasa disebut homepage. URL ini mengatur
halaman-halaman situs untuk menjadi sebuah hirarki, meskipun, hyperlink yang ada di
halaman tersebut mengatur para pembaca dan memberitahukan mereka susunan
keseluruhan dan bagian arus informasi ini berjalan. Beberapa website membutuhkan
subskripsi (data masukan) agar para user bisa mengakses situs tersebut. Website ditulis,
7
atau secara dinamik di konversikan menjadi HTML dan diakses melalui sebuah program
software yang bisa disebut dengan web browser, yang dikenal juga dengan HTTP
Client. Halaman web dapat dilihat atau diakses melalui jaringan komputer dan internet,
perangkatnya bisa saja berupa personal komputer, laptop komputer, PDA ataupun
Cellphone. Sebuah website dibuat di dalam sebuah sistem komputer yang dikenal
dengan web server juga disebut dengan HTTP Server, dan pengertian ini juga bisa
menunjukkan pada software yang dipakai.

2.5 Tipe-tipe Ancaman Keamanan
Fungsi sistem komputer dapat digunakan sebagai dasar untuk menentukan
model tipe ancaman dari suatu sistem komputer. Berdasarkan fungsi sistem komputer
sebagai penyedia informasi, ancaman terhadap sistem komputer dikategorikan menjadi
empat, yaitu:
1. Interruption, merupakan suatu ancaman terhadap availability, informasi atau data
yang ada dalam sistem komputer dirusak, dihapus, sehingga jika dibutuhkan
maka sudah tidak ada lagi.
2. Interception, merupakan ancaman terhadap kerahasiaan (secrecy). Informasi yang
ada di dalam sistem disadap oleh orang yang tidak berhak.
3. Modification,merupakan ancaman terhadap integritas. Orang yang tidak berhak
berhasil menyadap lalu-lintas informasi yang sedang dikirim lalu mengubahnya
sesuai keinginan orang itu.
4. Fabrication, merupakan ancaman terhadap integritas. Orang yang tidak berhak
berhasil meniru atau memalsukan suatu informasi sehingga orang yang
menerima informasi tersebut menyangka informasi tersebut berasal dari orang
yang dikehendaki oleh si penerima informasi tersebut.



8
2.6 Tipe Ancaman Pada Aplikasi Web
Berikut ini adalah berbagai jenis model serangan yang terjadi pada aplikasi web:
1. SQL Injection
Pada dasarnya SQL Injection merupakan cara mengeksploitasi celah keamanan
yang muncul pada level atau layer database dan aplikasinya. Celah keamanan
tersebut ditunjukkan pada saat penyerang memasukkan nilai string dan karakter-
karakter contoh lainnya yang ada dalam instruksi SQL; perintah tersebut hanya
diketahui oleh sejumlah kecil individu yang berusaha untuk mengeksploitasinya.
Karena tipe data yang dimasukkan tidak sama dengan yang seharusnya, maka terjadi
sebuah aktivitas liar yang tidak terduga yang dapat mengakibatkan individu yang tidak
berhak dapat masuk ke dalam sistem yang telah terproteksi. Dikatakan sebagai sebuah
injeksi karena aktivitas penyerangan dilakukan dengan cara memasukkan string
khusus untuk melewati filter logika hak akses pada website atau sistem komputer yang
dimaksud.
2. Cross Site Scripting
Cross Site Scripting (XSS) adalah suatu serangan dengan menggunakan
mekanisme injection pada aplikasi web dengan memanfaatkan metode HTTP GET
atau HTTP POST. Cross Site Scripting biasa digunakan oleh pihak-pihak yang berniat
tidak baik dalam upaya mengacaukan konten website dengan memasukkan naskah
program sebagai bagian dari teks masukan melalui formulir yang tersedia.
XSS memanfaatkan lubang kelemahan keamanan yang terjadi pada penggunaan
teknologi dynamic page. Serangan jenis ini dapat diakibatkan oleh kelemahan yang
terjadi akibat ketidakmampuan server dalam memvalidasi input yang diberikan oleh
pengguna. Hal ini memungkinkan halaman yang dihasilkan menyertakan perintah yang
sebenarnya tidak diperbolehkan.
3. Cross Site Request Forgery (CSRF)
Cross Site Request Forgery adalah salah satu vulnerability pada Web
Application yang bekerja dengan cara mengeksploitasi suatu task dari sebuah Web
dengan memanfaatkan Autentikasi yang dimiliki oleh korban. CSRF juga dikenal
9
dengan sebutan "one link" attack , karena pada implementasinya, sang attacker hanya
butuh meng-inject-kan suatu link yang berisi suatu web task URL pada halaman tertentu
untuk dibuka oleh calon korban, agar ketika si korban membuka halaman tersebut ,
secara otomatis si korban akan mengeksekusi link URL yang telah di- inject-kan sang
attacker sebelumnya. Web Application yang vulnerable terhadap CSRF adalah Web
Application yang memiliki suatu URL Request (baik dengan menggunakan method GET
maupun POST) yang statis.
4. Web Defacement
Serangan dengan tujuan utama merubah tampilah sebuah website baik halaman
utama maupun halaman lain terkait dengannya diistilahkan sebagai Web
Defacement. Hal ini biasa dilakukan oleh para attacker atau penyerang karena merasa
tidak puas atau tidak suka kepada individu, kelompok, atau entitas tertentu sehingga
website yang terkait dengannya menjadi sasaran utama.
Pada dasarnya deface dapat dibagi menjadi dua jenis berdasarkan dampak pada
halaman situs yang terkena serangan terkait. Jenis pertama adalah suatu serangan dimana
penyerang mengubah satu halaman penuh tampilan depan. Untuk melakukan hal tersebut
biasanya seorang 'defacer' harus berhubungan secara 'langsung' dengan mesin komputer
terkait. Hal ini hanya dapat dilakukan apabila yang bersangkutan sanggup
mendapatkan hak akses penuh terhadap mesin, baik itu root account atau sebagainya
yang memungkinkan defacer dapat secara interaktif mengendalikan seluruh direktori
terkait. Hal ini umumnya dimungkinkan terjadi dengan memanfaatkan kelemahan pada
sejumlah services yang berjalan di sistem komputer. Jenis kedua adalah suatu
serangan dimana penyerang hanya mengubah sebagian atau hanya menambahi halaman
yang di-deface. Artinya yang bersangkutan men- deface suatu situs tidak secara penuh,
bisa hanya dengan menampilkan beberapa kata, gambar atau penambahan script yang
mengganggu. Dampaknya biasanya adalah menghasilkan tampilan yang kacau atau
mengganggu.

11
5. Phising
Phishing merupakan sebuah proses pra-serangan atau kerap dikatakan sebagai
soft attack dimana sang penyerang berusaha mendapatkan informasi rahasia dari target
dengan cara menyamar menjadi pihak yang dapat dipercaya atau seolah-olah
merupakan pihak yang sesungguhnya. Contohnya adalah sebuah email yang berisi suatu
informasi yang mengatakan bahwa sang pengirim adalah dari Divisi Teknologi
Informasi yang sedang melakukan upgrading sistem; dimana untuk memperlancar
tugasnya, sang penerima email diminta untuk segera mengirimkan kata kunci password
dari user name yang dimilikinya. Atau situs sebuah bank palsu yang memiliki tampilan
sama persis dengan situs aslinya namun memiliki alamat URL yang mirip- mirip,
sehingga diharapkan sang nasabah akan khilaf dan secara tidak sadar memasukkan
kata kunci rahasianya untuk mengakses rekening yang dimaksud. Serangan phishing
ini kerap dikategorikan sebagai sebuah usaha social engineering, yaitu memanfaatkan
pendekatan sosial dalam usahanya untuk mendapatkan informasi rahasia sebagai alat
untuk melakukan penyerangan di kemudian hari. Modus operandi yang paling banyak
ditemui saat ini adalah usaha phishing melalui S MS pada telepon genggam, dimana
sudah banyak korban yang harus kehilangan uangnya karena diminta untuk melakukan
transfer ke rekening tertentu dengan berbagai alasan yang seolah-olah masuk akal
sehingga berhasil menjebak sang korban.







12
BAB 3 HASIL DAN PEMBAHASAN

3.1 Data Penelitian
3.1.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan adalah studi literatur yaitu bahan-
bahannya diambil dari internet dan buku-buku yang berkaitan dengan keamanan web
service, dan topik-topik yang masih berhubungan.
1. Metode Kepustakaan
Penelitian dengan metode ini dimaksudkan untuk mendapatkan konsep tertulis
mengenai bagaimana merancang keamanan suatu sistem informasi dan bagaimana cara
mengimplementasikan sistem keamanan tersebut menggunakan pemrograman.
2. Browsing
Browsing yaitu melakukan pengumpulan data dengan cara mencari fitur-fitur web
service melaui site-site internet yang berkenaan dengan materi yang diambil. Metode
browsing dirasa sangat efektif dimana dengan mudahnya mendapatkan sumber-sumber
yang berkenaan dengan tema.
3.1.2 Perangkat Keras
Perangkat keras yang digunakan dalam penelitian ini adalah komputer kelas
desktop yang secara rinci adalah sebagai berikut :
1. Processor Intel Pentium 4 2,0 Ghz
2. Motherboard Gygabyte P4848P
3. Hard Disk Samsung 160 Giga
4. RAM Visipro 512 MB DDR
5. VGA Ati Radeon 9200, 128 MB
13
3.1.3 Perangkat Lunak

Perangkat lunak yang digunakan dalam proses pengembangan web service ini
adalah:
1. Windows xp sp 2, sebagai sistem operasi.
2. AppServ 2.5.4a, yang mencakup apache webServer, php dan mysql.
3. PHP, XML dan HTML, sebagai bahasa pemrograman
4. phpMyAdmin, sebagai koneksi ke database.
5. PHP Designer 2005, sebagai editor.

3.1.4 Metode Pengembangan Sistem

Metode pengembangan sistem yang digunakan pada penelitian ini adalah dengan
menerapkan model System Development Life Cycle (SDLC). SDLC merupakan
metodologi yang digunakan untuk mengembangkan, memelihara, dan menggunakan sistem
informasi. Karakteristik model SDLC ini adanya feedback (umpan balik) tiap fasenya
sehingga mampu mengakomodasikan perubahan setiap prosesnya.

3.2 Analisis dan Perancangan

3.2 1 Cross Site Scripting
Cross Site Scripting adalah metode ancaman yang memaksa situs web untuk
menampilkan kode berbahaya, yang dijalankan pada browser web pengguna. Mekanisme
ancaman dilakukan dengan memanfaatkan kesalahan pada kode program yang tidak
difilter. Kode tersebut akan dimasukkan ke dalam webform, di antaranya form buku tamu
atau form pencarian.



14
3.2.2 Penyebab Cross Site Scripting
Cross Site Scripting terjadi karena tidak adanya penangan nilai masukan pada
variabel sehingga masukan tersebut dieksekusi begitu saja sesuai nilai yang ada. Apabila
variabel tersebut tidak di filter, maka semua nilai masukan akan dieksekusi.

3.2.3 Pencegahan Cross Scripting

Langkah yang dapat ditempuh untuk mencegah ancaman Cross Site Scripting
adalah dengan Validating Input. Validating Input adalah proses pengujian masukan yang
diterima oleh aplikasi terhadap standar yang telah didefinisikan. Ada dua pendekatan yang
bisa digunakan yaitu Whitelist Validation dan Blacklist Validation.
1. Whitelist Validation
Whitelist Validation biasa disebut juga dengan Positive Validation adalah metode
yang hanya menerima masukan yang tidak berbahaya bagi sistem. Hal ini dapat melibatkan
validasi sesuai dengan panjang, jenis yang diharapkan atau ukuran, rentang numerik, atau
standar format lain sebelum menerima masukan untuk diproses lebih lanjut.
Data Type
Tipe data dalam Whitelist Validation harus sesuai dengan yang diharapkan.
Data Type digunakan untuk mengecek jenis data. Apakah jenis data sudah benar
atau tidak, jika nilai yang seharusnya numerik, apakah numerik atau tidak.
Data Size
Data Size digunakan untuk mengecek ukuran data. Jika data adalah string,
apakah panjang string tersebut sesuai atau tidak. Apabila berupa angka, apakah
angka tersebut terlalu besar dari ukuran yang telah ditentukan atau tidak.
Data Range
Data Range digunakan untuk mengecek rentang data. Rentang data tidak boleh
melebihi dari batas rentang yang telah ditentukan.

15
Data Content
Isi data harus ditentukan. Apakah data yang dimasukkan sesuai dengan aturan
yang telah ditentukan atau tidak. Misalnya, apakah data tersebut memenuhi
ketentuan dari sebuah kode pos, atau apakah data itu hanya berisi karakter biasa
saja. Metode umum dalam melakukan validasi konten adalah dengan
menggunakan Regular Expression (RegEx).
2. Blacklist Validation
Blacklist Validation biasa disebut juga dengan Negative Validation adalah metode
yang menolak masukan yang berbahaya bagi sistem. Pada umumnya metode ini melibatkan
masukan yang mengandung karakter, atau pola yang dianggap bisa membahayakan sistem.
Pendekatan ini umumnya lebih lemah dari Whitelist Validation karena karakter atau pola
yang berpotensi membahayakan sistem sangat banyak, dan karakter tersebut kemungkinan
akan selalu bertambah, tidak lengkap, dan sulit untuk selalu diperbaharui.
Metode umum dalam menerapkan Blacklist Validation juga menggunakan Regular
Expression, yang menyimpan karakter yang dapat membahayakan sistem, seperti contoh
berikut:
'|%|--|;|/\*|\\\*|_|\[|@|xp_
Secara umum, Whitelist Validation mempunyai kelebihan dari Blacklist Validation.
Ketika ada set karakter besar yang akan digunakan dalam aplikasi, misalnya bahasa Cina
dan Jepang, maka metode Blacklist Validation akan sulit diterapkan karena terdapat input
data yang kompleks, dan input data tersebut tidak dapat ditentukan dengan mudah. Dalam
kasus ini, Whitelist Validation merupakan metode yang paling tepat untuk digunakan.
Selain itu tambahkan fungsi pengontrol lain seperti pengkodean output untuk memastikan
bahwa informasi yang akan dikirimkan ke database dapat dilakukan dengan benar.
contoh berikut merupakan merupakan halaman web yang menggunakan form. Data
yang dikirimkan berupa nama pengguna. Data dikirimkan dengan menggunakan metoda
get.

16


Dengan input <script>alert(Ho ho ho)</script> pada kolom nama user maka akan
terjadi hal seperti dibawah, dan itu merupakan celah keamanan yang bisa di manfaatkan
oleh attacker.







17

2.3 Pengujian Ancaman Cross Site Scripting
2.3.1 Pengujian Sebelum terjadi Cross Site Scripting
Pada pengujian pertama kita coba memakai tag html pada kolom komentar sebagai berikut :
<h1>weeeeeeew</h1>

Maka hasil yang didapatkan tag html tersebut ditampilkan sebagai berikut :


18
Percobaan kedua dengan memasukan tag <a href="http://facebook.com/cvbn45"><img
src=http://3.bp.blogspot.com/-5bc5gdahAy8/TsvgNhLzQNI/AAAAAAAAAHI/0OLDrRM7wzs
/s980/head.png"></a> :


Maka hasil yang diperoleh adalah muncul gambar dan link yang ada didalam tag di tampilkan pada
kolom komentar.





19
Dan jika kita lihat pada databasenya maka isi dari kolom komentar akan disimpan sama persis
seperti tanpa ada penyaringan terlebih dahulu. tabelnya adalah sebagai berikut



3.3.2 Pengujian Setelah terjadi Cross Site Scripting
Dengan menambahkan script untuk input encoding dan untuk menghilangkan tag html
seperti dibawah, maka serangan Cross Site Scripting dapat di cegah, berikut script untuk
input encoding dan untuk menghilangkan tag html:







20
Kita coba memasukan tag html persis sebelum kita menambahkan script input validating seperti
dibawah ini :

Maka hasil yang diperoleh adalah tag-tag html akan di saring terlebih dahulu dan akan dirubah
sehingga serangan Cross Site Scripting tidak bisa dilakukan.



21
Berikut adalah isi dari tabel yang telah dilakukan validating input, beberapa string atau tag html
telah dirubah sehingga tidak membahayakan web / serangan Cross Site Scripting tidak dapat
dilakukan.



BAB 4 KESIMPULAN DAN SARAN

Cross site scripting merupakan kelemahan yang dapat dieksploitasi dengan mudah.
Pemilihan metoda pencegahan disesuiakan dengan kebutuhan dari penyedia layanan yang
ada. Yang terpenting, penyedia layanan mampu menjamin keamanan data dari pengguna
yang ada. Pengguna sebagai konsumen harus lebih waspada dalam melakukan proses
browsing. Selain itu pengguna juga harus proaktif, mencari informasi lebih lanjut mengenai
sistem keamanan dari penyedia layanan yang akan atau sedang ia gunakan. Kesimpulan
yang diperoleh adalah Metode Validating Input merupakan metode yang dapat
menanganiancaman Cross Site Scripting.

Anda mungkin juga menyukai