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.