Perancangan sistem ini terdiri atas 2 basis yang akan diuraikan pada sub bab di bawah ini :
a. Web Vulnerability Scanner Ber basis Online
Pada Web Vulnerability Scanner berbasis online ini berjalan
dengan menggunakan koneksi internet. Begitu juga dengan web yang akan di scan adalah web yang berada di internet. Masukan data untuk aplikasi web vulnerability scanner berbasis online ini adalah berupa Url
dari web yang akan di scan.
b. Web Vulnerability Scanner Ber basis Offline
Web Vulnerability Scanner berbasis offline ini berjalan secara
offline atau tanpa terkoneksi pada internet. Web yang akan di scan oleh
web vulnerability scanner berbasis offline ini adalah web yang berada
pada computer local yang dijalankan dengan menggunakan aplikasi
webserver.
3.3 PERANCANGAN DATA INPUT
Dalam perancangan data masukan, akan dijelaskan mengenai data-data yang terdapat dalam sistem sesuai dengan fungsinya sebagai data input sistem.
a. DATA INPUT WEB VULNERABILITY BERBASIS ONLINE /
OFFLINE
Untuk menjalankan Web Vulnerability Scanner berbasis online ini menggunakan masukan berupa :
1) Url
Pada aplikasi ini alamat URL akan didapatkan secara otomatis pada tab jendela yang sedang dibuka saat itu. Url tersebut
kemudian digunakan untuk melakukan request kepada server
sehingga server tersebut memberikan respon berupa tag HTML
kepada klien. Dan respon berupa Tag HTML tersebut itulah yang akan di lakukan prosespencarian.
3.4PERANCANGAN PROSES
Perancangan proses pada bagian ini akan menjelaskan tentang bagaimana sebuah permintaan dari user sesuai dengan menu yang ada pada aplikasi tersbut akan diproses menjadi sebuah output yang diharapkan.
3.4.1 Proses Scanning
Pada perancangan sistem aplikasi ini, disediakan beberapa menu utama dan tambahan. Pada menu utama terdapat dua menu yaitu
pencarian kelemahan terhadap SQL Injection dan percaharian
kelemahan terhadap XSS Injection. Pada menu pencarian kelemahan
terhadap SQL Injection terdapat empat sub menu diantaranya
pencarian pada alamat Url yang sedang dibuka, pencarian pada
halaman yang sedang dibuka, pencarian pada seluruh halaman dalam satu website dengan cepat, dan pencarian pada seluruh halaman dalam satu website secara penuh.
Pada perancangan sistem aplikasi ini, diadopsikan dari sebuah
langkah sederhana dalam mencari kerentanan terhadap SQL Injection
maupun XSS Injection yang sudah dibuat sebelumnya. Berikut diagram
alur dari prosenya pada Gambar 3.2.
Gambar 3.2 Diagram Alur Scan XSS
Penjelasan dari Gambar 3.2 adalah
a. Aplikasi WVS melakukan request ke server berupa Url yang telah
di masukkan oleh pengguna.
b. Server memberikan respon berupa tag html yang di minta aplikasi
c. Kemudian aplikasi WVSmencari kelemahan setiap tag HTML yang telah diberikan oleh server.
d. Aplikasi WVS menangkap semua tag <a herf> dari tag HTML
sudah didapatkan dari server.
e. Proses pengecekan apakah ada parameternya atau tidak, jika tidak ada maka aplikasi akan kembali lagi melakukan proses ke 3 tetapi jika ada maka akan lanjut ke proses selanjutnya.
f. Proses selanjutnya aplikasi menulis ulang parameter tersebut
dengan script injeksi yang diambil dari datatext.
g. Lalu aplikasi mengirim ulang ke server berupa Url yang
parameternya telah di injeksi.
h. Server memberikan respon berupa tag HTML, kemudian tag HTML
tersebut di scanning.
i. Apakah pada respon tag HTML tersebut terdapat script yang
diinjeksikan, jika ya maka web tersebut mempunyai kelemahan dan jika tidak maka web tersebut tidak mempunyai kelemahan terhadap
XSS Injection atau SQL Injection.
Dilakukan pengembangan terhadap proses diatas yang dijelaskan sebelumnya menjadi aplikasi ini yang terdiri dari beberapa menu. Aplikasi ini terdapat empat macam cara pencarian yaitu
pencarian terhadap alamat Url yang sedang aktif, halaman yang sedang
dibuka, seluruh alamat Url (link) dalam satu website baik secara cepat atau seluruhnya. Setiap menu tersebut diciptakan sesuai kebutuhan
pengguna dalam hal waktu yang dibutuhkan untuk proses pencarian. Dari empat macam pencarian memiliki waktu yang berbeda dalam prosesnya masing-masing. Aplikasi ini juga ditambahkan beberapa menu tambahan yaitu menu untuk melihat informasi mengenai domain yang digunakan oleh website tersebut, informasi koneksi internet yang
dipergunakan oleh pengguna saat itu, dan informasi cookie pada
browser Google Chrome yang sesuai dengan nama domain yang sedang dibuka. Berikut adalah pembahasan empat sub menu pada menu pencarian kelemahan terhadap SQL Injection maupun XSS Injection.
Sub menu pertama adalah pencarian pada alamat Url yang sedang
dibuka. Algoritma dari proses submenu ini ada pada Gambar 3.3.
Gambar 3.3 Diagram Alur Scan terhadap Url
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 SQL Injection maupun XSS Injection atau tidak. Jika
positif maka aplikasi menampilkan alamat Url yang berhasil
menandakan kemungkinanadanya kelemahan terhadap SQL Injection
maupun XSS Injection tetapi jika tidak maka aplikasi memunculkan
keterangan kalau alamat URL telah aman.
Submenu kedua adalah pencarian kelemahan terhadap SQL
Injection maupun XSS Injection pada halaman yang sedang dibuka. Algoritma pada proses submenu ini ada pada Gambar 3.4.
Algoritma pada proses yang terjadi pada gambar 3.4 hampir
sama dengan proses pencarian kelemahan terhadap SQL Injection
maupun XSS Injection pada Url sebelumnya tetapi perbedaannya
adalah proses pencarian dilakukan berulang sesuai banyaknya alamat
Url (link) yang didapat dari halaman yang dibuka (grabber) dan yang masih dalam satu website. Setiap alamat Url (link) dilakukan pencarian sampai semua link selesai dilakukan pencarian kerentanan terhadap
SQL Injection maupun XSS Injection. Setelah selesai barulah aplikasi
menampilkan beberapa alamat URL (link) yang rentan terhadap injeksi
SQL maupun XSS.
Submenu ketiga adalah pencarian kelemahan terhadap SQL
Injection maupun XSS Injection pada website yang sedang dibuka. Algoritma pada proses submenu ini ada pada Gambar 3.5.
Gambar 3.5 Diagram Alur Scan pada SITE
Algoritma pada proses yang terjadi pada gambar 3.5 hampir
sama dengan proses pencarian kelemahan terhadap SQL Injection
maupun XSS Injection pada PAGE sebelumnya tetapi perbedaannya
adalah terdapat proses pencarian semua alamat Url (link) pada sebuah halaman Url (grabber) yang dilakukan secara berulang sampai antrian untuk dilakukan (grabber) sudah kosong. Pada semua alamat Url (link)
didaftarkan ke antrian yang akan dilakukan (grabber) apabila link
tersebut belum dilakukan (grabber). Setelah antrian alamat Url (link)
yang akan dilakukan (grabber) barulah aplikasi menampilkan beberapa
link yang rentan terhadap SQL Injection maupun XSS Injection.
Sub menu yang terakhir adalah pencarian kelemahan terhadap
SQL Injection maupun XSS Injection pada website yang sedang dibuka tetapi hanya mencari satu alamat Url (link) yang rentan pada website tersebut. Aplikasi pada proses submenu ini ada pada Gambar 3.6.
Algoritma pada proses yang terjadi pada gambar 3.6 hampir
sama dengan proses pencarian kelemahan terhadap SQL Injection
maupun XSS Injection pada SITE sebelumnya tetapi perbedaannya
adalah terdapat pemberhentian keseluruhan proses bila aplikasi sudah menemukan satu alamat Url (link) yang memiliki kerentanan terhadap
SQL Injection maupun XSS Injection.
Aplikasi 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 koneksi yang dipergunakan oleh pengguna. Menu tambahan terakhir
adalah menampilkan informasi mengenai cookie yang sesuai dengan
nama domain website pada tab yang sedang aktif. Algoritma pada proses submenu untuk informasi mengenai domain website ada pada Gambar 3.7.
Gambar 3.7 Diagram Alur Informasi Domain Website
Algoritma pada proses yang terjadi pada gambar 3.7 adalah proses mengenai bagaimana aplikasi menampilkan informasi mengenai
domain website pada tab yang sedang aktif. Aplikasi mendapatkan
informasi dari website http://who.is/whois/(nama_website) dimana
(nama website) didapat dari alamat Url. Hasil informasi yang didapat akan dipilah-pilah dan hasilnya ditampilkan.
Sub menu yang terakhir adalah menampilkan informasi mengenai koneksi yang dipergunakan oleh pengguna. Algoritma pada proses submenu ini ada pada Gambar 3.8.
Gambar 3.8 Diagram Alur Informasi Koneksi Pengguna
Algoritma pada proses yang terjadi pada Gambar 3.8 adalah proses mengenai bagaimana aplikasi menampilkan informasi mengenai koneksi internet yang dipakai oleh pengguna. Aplikasi mendapatkan
informasi dari website http://www.ip-address.org/ dan hasil
informasinya dipilah-pilah untuk diambil informasi yang penting. Setelah itu hasil pilahan informasi ditampilkan.