IMPLEMENTASI WEB VULNERABILITY SCANNER SEBAGAI ADD ONS MOZILLA FIREFOX.

100  Download (1)

Teks penuh

(1)

SKRIPSI

Oleh :

ARDI MARTONO

0734010030

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

(2)

SKRIPSI

Diajukan Untuk Memenuhi Sebagian Per syar atan Dalam Memperoleh Gelar Sar jana Komputer

J ur usan Teknik Infor matika

Oleh :

ARDI MARTONO

0734010030

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

(3)

Ar di Mar tono, 2011. Implementasi Web Vulnerability Scanner sebagai Add

Ons Mozilla Firefox (dibimbing oleh Nur Cahyo Wibowo,S.Kom.,M.Kom

dan Achmad J unaidi, S.Kom)

Internet pada era ini, sudah menyebar di semua kalangan masyarakat. Sehingga para pengguna internet masih belum memperhatikan segi keamanan dari sebuah website, khususnya mengenai penyerangan SQL Injection dan XSS

Injection. Sehingga perlu dikembangkan aplikasi Web Vurnerability Scanner

sebagai Add Ons Mozilla Firefox dengan model pendeteksian yang bisa mengetahui kelemahan website tersebut. Sehingga website yang masih mempunyai kelemahan terhadap SQL Injection dan XSS Injection dapat segera di deteksi dan diperbaiki.

Dalam Tugas akhir ini, aplikasi dirancang dengan bahasa pemrograman

JavaScript dan HTML. Aplikasi ini mencari perbedaan antara proses URL asli

dan URL setelah mengalami pendeteksian. Aplikasi tersebut melakukan scanning secara Online. Hasil scanning ditampilkan langsung oleh aplikasi untuk dipergunakan serta untuk menambah wawasan tentang pengemasan aplikasi secara sederhana.

Dilakukan ujicoba terhadap aplikasi ini dengan beberapa website. Dari beberapa website yang diacak untuk dilakukan testing dan ditemukan rata-rata hasil proses lebih banyak dibandingkan hasil akhir dari perolehan pendeteksian kelemahan.

(4)

Alhamdulillah, dengan mengucapkan puji dan syukur kehadirat Allah

SWT atas rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas

akhir ini dengan judul “IMPLEMENTASI WEB VULNERABILITY SCANNER

SEBAGAI ADD ONS MOZILLA FIREFOX” yang merupakan persyaratan dalam

memperoleh gelar Sarjana Komputer di Universitas Pembangunan Nasional

“VETERAN” Jatim.

Penulis mengucapkan terima kasih yang sebesar-besarnya kepada

pihak-pihak yang telah membantu baik materiil maupun dorongan spirituil untuk

menyelesaikan penulisan kerja praktek ini, terutama kepada:

1. Orang Tua dan keluarga atas motivasi dan doanya sehingga semua yang

dikerjakan dapat berjalan lancar.

2. Bapak Achmad Junaidi, S.Kom, dan Bapak Nur Cahyo Wibowo,

S.Kom,.M.Kom. selaku Dosen Pembimbing yang telah meluangkan waktu

untuk memberikan bimbingan selama proses pelaksanaan Tugas Akhir

penulis.

3. Bapak Prof. Dr. Ir. Teguh Soedarto, MP, selaku Rektor UPN “Veteran” Jatim.

4. Bapak Ir. Sutiyono, MT selaku DEKAN FTI UPN “VETERAN” Jatim.

5. Ibu Dr. Ir. Ni Ketut Sari, MT. Selaku Kepala Jur. Teknik Informatika, FTI

UPN “VETERAN” Jatim

6. Special to: Aditya Wardana yang banyak sekali memberi motivasi dan

(5)

7. Dosen-dosen Teknik Informatika dan Sistem Informasi, staff dan segenap

akademika UPN “VETERAN” Jatim.

8. Teman-teman baik saya yang setia menemani mencari inspirasi

gigih,Nanang,Yudith,Yursa,Malik,Sueb,Trea,Faisol,Novan,Rizal,Tobib,Candr

a,Bayu,Adi,Rezky,Dadus,Rahendra,Erik,Adit.

Penulis menyadari sepenuhnya masih banyak terdapat kekurangan dalam

penulisan Tugas Akhir ini. Oleh sebab itu kritik serta saran yang membangun dari

pembaca sangat membantu guna perbaikan dan pengembangan di masa yang akan

datang.

Akhirnya dengan ridho Allah penulis berharap semoga Tugas Akhir ini

dapat memberikan manfaat bagi pembaca sekalian terutama mahasiswa di bidang

komputer.

Surabaya, 09 Oktober 2011

(6)
(7)

3.5 Perancangan Antar Muka ... 33

3.5.1 Blok Arsitektur Sistem………... 33

3.5.2 Tampilan Antar Muka Aplikasi ... 34

3.5.3 Perancangan Uji Coba ... 35

BAB IV IMPLEMENTASI ... 38

4.1 Implementasi Sistem ... 38

4.1.1 Interface utama ... 38

4.1.2 Interface Scanning SQL Injection pada URL ... 39

4.1.3 Interface Scanning SQL Injection pada PAGE ... 41

4.1.4 Interface Scanning SQL Injection pada SITE ... 43

4.1.5 Interface Scanning XSS Injection pada URL ... 47

4.1.6 Interface Scanning XSS Injection pada PAGE ... 48

4.1.7 Interface Scanning XSS Injection pada SITE ... 51

4.1.8 Interface Get Info about Domain Website ... 54

4.1.9 Interface Get Info about Client Connection ... 56

4.1.10 Interface Get Information about Cookie ... 58

4.1.11 Interface Scanning Terakhir ... 60

BAB V PENGUJIAN DAN ANALISIS ... 61

5.1 Lingkup Pengujian ... 61

5.2 Uji Coba ... 61

5.2.1 Aplikasi Web Vulnerability Scanner ... 61

5.2.2 Proses Scanning Secara Online ... 62

1) Scanning SQL Injection pada URL ... 64

2) Scanning SQL Injection pada PAGE ...;.. 66

3) Scanning SQL Injection pada SITE secara cepat ... 68

4) Scanning SQL Injection pada SITE secara penuh ... 70

5) Scanning XSS Injection pada URL ... 72

(8)

8) Scanning XSS Injection pada SITE secara

penuh ... 78

9) Get Info about Domain Website ... 81

10) Get Info about Client Connection ... 82

11) Get Information about Cookie ... 83

5.3 Analisis ... 84

BAB VI PENUTUP ... 86

6.1 Kesimpulan ... 86

6.2 Saran ... 86

(9)

Halaman

Tabel 5.1 Daftar alamat website uji coba ……... 63

(10)

Halaman

Gambar 2.1 Informasi yang valid dari website (SQL)... 10

Gambar 2.2 Informasi yang tidak valid dari website (SQL)... 10

Gambar 2.3 Informasi yang valid dari website (XSS)... 12

Gambar 2.4 Informasi yang tidak valid dari website .(XSS)…... 13

Gambar 2.5 Coding XML register ESET….. ... 15

Gambar 2.6 Coding PHP penyimpanan LOG... 15

Gambar 2.7 Fake Register ESET………... 16

Gambar 2.8 Hasil LOG pada fake register………... 17

Gambar 2.9 Komponen pendukung Add-Ons... 18

Gambar 2.10 Coding XML pada browser.xul……... 18

Gambar 2.11 Komponen javascript pendukung ... 19

Gambar 2.12 Tampilan icon pendukung………... 19

Gambar 2.13 Tampilan instalasi Add-Ons………... 20

Gambar 2.13 Tampilan hasil instalasi………... 20

Gambar 3.1 Perancangan system secara global………... 22

Gambar 3.2 Diagram alur scan XSS………... 25

Gambar 3.3 Diagram alur scan URL...……... 27

Gambar 3.4 Diagram alur scan PAGE………... 28

Gambar 3.5 Diagram alur scan SITE………. ... 30

Gambar 3.6 Diagram alur scan SITE-fast………... 31

(11)

Gambar 3.10 Tampilan antar muka aplikasi………... 34

Gambar 3.11 Tampilan antar muka hasil scanning………. 35

Gambar 4.1 Tampilan menu utama……… 38

Gambar 4.2 Halaman scanning SQL injection (URL)... 39

Gambar 4.3 Potongan Source Code SQL (URL)... 40

Gambar 4.4 Halaman Scanning SQL (page)…………... 41

Gambar 4.5 Potongan Source Code SQL (page)... 42

Gambar 4.6 Halaman Scanning SQL (SITE_fast)... 43

Gambar 4.7 Halaman Scanning SQL (SITE_full)... 44

Gambar 4.8 Potongan Code Scanning SQL Site………... 45

Gambar 4.9 Halaman Scanning XSS (URL)………... 47

Gambar 4.10 Potongan Code Scanning XSS (URL)………. ... 47

Gambar 4.11 Halaman Scanning XSS (PAGE)……... 48

Gambar 4.12 Potongan Code Scanning XSS(PAGE)…... 49

Gambar 4.13 Halaman Scanning XSS (SITE_fast)……... 51

(12)

Gambar 5.1 Tampilan menu utama Addons. ... 60

Gambar 5.2 Tampilan sebelum diinjeksi oleh SQL (URL)…... 64

Gambar 5.3 Tampilan sesudah diinjeksi SQL ... 64

Gambar 5.4 Tampilan sebelum diinjeksi SQL (page) ... 65

Gambar 5.5 Tampilan hasil scanning SQL (page) …... 66

Gambar 5.6 Tampilan setelah diinjeksi ... 66

Gambar 5.7 Tampilan sebelum diinjeksi SQL SITE (fast)... 67

Gambar 5.8 Tampilan hasil scanning SQL SITE (fast)... ... 68

Gambar 5.9 Tampilan setelah diinjeksi ... 68

Gambar 5.10 Tampilan sebelum diinjeksi XSS SITE (FULL) ... 69

Gambar 5.11 Hasil Scanning XSS Injection pada SITE (full) ... 70

Gambar 5.12 Tampilan diinjeksi XSS SITE (full) ... 70

Gambar 5.13 Tampilan sebelum diinjeksi XSS (URL) ... 72

Gambar 5.14 Hasil scanning XSS... 73

Gambar 5.15 Tampilan sesudah diinjeksi XSS (URL)... ... 73

Gambar 5.16 Tampilan sebelum diinjeksi XSS (page) …………... 73

Gambar 5.17 Tampilan hasil scanning XSS (page) ………... 74

Gambar 5.18 Tampilan sesudah diinjeksi XSS(page) ………... 75

Gambar 5.19 Tampilan sebelum diinjeksi XSS SITE (fast)... 76

Gambar 5.20 Tampilan hasil scanning XSS SITE (fast)... 76

Gambar 5.21 Tampilan sesudah diinjeksi XSS SITE (fast) …... 77

(13)

Gambar 5.25 Tampilan Informasi website... 80

Gambar 5.26 Tampilan info client………... 81

Gambar 5.27 Hasil get cookie………... 82

(14)

PENDAHULUAN

1.1Latar belakang

Di zaman yang semakin maju seperti sekarang ini perkembangan

teknologi internet telah menyebar diseluruh dunia dan kita mengenal telah

mengenal yaitu website, dimana website ini sudah meluas diseluruh dunia.

Bahkan kita bisa memanfaatkan sebuah teknologi internet untuk mengakses

website tersebut dan website tersebut dapat diakses dari berbagai lapisan

masyarakat dan usia, sudah bisa menggunakan fasilitas-fasilitas dalam

browsing dan download. Dalam hal ini akan membahas tentang internet

adalah sistem global dari seluruh jaringan komputer yang saling terhubung

menggunakan standar untuk melayani para pengguna diseluruh dunia. Banyak

dari para user internet sekarang ini belum menyadari tentang segi

keamanannya.

Untuk mengantisipasi adanya tindakan yang merugikan keamanan web,

user minimal harus mengetahui beberapa konsep, yaitu memastikan siapa

yang diajak untuk berkomunikasi di dunia internet, melindungi data-data yang

sangat penting, dan memastikan bahwa web yang diakses aman untuk

melakukan browsing, karena apabila user terlalu bebas dalam memberikan

informasi, maka hal terbesar adalah pengambilan informasi secara paksa atau

lebih dikenal dengan hacking.

Vulnerability scanner adalah alat yang digunakan untuk mengecek sebuah

website atau computer pada sebuah jaringan dan situs internet untuk diketahui

(15)

scanner ini adalah alat untuk melihat port pada komputer tertentu untuk

mengakses komputer, dan kadang-kadang akan mendeteksi program nomor

versinya.

Sehingga diberikan firewall untuk melindungi komputer dari penyusup

dengan membatasi akses ke port, seorang hacker web biasanya menggunakan

beberapa metode yang diyakini bisa mendeteksi kelemahan sebuah website

yakni dengan metode SQL injection dan metode XSS.

Seiring perkembangan zaman yang semakin pesat terdapat beberapa cara

yang lebih sederhana untuk mengemas web vulnerability scannerini menjadi

lebih mudah untuk digunakan yakni dengan menjadikan web tersebut sebagai

add-onssebuah browser. Dimana tujuan dari pembuatan add-ons ini adalah membantu user dan developer website untuk lebih berfokus kepada tingkat

keamanan sebuah web.

1.2Rumusan Masalah

Dari latar belakang yang telah dijelaskan untuk membuat sebuah Add Ons

pada browser Mozilla firefox dengan menerapkan proses Vulnerability scanner

terdapat rumusan masalah. Adapun beberapa permasalahan yang ada sebagai

berikut:

a. Bagaimana mengemas suatu website kedalam sebuah addons yang

menerapkan proses vulnerability scanner yang dapat mendeteksi

kelemahan website.

b. Bagaimana addons tersebut dapat menerapkan pola pendeteksian

kelemahan sebuah web terhadap SQL Injection dan XSS (Cross Site

(16)

c. Bagaimana add-ons tersebut bisa menampilkan hasil dari Vulnerability

Scanner untuk dapat diketahui oleh user.

1.3Batasan Masalah

Dalam penyusunan tugas akhir ini, untuk mengatasi permasalahan yang

ada maka disusun beberapa batasan masalah sebagai berikut :

a. Aplikasi ini mendeteksi alamat URL pada sebuah website yang

memiliki kelemahan.

b. Aplikasi web yang dapat discan adalah alamat website yang dituliskan

kepada tag HTML dengan penulisan url yang disesuaikan dengan

penulisan html tersebut.

c. Kelemahan yang dibahas adalah menggunakan SQL injection dan

XSS.

d. Browser yang digunakan adalah Mozilla Firefox 3.6

1.4Tujuan Penelitian

Adapun tujuan dari penelitian Tugas akhir ini yakni membuat sebuah

add-ons vulnerability scanner yang dapat digunakan pada Browser Mozilla Firefox

yang membantu developer dan user untuk mengetahui kelemahan sebuah

website. Serta memberikan wawasan tentang pengemasan suatu aplikasi

kedalam bentuk yang sederhana sehingga lebih efisien dan mudah untuk

digunakan.

1.5Manfaat Penelitian

Manfaat yang dapat diambil dari pembuatan add-ons vulnerability scanner:

a. Diharapkan untuk selanjutnya penyedia website lebih mementingkan segi

(17)

b. Mengenai segi keamanan tersebut pembuat website minimal

memperhatikan script yang akan dibuat agar para hacker tidak dapat

menembus web tersebut.

c. Kepada user dan developer sebagai penambahan wawasan bahwa

vulnerability scanner ini tidak hanya dibuat secara web tetapi juga dapat

dikemas dengan sederhana menggunakan add-ons pada sebuah browser

Mozilla Firefox.

1.6Metode Penelitian

Metode yang dilaksanakan dalam penelitian ini adalah.

a. Studi Literatur

Dilakukan dengan cara mencari segala macam informasi secara riset

keperpustakaan dan mempelajari buku-buku yang berhubungan dengan

masalah yang dihadapi, sehingga didapatkan sebuah materi serta

literatur yang jelas dan akurat.

b. Pengumpulan dan Analisa Data

Pengumpulan data dilakukan dengan cara : observasi, identifikasi dan

klasifikasi melalui studi literatur. Dari pengumpulan data tersebut

dapat dilakukan analisa data yaitu dalam proses pembuatan add ons

vulnerability scanner pada mozilla firefox.

c. Perancangan Program

Melakukan analisa awal tentang add ons yang akan dibuat yaitu suatu

pemecahan masalah yang dilakukan melalui system online dengan cara

pembuatan add ons vulnerability scanner pada Mozilla firefox dimana

(18)

dituliskan pada halaman browser serta memberikan hasil output dari

proses hasil scan yang dihasilkan oleh add ons tersebut yang dapat

dimanfaatkan.

d. Pengujian dan Analisa

Pengujian dan analisa dimaksudkan untuk mengetahui sejauh mana

sistem yang dibuat pada proyek akhir ini dapat berfungsi sesuai dengan

proses sistem yang diharapkan.

e. Kesimpulan

Dibuat kesimpulan dari pengujian sistem tugas akhir dengan menguji

apakah hasilnya sesuai dengan yang diharapkan pada tujuan tugas

akhir.

1.7.Sistematika Penulisan

Dalam laporan tugas akhir ini, pembahasan disajikan dalam enam bab

dengan sitematika pembahasan sebagai berikut :

BAB I PENDAHULUAN

Berisi latar belakang yang menjelaskan tentang tugas akhir yang

dilakukan, rumusan masalah, tujuan, manfaat dan sistematika

penulisan yang digunakan dalam laporan kerja praktek ini.

BAB II TINJ AUAN PUSTAKA

Berisi tentang materi-materi penunjang pengerjaan tugas akhir tersebut.

BAB III PERANCANGAN

Berisi tentang perancangan tugas akhir dari berupa sebuah diagram

(19)

BAB IV IMPLEMENTASI

Berisi tentang implementasi addons yang telah dikerjakan sebelumnya

yang didalamnya berisi tentang interface dan beberapa potongan coding

program.

BAB V PENGUJ IAN DAN ANALISA

Pada babi ni akan dijelaskan tentang skenario penyerangan terhadap

addons vulnerability scanner pada sebuah website yang diduga memiliki

kelemahan dan memiliki celah untuk di hack.

BAB VI PENUTUP

Bab ini berisi tentang kesimpulan yang dapat diambil dari keseluruhan isi

dari laporan dan tugas akhir serta Saran yang disampaikan penulis demi

kesempurnaan sistem yang lebih baik.

DAFTAR PUSTAKA

Pada bagian ini akan dipaparkan tentang sumber-sumber literatur yang

(20)

TINJ AUAN PUSTAKA

2.1Seja rah Web Dan Ser ta Br owser

Sejarah web browser dimulai pada akhir tahun 80-an, ketika berbagai

teknologi baru menjadi dasar pembuatan web browser pertama di dunia,

WorldWideWeb(WWW), oleh Tim Berners-Lee pada tahun 1991.Browser

tersebut menggabungkan beberapa teknologi software dan hardware yang

sudah diciptakan maupun masih baru diciptakan pada waktu itu

Diperkenalkannya web browser NCSA Mosaic pada tahun 1993 salah satu

web browser grafis pertama – memulai ledakan penggunaan web browser.

Marc Andreessen, pimpinan tean Mosaic di NCSA kemudian mendirikan

perusahaannya sendiri, Netscape dan meluncurkan Netscape Navigator pada

tahun 1994. Dengan cepat Netscape Navigator menjadi browser paling

populer di dunia, pada masa jayanya digunakan oleh 90% pengguna web

browser.

Microsoft pun merespon dengan web browser-nya, Internet Explorer (IE)

pada tahun 1995, sehingga mencetuskan perang browser pertama di dunia. IE

dengan Windows, Microsoft mampu mengambil alih posisi pemimpin pasar

web browser. Pada tahun 2002, IE digunakan oleh lebih dari 95% pengguna.

Dari beberapa browser yang sangat diminati oleh para user di internet

adalah Mozilla Firefox dimana browser tersebut memiliki banyak nama

sebelum berganti dengan nama yang sudah kita kenal secara familiar

(21)

nama Mozilla Firefox Nama awalnya adalah Phoenix dan kemudian berganti

lagi dengan dikenal sebagai Mozilla Firebird.

Sebelum rilis versi 1.0-nya pada 9 November 2004, Firefox telah

mendapatkan sambutan yang sangat bagus dari pihak media. Dikarenakan

Firefox adalah open source application maka dalam waktu yang singkat

aplikasi browser ini telah didownload lebih dari 5 juta download dalam 12

hari pertama rilisnya dan 6 juta hingga 24 November 2004.

Melalui Firefox, Yayasan Mozilla betujuan untuk mengembangkan sebuah

browser web yang kecil, cepat, sederhana, dan sangat bisa dikembangkan

(terpisah dari Mozilla Suite yang lebih besar). Firefox telah menjadi fokus

utama perkembangan Mozilla bersama dengan client e-mail Mozilla

Thunderbird, dan telah menggantikan Mozilla Suite sebagai rilis browser

resmi yayasan Mozilla.

Mozilla merilis versi terbaru browser populernya, Firefox 3.6. Dengan

sangat baik, Mozilla mengklaim Firefox 3.6 adalah browser terbaik di dunia,

seperti terpajang di situs Mozilla Firefox. Dilihat dari tampilan, Firefox 3.6

yang sudah bisa diunduh ini tidak jauh beda dibanding dengan edisi 3.5.

Namun dari sisi kemampuan, beberapa hal baru telah ditambahkan di

dalamnya Menurut Mozilla, Firefox 3.6 ditingkatkan sisi performa maupun

stabilitasnya serta dilengkapi beberapa fitur baru bagi user maupun developer.

Software browser internet ini tersedia baik untuk Windows, MacOS maupun

Linux, waktu respons dan performa JavaScript yang lebih baik, membuat

Mozilla memperkirakan Firefox 3.6 lebih cepat 20 persen dari sebelumnya

(22)

yang disematkan antar lain tool tema baru, yang memungkinkan user

mengedit dan memasang tema visual tanpa perlu restart browser. Selain itu,

Firefox 3.6 juga bisa mendeteksi otomatis jika ada plug-ins yang perlu

diupdate.

2.2Injeksi SQL

Injeksi SQL adalah sebuah teknik yang memanfaatkan sebuah celah

keamanan yang terjadi dalam lapisan basis data sebuah aplikasi. Celah ini

terjadi ketika masukan pengguna tidak disaring secara benar dari

karakter-karakter bentukan string yang ditambahkan dalam pernyataan SQL atau

inputan pengguna tidak bertipe kuat dan karenanya dijalankan tidak sesuai

harapan. Ini sebenarnya adalah sebuah contoh dari sebuah kategori celah

keamanan yang lebih umum yang dapat terjadi setiap kali sebuah bahasa

pemrograman.

Bentuk injeksi SQL ini terjadi ketika inputan user berupa karakter yang

tidak disaring dari karakter-karakter lemah dan kemudian diteruskan ke dalam

sebuah pernyataan SQL. Ini menimbulkan potensi untuk memanipulasi

pernyataan-pernyataan yang dilakukan pada basis data oleh pengguna akhir

aplikasi.

Berikut ini contoh sederhana dari penginjeksian SQL pada sebuah website

yang mempunyai kelemahan terhadap injeksi SQL melalui alamat URL.

Apabila sebuah halaman pada website diakses secara benar sesuai aturan

website tersebut maka hasil informasi yang ditampakkan juga benar sesuai

(23)

Gambar 2.1 Informasi Sebenarnya Website

Tetapi apabila dilakukan perubahan terhadap alamat URL maka akan

muncul sebuah pesan error dari website yang dapat dipergunakan oleh hacker

untuk melakukan peretasan terhadap website tersebut.

Gambar 2.2 Informasi Setelah Proses Pendeteksian

Hacker tinggal mengubah simbol (‘) pada alamat URL dengan beberapa

query SQL untuk mendapatkan informasi penting yang ditampilkan website

tersebut tanpa ijin dari hasil query SQL yang dieksekusi oleh website tersebut.

2.3Injeksi XSS

(24)

ditemukan dalam aplikasi web yang memungkinkan penyerang untuk

menginjeksi script sisi klien ke dalam halaman web dilihat oleh pengguna lain.

Sebuah kerentanan cross-site scripting dapat digunakan oleh penyerang untuk

memotong kontrol akses tersebut sebagai kebijakan asal yang sama. Cross-site

scripting dilakukan pada website adalah sekitar 80% dari semua kerentanan

keamanan didokumentasikan oleh Symantec pada 2007. Pengaruh mereka bisa

berkisar dari gangguan kecil dengan resiko keamanan yang signifikan,

tergantung pada kepekaan data ditangani oleh situs yang rentan dan sifat dari

setiap mitigasi keamanan yang dilaksanakan oleh pemilik situs.

Celah Cross-site scripting adalah celah keamanan aplikasi web yang

memungkinkan penyerang untuk mem-bypass mekanisme klien-sisi keamanan

biasanya dikenakan pada konten web oleh browser modern. Dengan mencari

cara menyuntikkan script ke dalam halaman web, seorang penyerang bisa

mendapatkan hak akses diangkat ke sensitif-konten halaman tertentu, session

cookies, dan berbagai informasi lainnya yang dikelola oleh browser atas nama

pengguna.

XSS memiliki macam yakni cross-site scripting non-persistent (atau

tercermin) sejauh ini jenis yang paling umum diketahui. Lubang ini muncul

ketika data yang diberikan oleh klien web, yang paling umum dalam

parameter permintaan HTTP atau dalam pengiriman form HTML, adalah

digunakan langsung oleh script sisi server untuk menghasilkan halaman hasil

untuk user tersebut, tanpa pembenaran sanitasi permintaan tersebut.

Karena dokumen HTML memiliki struktur, datar yang menggabungkan

(25)

pengguna non-divalidasi termasuk dalam halaman hasil tanpa pengkodean

HTML yang tepat, dapat menyebabkan markup injeksi. Sebuah contoh klasik

dari sebuah vektor potensial adalah mesin pencari situs, jika seseorang

mencari sebuah string, string pencarian biasanya akan ditampilkan kembali

kata demi kata pada halaman hasil untuk menunjukkan apa yang dicari. jika

jawaban ini tidak benar melarikan diri atau menolak karakter HTML kontrol,

kelemahan cross-site scripting akan terjadi.

Berikut ini contoh sederhana dari penginjeksian XSS pada sebuah website

yang mempunyai kelemahan terhadap injeksi XSS melalui alamat URL.

Apabila sebuah halaman pada website diakses secara benar sesuai aturan

website tersebut maka hasil informasi yang ditampakkan juga benar sesuai

permintaan pengguna.

Gambar 2.3 Informasi Sebenarnya Website

Tetapi apabila dilakukan perubahan terhadap alamat URL maka akan

muncul sebuah tulisan yang tidak semestinya muncul sesuai data pada sistem

website tersebut. Hal itu yang akan dipergunakan oleh peretas untuk

(26)

Gambar 2.4 Informasi Setelah Proses Pendeteksian

Dari gambar tersebut hacker tinggal menambahkan script yang berisikan

code javascript pada alamat URL untuk mendapatkan informasi penting yang

ditampilkan website tersebut tanpa ijin dari hasil script yang dieksekusi oleh

website tersebut.

2.4Penger tian Scanning

Pengertian Scanning adalah Aktifitas yang dilakukan untuk mendapatkan

informasi target. dimana pada proses scanning tersebut terdapat target yang

dicari yakni :

1. IP address

2. Sistem operasi

3. Arsitektur system

Di dalam model scanning tersebut terdapat beberapa tipe scanning yang

berbeda dan memiliki metode dan cara yang berbeda, yaitu:

1. Port scanning

2. Network scanning

3. Vulnerability scanning

Dari scanning tersebut memiliki macam kalisifikasi yang memiliki fungsi

yang berbeda pula dimana disetiap scanning tersebut, fungsi tersebut bisa

(27)

user tersebut menggunakanya, dari beberapa macam scanner tersebut yang

paling banyak digunakan oleh pengguna adalah.

1. TCP connect () scanning

2. Half open/TCP syn scanning

3. Stealth scanning

4. UDP scanning

2.5Contoh penyer a ngan XSS

Sesuai dengan namanya Cross Site Scripting yang berasal dari kata

“Cross” berarti silang atau menyilang, “Site” berarti tempat(halaman website),

“Scripting” berarti pengkodean atau penulisan kode. Dari sini user dapat

mendefinisikan bahwa Cross Site Scripting atau yang lebih dikenal dengan XSS

berarti penyilangan suatu kode pada halaman website. XSS bisa juga diartikan

penulisan kode pada sebuah halaman website agar berbelok ke target yang di

inginkan. XSS bekerja pada sisi client. Meskipun XSS ini bekerja pada sisi

client tetapi efek yang dihasilkan akan memaksa server untuk menjalankan

kode yang dimasukkan.

XSS bisa berjalan melalui 3 cara :

1. Pemanfaatan Tools

2. Penulisan pada source code

3. Penulisan pada URL

Berikut adalah contoh menggunakan vulnerable XSS dari website

(28)

juga sangat terkenal di Dunia, namun memiliki kelemahan juga di

websitenya.Test XSS apakah bisa berjalan di website, berikut contohnya:

http://www.eset.com.mx/xtr asappz/evalfor m/index.php?t=emav&pr omo

code=% 22% 3E% 3Ccenter % 3E% 3Cfont% 20size=% 22300% 22% 3EBinus%

20Hacker % 20Ada% 20Disini% 3Cbr % 3Ehttp://www.binushack er .net% 3C/f

ont% 3E% 3C/center % 3E% 3C/

1. Test cookie

2. Buat coding untuk halaman register di ESET

Pada gambar diatas merupakan proses dalam pembuatan halaman fake

register pada situs ESET yang memanfaatkan metode XSS dimana fake

register tersebut digunakan untuk mengelabuhi user .

3. Kemudian membuat php untuk menerima hasil & menyimpannya di log

Gambar 2.5 Coding XML Register ESET

(29)

Pada gambar diatas menjelaskan tentang potongan coding php untuk

memasukkan log palsu yang merupakan hasil injeksi dari metode XSS.

4. Sebelum melakukan proses, maka coding XSS yang didapatkan pada

penyerangan tersebut yakni :

<ifr ame sr c=http://r estinpeace.biz/eset/r egister .php

width=1500>

Di encode menjadi :

% 3Cifr ame% 20sr c% 3Dhttp% 3A% 2F% 2Fr estinpeace.biz% 2Feset%

2Fr egister .php% 20width% 3D1500% 3E <ifr ame

src=http://r estinpeace.biz/eset/r egister .php width=1500>

<ifr ame sr c=http://r estinpeace.biz/eset/setfr ee.()php

width=1500>

Berikut adalah gambar fake register eset yang merupakan hasil dari

injeksi pada situs ESET, dimana pada situs tersebut telah dimasuki coding

(30)

5. Selanjutnya cek log yang masuk

Gambar diatas adalah hasil log yang masuk yang didapatkan dari user

yang memasukkan register tersebut dan didalam log tersebut terdapat

informasi pengguna yang memiliki e-mail dan password

2.6Pembuatan add-ons seder hana pada mozilla fir efox

Plugin atau Add-ons mozilla adalah tool menu tambahan yang bisa

di tambahkan di MOZILLA FIREFOX BROWSER. Mencari sebuah

plugin untuk keperluan tertentu dari mozilla anda bisa melalui Menu

Tools ( disebelah Help) Add ons atau langsung masuk ke alamat Add-ons

mozilla. Dalam hal soal internet, user memang lebih sering memakai

mozilla karena cepat, mudah, dan adanya add-ons yang banyak pilihan

membuat pekerjaan lebih mudah.

Berikut ini adalah cara sederhana membuat sebuah add-ons pada

Mozilla firefox:

1. Buatlah folder pendukung add-ons dimana pada folder tersebut akan

terdapat komponen yang harus dibuat agar add-ons dapat berjalan

dengan baik.

(31)

2. Tentukan file-file yang harus dibuat untuk mendukung add ons dalam

hal ini adalah (install.r df, chr ome manifest) dimana kedua file

tersebut digunakan untuk instalasi dan memberikan fungsi pada

add-ons.

3. Membuat overlay dasar (br owser .xul) yang di dalamnya terdapat

kumpulan coding pendukung yang berfungsi sebagai pemanggilan

fungsi sistem javascript. Contoh sederhana pembuatan br owser .xul

adalah:

4. Buatlah beberapa coding sederhana dalam bentuk (.js) dalam menu

content yang merupakan fungsi yang akan dipanggil pada browser .xul

untuk diaplikasikan

Gambar 2.9 Komponen Pendukung Add-ons

(32)

5. Buatlah beberapa image sederhana dalam bentuk (.png) dalam menu

content yang merupakan fungsi yang akan dipanggil pada browser .xul

untuk diaplikasikan kedalam toolbar.

6. Sertakan (.css) untuk membuat toolbar icon tersebut kedalam sebuah

add ons.

7. Daftarkan (.CSS,.JS) kedalam (.XUL) agar fungsi tersebut dapat di

panggil dan dapat di install kedalam file (insta ll.r df).

8. Kemas satu paket add-ons tersebut kedalam file extension (.XPI) agar

lebih mudah dikenal oleh firefox.

9. Drag file (.xpi) tersebut kedalam mozilla firefox dan akan terinstall

secara otomatis dan restart firefox

Gambar 2.11Komponen Javascript Pendukung Add-ons

(33)

10. Add-ons firefox siap untuk di gunakan

Gambar 2.13 Tampilan Insta lasi Add-ons

(34)

PERANCANGAN

3.1Desain Sistem

Desain system merupakan prosedur perancangan sistem secara umum

untuk membangun sebuah add-ons Web Vulnearbility Scanner pada Mozilla

firefox terhadap kelemahan web dengan menggunakan XSS dan SQL Injection

dimana pada perancangan tersebut akan dijelaskan tahap-tahap serta alur yang

digunakan pada add ons Vulnerability scanner tersebut dan memiliki beberapa

tahap, antara lain:

a. Data Scan

Perancangan data yaitu perancangan data-data yang berkaitan dengan

pembuatan aplikasi add ons tersebut, meliputi :

1. Input

Data input yang di dalamnya terdapat data-data penunjang

sebagai inputan pembuatan sistem. Dalam add ons ini data yang

dibutuhkan adalah berupa alamat URL yang didapatkan dari tab

jendela website yang sedang diakses.

2. Output

Dari proses inputan tersebut, Sistem akan menggunakannya

sampai didapatkan hasil yaitu output. Dalam aplikasi ini hasil

proses ditampilkan secara new tab yang berisi proses serta hasil

(35)

b. Pr oses

Perancangan proses yaitu bagaimana sistem akan bekerja serta

proses-proses yang digunakan, dari masuknya inputan yang diproses oleh

addons sampai outputnya.

c. Antar muka

Perancangan antarmuka menjelaskan tentang desain dan

implementasi addons yang digunakan dalam sistem yang dibuat secara

keseluruhan perancangan.

Gambar 3.1 Perancangan Sistem Secara Global

Dari Gambar 3.1 tersebut :

1. Aplikasi add ons tersebut melakukan permintaan data ke server web

berupa alamat URL yang diminta.

2. Server akan memberikan balasan berupa teks Tag HTML.

3. Add ons memproses hasil tersebut, kemudian mendapatkan struktur URL

dari hasil pencarian dan menginjeksi struktur URL tersebut.

(36)

4. Add ons mengirim request ke server berupa struktur hasil pencarian yang

telah diinjeksi.

5. Server mengirim hasil injeksi ke aplikasi.

6. Add ons memberikan report proses keseluruhan.

3.2Per ancangan Sistem

Perancangan sistem ini yang akan diuraikan pada sub bab di bawah ini

yakni :

3.2.1 Addons Vulnerability Scanner Ber basis Online

Pada Web Vulnerability Scanner berbasis online ini berjalan secara

online. Begitu juga dengan web yang akan di scan juga harus terhubung

dengan internet. Input dari addons vulnerability scanner ini adalah berupa

URL dari web yang akan di scan.

3.3 Per ancangan Input

Dalam perancangan input, akan dijelaskan mengenai inputan yang terdapat

dalam aplikasi sesuai dengan fungsinya.

1. Input Web Vulnerability Scanning

Untuk menjalankan web vulnerability scanner berbasis online ini

menggunakan input berupa :

a. URL

Pada aplikasi ini alamat URL akan didapatkan secara otomatis

pada tab window yang sedang diakses. kemudian dilakukan proses

(37)

berupa HTML kepada client. Dan respon berupa Tag HTML tersebut

itulah yang akan dilakukan proses scanning.

3.4 Per ancangan Pr oses

Perancangan proses pada bagian ini akan menjelaskan tentang bagaimana

permintaan dari user sesuai dengan menu yang ada pada add ons tersebut

yang akan diproses menjadi sebuah output.

3.4.1 Pr oses Scanning

Pada perancangan sistem ini, terdapat menu utama dan tambahan. Pada

menu utama terdapat dua menu yaitu pencarian kelemahan terhadap injeksi

SQL dan pencaharian kelemahan terhadap injeksi XSS.

Pada menu pencarian kelemahan terhadap injeksi SQL terdapat empat

sub menu diantaranya pencarian pada alamat URL yang sedang dibuka,

pencarian pada page yang sedang dibuka, pencarian pada seluruh halaman

dalam satu website dengan site fast, dan pencarian pada seluruh halaman

dalam satu website site full.

Pada menu XSS juga terdapat pencarian kelemahan dimana pada menu

XSS injection tersebut terdapat 4 sub menu dimana fungsinya juga sama

dengan SQL injection tetapi memiliki cara-cara yang berbeda didalam

pencarian kelemahan.

Pada perancangan sistem aplikasi ini, diambil dari sebuah langkah

sederhana dalam mencari kelemahan terhadap injeksi SQL maupun XSS yang

sudah dibuat sebelumnya. Berikut diagram alur dari prosenya yang akan di

(38)

Gambar 3.2 Diagram Alur Scan

Penjelasan dari Gambar 3.2 adalah

1. Addons Vulnerability Scanning melakukan request ke server berupa URL yang telah di inputkan oleh pengguna.

2. Server memberi respon berupa File HTML yang di minta aplikasi

Vulnerability Scanning sesuai input URL.

3. Kemudian aplikasi Vulnerability Scanning mencari kelemahan

setiap File HTML yang telah diberikan oleh server.

4. Addons Vulnerability Scanning menangkap semua tag dari File HTML sudah didapatkan dari server.

ya

(39)

5. Proses pengecekan apakah terdapat parameternya atau tidak, jika

tidak ada maka aplikasi akan kembali lagi melakukan proses

selanjutnya jika ada tanda yang dimaksud maka akan lanjut ke

proses selanjutnya.

6. Proses selanjutnya aplikasi menulis ulang parameter tersebut

dengan script injeksi.

7. Selanjutnya aplikasi mengirim ulang ke server berupa URL yang

parameternya telah di injeksi.

8. Server memberikan respon berupa HTML, kemudian HTML

tersebut di scan.

9. Apakah pada respon HTML tersebut terdapat script yang

diinjeksikan, jika ya maka web tersebut mempunyai kelemahan dan

jika tidak maka web tersebut tidak mempunyai kelemahan terhadap

serangan XSS.

Dilakukan pengembangan terhadap proses diatas yang dijelaskan

sebelumnya dimana addons ini terdiri dari beberapa menu. Addons ini

terdapat empat macam cara pencarian yaitu pencarian terhadap alamat URL

yang sedang aktif, Page yang sedang dibuka, seluruh alamat URL (link)

dalam satu website baik secara Site Fast atau Site Full. Setiap menu tersebut

diciptakan sesuai kebutuhan pengguna dalam hal efisiensi waktu yang

dibutuhkan untuk proses pendeteksian. Dari empat macam pendeteksian

memiliki waktu yang berbeda dalam prosesnya masing-masing. Aplikasi ini

juga ditambahkan beberapa menu tambahan yaitu menu untuk mendaptkan

(40)

client yang dipergunakan oleh user, dan informasi cookie pada browser

Mozilla firefox yang sesuai dengan nama website yang sedang dibuka.

Berikut adalah pembahasan empat sub menu pada menu pencarian kelemahan

terhadap injeksi SQL maupun XSS. Sub menu pertama adalah pencarian pada

alamat URL yang sedang dibuka. Proses submenu ini sebagai berikut :

(41)

Aplikasi membutuhkan data masukan tetapi data masukan langsung

diambilkan dari alamat URL pada tab yang sedang aktif. Jika alamat URL

tersebut terdapat simbol “=” maka aplikasi akan membuat beberapa alamat

URL baru dari hasil pengubahan terhadap alamat URL yang sebenarnya.

Aplikasi akan mengakses halaman dengan alamat URL yang belum dan

sudah diubah. Hasil dari akses terhadap alamat URL yang diubah dengan

yang belum diubah akan dideteksi apakah terdapat positif ciri-ciri injeksi

SQL maupun XSS atau tidak.

Submenu kedua adalah pencarian kelemahan terhadap injeksi SQL

maupun XSS pada halaman yang sedang dibuka. Proses submenu ini sebagai

berikut :

Gambar 3.4 Diagram Alur Scan Pada PAGE

(42)

Proses yang terjadi pada gambar diatas hampir sama dengan proses

pencarian kelemahan terhadap SQL maupun XSS sebelumnya dimana

perbedaannya adalah proses pencarian dilakukan berulang sesuai banyaknya

URL pada page yang dibuka dan masih dalam satu website. Setiap URL

dilakukan pencarian sampai semua link selesai dilakukan pencarian

kerentanan terhadap injeksi SQL maupun XSS. Setelah proses selesai maka

anak dimunculkan output akhir.

Submenu ketiga adalah pencarian kelemahan terhadap injeksi SQL

maupun XSS pada website yang sedang dibuka. Proses yang terjadi pada

gambar dibawah ini hampir sama dengan proses pencarian kelemahan

terhadap SQL maupun XSS pada PAGE sebelumnya dimana perbedaannya

adalah proses pencarian semua URL pada sebuah halaman URL yang

dilakukan secara berulang sampai antrian untuk proses sudah kosong.

Dimana pada semua URL yang didapat pada proses akan dilakukan

pencarian satu per satu terhadap kerentanan injeksi SQL maupun XSS dan

didaftarkan ke antrian yang akan dilakukan apabila link tersebut belum

dilakukan proses pengambilan nilai. Setelah antrian URL yang akan

dilakukan proses barulah addons menampilkan beberapa link yang rentan

terhadap injeksi SQL maupun XSS dimana hasil dari scanning tersebut adalah

(43)

Y URL yang akan di graber

mencari alamat root website pada URL

(44)

Sub menu yang terakhir adalah pencarian kelemahan terhadap injeksi

SQL maupun XSS pada website yang sedang dibuka tetapi hanya mencari satu

alamat URL (link) yang rentan pada website tersebut

Gambar 3.6 Diagram Alur Scan pada SITE Secara Cepat

Proses yang terjadi pada gambar diatas hampir sama dengan proses pencarian

kelemahan terhadap SQL maupun XSS pada SITE sebelumnya tetapi

perbedaannya adalah terdapat pemberhentian keseluruhan proses bila aplikasi

sudah menemukan cukup satu alamat URL (link) yang memiliki kerentanan

(45)

terhadap injeksi SQL maupun XSS maka secara otomatis aplikasi add ons

tersebut akan berhenti melakukan proses scanning dan secara otomatis akan

mengeluarkan output.

Addons Vulnerability scanning juga dilengkapi beberapa menu

tambahan yaitu menu INFO dengan dua submenu yaitu informasi mengenai

domain yang dipakai oleh website pada tab yang aktif dan informasi

mengenai client yang dipergunakan oleh user. Menu tambahan terakhir

adalah menampilkan informasi mengenai cookie yang sesuai dengan nama

domain website pada tab yang sedang aktif. Proses submenu untuk informasi

mengenai domain website adalah :

Gambar 3.7 Diagram Alur Informasi Domain Website

Proses yang terjadi pada gambar diatas adalah proses mengenai

bagaimana aplikasi menampilkan informasi mengenai domain website pada

tab yang sedang aktif. Aplikasi mendapatkan informasi dari website

http://who.is/whois yang dipotong beberapa script. Hasil informasi yang

didapat akan dipilih dan hasilnya ditampilkan.

Sub menu yang terakhir adalah menampilkan informasi mengenai koneksi

(46)

Gambar 3.8 Diagram Alur Info Client

Proses yang terjadi pada gambar diatas adalah proses mengenai

bagaimana aplikasi menampilkan informasi mengenai koneksi internet yang

dipakai oleh pengguna. Aplikasi mendapatkan informasi dari website

http://www.ip-address.org/ Setelah itu hasil pemilihan informasi ditampilkan.

3.5 Per ancangan Antar Muka

Perancangan antar muka bertujuan untuk menjelaskan alur dari proses

mencari kelamahan suatu web secara online dan offline

3.5.1 Blok Ar sitektur Sistem Vulner ability scanning Online

Untuk perancangan antar muka addons vulnerability scanner

berbasis Online, di bawah ini akan ditunjukkan blok arsitektur sistem

dari web vulnerability scanner berbasis online yang digunakan pada

tugas akhir ini :

Gambar 3.9 Blok Arsitektur Sistem vulnerability Scanner

Server Aplikasi

(47)

Menu aplikasi Dari Gambar 3.9 dapat diketahui :

1. Aplikasi yang dibangun melakukan permintaan ke server berupa URL

yang diinputkan

2. Server memberikan respon berupa HTML

3. Addons vulnerability scanner mencari respon HTML tersebut, kemudian

mendapatkan struktur URL dari hasil scan dan menginjeksi parameter

dari struktur URL.

4. Aplikasi vulnerability scanner mengirim permintaan ke server berupa

struktur URL hasil pencarian yang telah di injeksi

5. Server mengirim respon hasil injeksi ke aplikasi vulnerability scanner

6. Addons vulnerability scanner memberikan report hasil keseluruhan

3.5.2 Tampilan Antar Muka Aplikasi

Untuk perancangan antar muka aplikasi ini sebagai berikut :

Gambar 3.10 Tampilan Antar Muka Aplikasi

Tampilan aplikasi ini cukup sederhana dengan latar belakang

warna biru yang dibagi atas 4 bagian yang dibatasi sebuah separator.

Bagian-bagian tersebut diantaranya adalah bagian nama aplikasi dengan

nama VULNERABILITY SCANNING yang sesuai dengan fungsi utamanya

yaitu pendeteksian kelemahan pada sebuah website. Bagian berikutnya

adalah menu aplikasi yang berisikan 4 menu utama beserta submenu untuk

SQL injection dan XSS Injection. Bagian berikutnya adalah beberapa menu

(48)

Gambar 3.11 Tampilan Antar Muka Hasil Scanning

3.5.3 Per a ncangan Uji Coba

Untuk perancangan uji coba yang akan dilakukan untuk aplikasi ini

adalah melakukan pengujian dalam mencari kelemahan beberapa website

terhadap SQL dan XSS. Untuk mendeteksi kelemahan website, aplikasi

akan mengubah alamat URL dengan menambahkan simbol (‘) setelah

simbol (=) sedangkan untuk kelemahan website terhadap injeksi XSS akan

mengubah alamat URL dengan menambahkan script pada setiap sub menu

pada menu utama Scan SQL dan Scan XSS akan dilakukan pencarian

kelemahan pada alamat website yang berbeda sehingga akan ada beberapa

alamat website yang berbeda yang akan dicari kelemahannya terhadap

injeksi SQL dan beberapa alamat terhadap injeksi XSS. Dan uji coba

lainnya untuk menu utama yang memiliki 2 sub menu yaitu Info untuk

(49)

Inti percobaan aplikasi ini adalah mencoba keberhasilan aplikasi

dalam mendeteksi kelemahan website terhadap injeksi SQL dan XSS. Dan

juga keberhasilan aplikasi untuk mendapatkan Info mengenai Domain

sebuah website dan Info untuk client yang dipergunakan user. Menu

terakhir aplikasi untuk mendapatkan nama dan nilai Cookie sesuai website

yang diakses. Aplikasi ini dijalankan bersama aplikasi BROWSER

MOZILLA FIREFOX karena aplikasi ini sebuah Add Ons untuk Browser

tersebut. Untuk kriteria website yang akan dilakukan pencarian kelemahan

harus mempunyai pengiriman nilai dari halaman ke halaman lainnya.

Website juga harus ditulis secara baku dalam hal penulisan Tag

HTML yang benar untuk link yang tidak baku penulisanya maka aplikasi

tidak bisa mendapatkan link dari website tersebut. Jika aplikasi berhasil

maka aplikasi akan memunculkan informasi beberapa alamat URL yang

sudah dimodifikasi yang berhasil melakukan injeksi pada website tersebut.

Jika saat proses terjadi kesalahan maka aplikasi tidak akan menampilkan

informasi hasil. Kemungkinan terjadi kegagalan saat website tersebut

memiliki keamanan dalam hal keamanan akses sebuah halaman tertentu

(50)

4.1 IMPLEMENTASI SISTEM

Dari desain sistem yang telah dibuat sebelumnya, maka dapat di

implementasikan seperti beberapa contoh tampilan berikut :

1. Tampilan utama

Dibawah ni merupakan tampilan awal pada addons vulnerability

scanner :

Gambar 4.1 Tampilan Menu Utama

Pada tampilan utama terdiri atas 4 bagian yang dibatasi oleh 3

garis. Bagian pertama adalah nama addons tersebut adalah SQL

INJECTION dimana pada bagian tersebut merupakan scanning web

menggunakan metode SQL INJECTION.

Bagian kedua adalah menu yang terdiri atas 4 submenu utama

yaitu XSS SCANNER pada bagian tersebut merupakan scanning web

dengan menggunakan pola pendeteksian XSS INJECTION. Bagian ketiga

adalah hasil proses INFO dimana pada info tersebut terdapat informasi

tentang domain dan informasi lengkap tentang client. Bagian keempat

adalah menu COOKIE dimana pada menu tersebut akan menampilkan

(51)

dengan warna dasar adalah biru dengan text berwarna putih karena terlihat

sederhana, dan mudah digunakan.

2. Halaman Scanning SQL Injection pada URL

Halaman berikut berfungsi untuk melakukan pencarian kelemahan

alamat URL pada tab yang sedang dengan mengakses alamat URL yang

sudah dimodifikasi dengan menambahkan simbol (‘) setelah simbol (=)

pada alamat URL yang didapat dari alamat URL pada tab yang sedang

aktif.

Gambar 4.2 Halaman Scanning SQL Injection pada URL

Berikut adalah algoritma Pseudo Code dari Proses Scanning SQL Injection

pada URL :

1. call start_elapsed_time() dan store to mulai_proses

2. deklarasi jumlah_link_sudah_diperiksa and set 0

3. deklarasi jumlah_link_sudah_dideteksi and set 0

4. deklarasi variabel html and set null

5. set currentURL = alamat URL pada tab yang aktif

6. call check_sql_inject(currentURL) and store to hasil_scan_SQLi

7. set jumlah_link_sudah_diperiksa + 1

8. if hasil_scan_SQLi is “KOSONG” then

a.set temp_html = “URL aman”

9. else

a.set temp_html = hasil_scan_SQLi

b.set jumlah_link_sudah_dideteksi + 1

(52)

11. report jumlah_link_sudah_diperiksa and jumlah_link_sudah_dideteksi

12. report and call get_elapsed_time(mulai_proses,selesai_proses)

Berikut adalah potongan source code dari Proses Scanning SQL Injection

pada URL :

Addons mengambil URL pada tab yang sedang aktif sebagai data

inputan. URL tersebut dicari kelemahannya terhadap injeksi SQL oleh

fungsi check_sql_inject. Jika hasil dari fungsi adalah “kosong” mak alamat

URL tersebut aman dan apabila terdapat hasil maka aplikasi akan

memunculkan alamat URL yang sudah dimodifikasi yang dimungkinkan

terdapat kelemahan.

Sehingga oleh aplikasi tersebut akan langsung dimunculkan hasil

akhir berupa URL baru dari hasil scanning dimana pada URL tersebut

merupakan alamat yang memiliki kelemahan pada SQL INJECTION.

(53)

3. Halaman Scanning SQL Injection pada PAGE

Menu berikut ini berfungsi untuk melakukan pencarian kelemahan

halaman URL pada page yang sedang aktif terhadap injeksi SQL dengan

cara mengakses semua alamat URL yang didapat pada page tersebut dan

selanjutnya ditambahkan simbol (‘) setelah simbol (=) pada semua alamat

URL yang ditemukan.

Gambar 4.4 Halaman Scanning SQL Injection pada PAGE

Berikut adalah Pseudo Code dari Proses Scanning SQL Injection pada

PAGE :

1. call show_loading()

2. call start_elapsed_time() dan store to mulai_proses

3. deklarasi jumlah_link_sudah_diperiksa and set 0

4. deklarasi jumlah_link_sudah_dideteksi and set 0

5. set currentURL (target) = alamat URL pada tab yang aktif

6. call get_all_urls(currentURL) and store to array_URL

7. loop i from 0 until length of array_URL

1.if array_URL[i] have word “#####POST#####” then

1. call check_sql_inject_post(array_URL[i]) and store to

hasil_scan_SQLi

2. set jumlah_link_sudah_diperiksa + +

2.else

1. call check_sql_inject(array_URL[i]) and store to hasil_scan_SQLi

2. set jumlah_link_sudah_diperiksa + 1

(54)

1.set temp_html = “URL aman”

9. else

1.set temp_html = hasil_scan_SQLi

2.set jumlah_link_sudah_dideteksi + 1

10. call stop_elapsed_time()

11. report jumlah_link_sudah_diperiksa and jumlah_link_sudah_dideteksi

12. print and call get_elapsed_time(mulai_proses,selesai_proses)

Berikut adalah Potongan Soure Code dari Scanning page

Gambar 4.5 Potongan Code Scanning SQL Injection pada PAGE

Pada proses diatas alamat URL tersebut akan dicari pada URL yang

terdapat pada Page URL tersebut dengan fungsi get_all_urls. Semua

alamat URL yang didapat akan diperiksa apakah memiliki kelemahan

(55)

check_sql_inject_post. Jika hasil pencarian dari semua alamat URL yang

ditemukan kosong maka aplikasi menyatakan halaman URL tersebut

aman jika tidak maka addons akan menunjukkan beberapa alamat URL

yang memiliki kelemahan terhadap injeksi SQL.

4. Halaman Scanning SQL Injection pada SITE

Menu ini berfungsi untuk melakukan pencarian kelemahan website

pada tab yang sedang aktif terhadap injeksi SQL dengan cara mengakses

seluruh alamat URL yang didapat pada website tersebut dan selanjutnya

dimodifikasi dengan menambahkan simbol (‘) setelah simbol (=) pada

semua alamat URL yang ditemukan. Pada menu kali ini pencarian

dilakukan secara site fast dimana akan berhenti bila sudah ditemukan satu

alamat URL pada website tersebut yang memiliki kelemahan terhadap

injeksi SQL.

Gambar 4.6 Halaman Scanning SQL Injection pada SITE (FAST)

Pada submenu terakhir sama dengan submenu Site Fast tetapi

proses pencarian akan berhenti saat tidak ditemukan alamat URL yang

(56)

Gambar 4.7 Halaman Scanning SQL Injection pada SITE (FULL)

Berikut adalah Pseudo Code dari Proses Scanning SQL Injection pada

SITE :

1. Panggil fungsi call start_elapsed_time() untuk mulai_proses

2. deklarasi jumlah_link_sudah_diperiksa and set 0

3. deklarasi jumlah_link_sudah_dideteksi and set 0

4. deklarasi variable pendukung

5. looping (while)

1.if mengakses var akan_diakses dan lakukan break

a. set temp_url = shift from akan_diakses

b. set ada_yang_sama = false

c. loop i from 0 until length of sudah_diakses

2.if temp_url = sudah_diakses[i] then

a. ada_yang_sama = true

d. if ada_yang_sama = false and temp_url dengan menggunakan "POST"

then

3.call get_all_urls(temp_url) and store to hasil_sementara

4.push temp_url to sudah_diakses

e. loop i from 0 until length of hasil_sementara

5.set ada_yang_sama = false

6.loop j from 0 until length of sudah_diakses

a. if hasil_sementara[i] = sudah_diakses[j then

1.ada_yang_sama = true

7.if ada_yang_sama = false then

a. push hasil_sementara[i] to akan_diakses

b. set ada_yang_sama2 = false

c. loop k from 0 until length of sudah_dicari

(57)

a.ada_yang_sama2 = true

d. if hasil_sementara[i] dengan menggunakan “POST” then

1.if ada_yang_sama2 = false then

a.call check_sql_inject_post(hasil_sementara[i]) and store to

hasil_scan_SQLi

b.set jumlah_link_sudah_diperiksa + 1

c.push hasil_sementara[i] to sudah_dicari

e. else

1.if ada_yang_sama2 = false then

a.call check_sql_inject(hasil_sementara[i]) and store to

hasil_scan_SQLi

b.set jumlah_link_sudah_diperiksa + 1

c.push hasil_sementara[i] to sudah_dicari

f. if hasil_scan_SQLi tidak “KOSONG” then

1. `set temp_html += hasil_scan_SQLi

2. set jumlah_link_sudah_dideteksi + 1

3. if batas = 1then

f. set berhenti = true

g. berhenti

Berikut Potongan Source Code :

A

(58)

Aplikasi pada saat proses akan dimunculkan newtab dimana dalam newtab

ini aplikasi diproses dan ditampilkan hasil scanning. Aplikasi mencari root

dari alamat URL tersebut. Alamat root dimasukkan ke antrian pertama

untuk dicari semua alamat URL pada halaman URL tersebut dengan fungsi

(get_all_urls).

Setelah itu addons akan memeriksa setiap alamat URL untuk

dimasukkan ke antrian untuk dicari semua lamat URL pada halaman URL

dan mencari kelemahan terhadap injeksi SQL. Dalam submenu ini aplikasi

berhenti pada dua keadaan yaitu saat aplikasi mencari dalam satu website

secara cepat (sitefast) atau secara penuh (full). Jika secara cepat, aplikasi

berhenti jika sudah menemukan sebuah alamat URL yang memiliki

kelemahan.

Tetapi jika Site Full, maka aplikasi akan berhenti jika semua link

sudah diperiksa untuk dicari semua alamat URL pada halaman URL dan

juga diperiksa untuk kelemahan terhadap injeksi SQL.

5. Halaman Scanning XSS Injection pada URL

Halaman ini berfungsi untuk melakukan pencarian kelemahan

alamat URL pada tab yang sedang aktif terhadap injeksi XSS dengan

mengakses alamat URL yang telah dimodifikasi dengan menambahkan

script(<script>document.write('<strong><em><s>XSS_INJECTION

</s></em></strong>');</script>) setelah simbol (=) pada alamat URL

(59)

Berikut adalah Pseudo Code dari Proses Scanning XSS Injection

pada URL :

1. call start_elapsed_time() dan store untuk mulai_proses

2. deklarasi jumlah_link_sudah_dideteksi and set 0

3. deklarasi variabel html and set null

4. set currentURL = alamat URL pada tab yang aktif

5. call check_xss_inject(currentURL) and simpan hasil_scan_XSS

6. set jumlah_link_sudah_diperiksa + 1

7. if hasil_scan_ XSS is “KOSONG” then

a.set temp_html = “URL aman”

8. else

b. set temp_html = hasil_scan_ XSS

c.set jumlah_link_sudah_dideteksi + 1

9. panggil fungsi stop_elapsed_time()

10.tampilkan jumlah_waktu_diperiksa and jumlah_link_sudah_dideteksi

Berikut adalah Potongan Source Code :

Gambar 4.9 Halaman Scanning XSS Injection pada URL

(60)

Alamat URL tersebut dicari kelemahannya terhadap injeksi XSS

oleh fungsi check_xss_inject. Jika hasil dari fungsi adalah “kosong” berarti

alamat URL tersebut aman.

6. Halaman Scanning XSS Injection pada PAGE

Halaman ini berfungsi untuk melakukan pencarian kelemahan

halaman URL pada page yang sedang aktif terhadap injeksi XSS dengan

cara mengakses semua alamat URL yang didapat pada page tersebut dan

selanjutnya di

<s> XSS_INJECTION</s></em></strong>’;</script>)

setelah simbol (=) pada semua alamat URL yang ditemukan.

Gambar 4.11 Halaman Scanning XSS Injection pada PAGE

Berikut adalah Pseudo Code dari Proses Scanning XSS Injection pada

PAGE :

1. Panggil start_elapsed_time() dan store to mulai_proses

2. deklarasi jumlah_link_sudah_dideteksi and set 0

3. deklarasi variabel html and set null

4. deklarasi array_URL sebagai array

5. set currentURL

6. call get_all_urls(currentURL)

7. perulangan dari 0 sampai panjang array_URL

1. if array_URL[i] adalah “#####POST#####” then

1. call check_xss_inject_post(array_URL[i]) and simpan

hasil_scan_XSS

(61)

2. set jumlah_link_sudah_diperiksa + 1

2. else

1. call check_xss_inject(array_URL[i]) and store to

hasil_scan_XSS

2. set jumlah_link_sudah_diperiksa + 1

8. if hasil_scan_XSS is “KOSONG” then

a.set temp_html = “URL aman”

9. else

a.set temp_html = hasil_scan_XSS

b. set jumlah_link_sudah_dideteksi + +

10.call stop_elapsed_time()

11.tampilkan jumlah_link_sudah_diperiksa and

jumlah_link_sudah_dideteksi

12.tampilkan get_elapsed_time(mulai_proses,selesai_proses)

Berikut adalah Potongan Souce Code

Aplikasi mengambil alamat URL pada tab yang sedang aktif

(62)

Sebagai data masukan. Alamat URL tersebut akan dicari semua

alamat URL yang terdapat pada halaman tersebut dengan fungsi

get_all_urls. Semua alamat URL yang didapat akan dicari apakah

memiliki kelemahan terhadap injeksi XSS oleh fungsi check_xss_inject

(alamat URL mengirim nilai dengan metode GET) dan

check_xss_inject_post (alamat URL mengirim nilai dengan metode

POST).

Jika hasil pencarian dari semua alamat URL yang ditemukan

kosong maka aplikasi menyatakan URL tersebut aman jika bila memang

terdeteksi maka aplikasi akan menunjukkan beberapa alamat URL yang

memiliki kelemahan terhadap injeksi XSS.

7. Halaman Scanning XSS Injection pada SITE

Halaman ini berfungsi untuk melakukan pencarian kelemahan

website pada tab yang sedang aktif terhadap injeksi XSS dengan cara

mengakses semua alamat URL yang didapat pada website tersebut dan

selanjutnya ditambahkan (<script>document.write ('<strong><em><s>

XSS_INJECTION</s></em></strong>');</script>) setelah simbol (=)

pada semua alamat URL yang ditemukan. Pada menu kali ini pencarian

dilakukan secara cepat dalam arti pencarian akan berhenti bila sudah

ditemukan satu alamat URL pada website tersebut yang memiliki

kelemahan terhadap injeksi XSS.

(63)

Pada submenu terakhir sama dengan submenu sebelumnya tetapi

proses pencarian tidak berhenti saat ditemukan satu alamat URL yang

memiliki kelemahan terhadap injeksi XSS melainkan proses pencarian

akan berhenti jika tidak lagi ada alamat URL dari semua alamat URL yang

ditemukan dalam website tersebut yang belum diproses.

Gambar 4.14 Halaman Scanning XSS Injection pada SITE FULL

Berikut adalah Pseudo Code dari Proses Scanning XSS Injection pada SITE

1. call start_elapsed_time() dan store to mulai_proses

2. deklarasi jumlah_link_sudah_dideteksi dan set 0

3. set rootURL = alamat URL pada tab yang aktif

4. set path_rootURL = rootURL.substring(0,rootURL.lastIndexOf('/') +

1)

5. set variable pendukung

6. deklarasi temp_url, hasil_scan_XSS and set to null

7. perulangan (while)

a. if akan_diakses = berhenti

b. set temp_url = shift from akan_diakses

c. set ada_yang_sama = false

d. loop i from 0 until length of sudah_diakses

1. if temp_url = sudah_diakses[i] then

a. ada_yang_sama = true

e. if ada_yang_sama = false and temp_url have word

"#####POST#####" (menggunakan metode post) then

1. call get_all_urls(temp_url) dan simpan hasil_sementara

2. masukan temp_url to sudah_diakses

(64)

1. set ada_yang_sama = false

2. loop j from 0 sampai panjang sudah_diakses

a. if hasil_sementara[i] = sudah_diakses[j then

2. ada_yang_sama = true

3. if ada_yang_sama = false then

a. masukan hasil_sementara[i] to akan_diakses

b. set ada_yang_sama2 = false

c. loop k from 0 until length of sudah_dicari

1. if hasil_sementara[i] = sudah_dicari[k] then

a.ada_yang_sama2 = true

d. if hasil_sementara[i] have word “#####POST#####" then

1. if ada_yang_sama2 = false then

a.check_xss_inject_post(hasil_sementara[i]) and store to

hasil_scan_XSS

b. set jumlah_link_sudah_diperiksa + 1

c.push hasil_sementara[i] to sudah_dicari

e. else

1. if ada_yang_sama2 = false then

a.call check_xss_inject(hasil_sementara[i]) and store to

hasil_scan_XSS

b. set jumlah_link_sudah_diperiksa + 1

c.push hasil_sementara[i] to sudah_dicari

g. if hasil_scan_XSS not “KOSONG” then

1. set temp_html += hasil_scan_XSS

2. set jumlah_link_sudah_dideteksi + 1

3. if batas = 1then

a. set berhenti = true

b. break

8. call stop_elapsed_time()

9. tampilkan jumlah_link_sudah_diperiksa and

jumlah_link_sudah_dideteksi

(65)

Berikut adalah Potongan Source Code :

Gambar 4.15 Potongan Code Scanning XSS Injection pada SITE

Aplikasi mencari root dari alamat URL tersebut. Alamat root

dimasukkan ke antrian pertama untuk dicari semua alamat URL pada

halaman URL tersebut dengan fungsi get_all_urls. Setelah itu aplikasi

akan memeriksa setiap alamat URL untuk dimasukkan ke antrian untuk

dicari semua lamat URL pada halaman URL jika belum dicari dan mencari

kelemahan terhadap injeksi XSS oleh fungsi check_xss_inject (alamat URL

mengirim nilai dengan metode GET) dan check_xss_inject_post (alamat

URL mengirim nilai dengan metode POST).

Dalam submenu ini aplikasi berhenti pada dua keadaan yaitu saat

Figur

Gambar 3.1 Perancangan Sistem Secara Global

Gambar 3.1

Perancangan Sistem Secara Global p.35
Gambar 3.3 Diagram Alur Scan URL

Gambar 3.3

Diagram Alur Scan URL p.40
Gambar 3.4 Diagram Alur Scan Pada PAGE

Gambar 3.4

Diagram Alur Scan Pada PAGE p.41
Gambar 3.5 Diagram Alur Scan Pada SITE

Gambar 3.5

Diagram Alur Scan Pada SITE p.43
Gambar 3.6 Diagram Alur Scan pada SITE Secara Cepat

Gambar 3.6

Diagram Alur Scan pada SITE Secara Cepat p.44
Gambar 4.4 Halaman Scanning SQL Injection pada PAGE

Gambar 4.4

Halaman Scanning SQL Injection pada PAGE p.53
Gambar 4.6 Halaman Scanning SQL Injection pada SITE (FAST)

Gambar 4.6

Halaman Scanning SQL Injection pada SITE (FAST) p.55
Gambar 4.7 Halaman Scanning SQL Injection pada SITE (FULL)

Gambar 4.7

Halaman Scanning SQL Injection pada SITE (FULL) p.56
Gambar 4.8 Potongan Code Scanning SQL Injection pada SITE

Gambar 4.8

Potongan Code Scanning SQL Injection pada SITE p.57
Gambar 4.10 Potongan Code Scanning XSS

Gambar 4.10

Potongan Code Scanning XSS p.59
Gambar 4.11 Halaman Scanning XSS Injection pada PAGE

Gambar 4.11

Halaman Scanning XSS Injection pada PAGE p.60
Gambar 4.12 Potongan Code Scanning XSS Injection pada PAGEAplikasi mengambil alamat URL pada tab yang sedang aktif

Gambar 4.12

Potongan Code Scanning XSS Injection pada PAGEAplikasi mengambil alamat URL pada tab yang sedang aktif p.61
Gambar 4.13 Halaman Scanning XSS Injection pada SITE (FAST)

Gambar 4.13

Halaman Scanning XSS Injection pada SITE (FAST) p.62
Gambar 4.15 Potongan Code Scanning XSS Injection pada SITE

Gambar 4.15

Potongan Code Scanning XSS Injection pada SITE p.65
Gambar 4.16 Halaman Informasi Domain Website

Gambar 4.16

Halaman Informasi Domain Website p.66
Gambar 4.17 Potongan Code Informasi Domain Website

Gambar 4.17

Potongan Code Informasi Domain Website p.67
Gambar 4.18 Halaman Informasi Client Connection

Gambar 4.18

Halaman Informasi Client Connection p.68
Gambar 4.19 Potongan Code Informasi Client Connection

Gambar 4.19

Potongan Code Informasi Client Connection p.69
Gambar 4.21 Potongan Code Get Information about Cookie

Gambar 4.21

Potongan Code Get Information about Cookie p.71
Gambar 4.22  Halaman Proses Serta Hasil Scanning

Gambar 4.22

Halaman Proses Serta Hasil Scanning p.72
Tabel 5.1 Daftar alamat website yang diperiksa

Tabel 5.1

Daftar alamat website yang diperiksa p.76
Gambar 5.3 Tampilan Sesudah Diinjeksi SQL pada Tab Url

Gambar 5.3

Tampilan Sesudah Diinjeksi SQL pada Tab Url p.77
Gambar 5.4 Tampilan Sebelum Diinjeksi SQL pada Page

Gambar 5.4

Tampilan Sebelum Diinjeksi SQL pada Page p.78
Gambar 5.6 Tampilan Sesudah Diinjeksi SQL pada Page

Gambar 5.6

Tampilan Sesudah Diinjeksi SQL pada Page p.79
Gambar 5.9 Tampilan Sesudah Diinjeksi SQL pada Site (FAST)

Gambar 5.9

Tampilan Sesudah Diinjeksi SQL pada Site (FAST) p.81
Gambar 5.11 Hasil Scanning SQL Injection pada Site (FULL)

Gambar 5.11

Hasil Scanning SQL Injection pada Site (FULL) p.83
Gambar 5.12 Tampilan sesudah diinjeksi SQL pada Site (FULL)

Gambar 5.12

Tampilan sesudah diinjeksi SQL pada Site (FULL) p.83
Gambar 5.17 Hasil Scanning XSS Injection pada Page

Gambar 5.17

Hasil Scanning XSS Injection pada Page p.87
Gambar 5.18 Tampilan Sesudah Diinjeksi XSS pada Page

Gambar 5.18

Tampilan Sesudah Diinjeksi XSS pada Page p.88
Gambar 5.19 Tampilan Sebelum Diinjeksi XSS pada Site (cepat)

Gambar 5.19

Tampilan Sebelum Diinjeksi XSS pada Site (cepat) p.89

Referensi

Memperbarui...