1 BAB III PERANCANGAN DAN PEMBUATAN SISTEM 3.1 DESAIN SISTEM Prosedur perancangan sistem secara umum untuk pembangunan Aplikasi Web Vulnearbility Scan...
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
BAB III PERANCANGAN DAN PEMBUATAN SISTEM 3.1 DESAIN SISTEM Prosedur perancangan sistem secara umum untuk pembangunan Aplikasi Web Vulnearbility Scanner terhadap kelemahan XSS dan SQL Injection menggunakan Java ini terdiri atas beberapa tahap, antara lain meliputi perancangan : 1. Data Perancangan data yang dimaksudkan adalah perancangan datadata yang berkaitan dengan pembuatan perangkat lunak, meliputi : • Data input Termasuk di dalamnya data-data penunjang sebagai inputan pembuatan sistem. • Data output Dari data input di atas, sistem akan menggunakannya hingga didapatkan kesimpulan sebagai output sistem. 2. Proses Perancangan proses yang dimaksudkan adalah bagaimana sistem akan bekerja, proses-proses yang digunakan, mulai dari masuknya data input yang kemudian diproses oleh sistem hingga menjadi data output. 3. Antarmuka Perancangan antarmuka mengandung penjelasan tentang desain dan implementasi sistem yang digunakan dalam sistem yang kita dibuat.
13
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Secara keseluruhan perancangan sistem atau desain sistem yang akan dibangun :
Gambar 3. 1 Perancangan Sistem secara global Dari gambar 3.1 dapat diketahui : 1. Aplikasi yang dibangun melakukan request ke server berupa URL yang diinputkan 2. Server memberikan respon berupa HTML 3. Aplikasi WVS menscan respon HTML tersebut, kemudian mendapatkan struktur URL dari hasil scan dan menginjeksi struktur URL tersebut dengan script SQL dan script clientside yang diambil dari Datatext 4. Aplikasi WVS mengirim request ke server berupa struktur hasil scan yang telah di injeksi 5. Server mengirim respon hasil injeksi ke aplikasi WVS 6. Aplikasi WVS memberikan report hasil keseluruhan
14
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
3.2 PERANCANGAN SISTEM Perancangan sistem ini terdiri atas 2 basis yang akan diuraikan pada sub bab di bawah ini : 3.2.1
Web Vulnerability Scanner Berbasis 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. Input dari web vulnerability scanner berbasis online ini adalah berupa URL dari web yang akan di scan.
3.2.2
Web Vulnerability Scanner Berbasis 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. Dan terdapat 2 input untuk web vulnerability scanner berbasis offline ini yang pertama adalah berupa file .ZIP yang berisi file-file dari web yang akan di scan oleh web vulnerability scanner berbasis offline ini. Dan input yang kedua adalah berupa file .SQL yang akan di import ke dalam database yang berfungsi sebagai database dari file .ZIP diatas.
3.3 PERANCANGAN DATA Dalam perancangan data, akan dijelaskan mengenai data-data yang terdapat dalam sistem sesuai dengan fungsinya sebagai data input sistem.
15
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
3.3.1 DATA INPUT WVS BERBASIS ONLINE Untuk menjalankan web vulnerability scanner berbasis online ini menggunakan input berupa : 3.3.1.1 URL Pada aplikasi ini dibutuhkan input URL yang digunakan untuk mengakses suatu web. URL tersebut kemudian digunakan untuk melakukan request kepada server sehingga server tersebut memberikan respon berupa HTML kepada client. Dan respon berupa HTML tersebut itulah yang akan di scan. Contoh suatu URL : http://www.situsbagus.com 3.3.2 DATA INPUT WVS BERBASIS OFFLINE Untuk menjalankan web vulnerability scanner berbasis offline ini diperlukan input berupa : 3.3.2.1 File ZIP Pada aplikasi web vulnerability scanner offline ini File .ZIP digunakan pada Web Vulnerability Scanner yang berbasis Offline, dimana user memasukkan file .ZIP yang berisi file-file dari web yang akan di scan. Kemudian file .ZIP tersebut akan di-ekstract oleh aplikasi ini menuju folder htdocs/BITWVS yang berada pada subdirectory dari aplikasi webserver. Sehingga file-file yang telah diekstrak dari dalam file .ZIP tersebut dapat dijalankan pada browser dengan bantuan webserver. Yang kemudian akan di scan oleh aplikasi ini. 3.3.2.2 File SQL Selain input file .ZIP diatas. File .SQL disini digunakan pada Web Vulnerability Scanner berbasis offline sebagai database dari file-file yang telah diekstrak dari file .ZIP diatas, dimana user memasukkan file .SQL tersebut pada aplikasi yang dibangun ini, yang kemudian file .SQL tersebut akan di-import menuju MySQL DBMS oleh aplikasi web vulnerability scanner berbasis offline ini untuk membangun suatu
16
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
database yang mana berhubungan dan digunakan oleh file-file web yang telah di ekstrak ke folder htdocs/BITWVS diatas. 3.4 PERANCANGAN PROSES Perancangan proses pada bagian ini akan menjelaskan tentang bagaimana sebuah input dari user akan diproses menjadi sebuah output yang diharapkan.
17
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
3.4.1 Proses Scanning Pada perancangan sistem aplikasi ini, disediakan form untuk sscanning yang berfungsi untuk men-scan suatu web untuk mendeteksi terhadap kelemahan XSS maupun kelemahan SQL Injection. Berikut diagram alur dari proses Scan XSS dan Scan SQL Injection :
Gambar 3. 2 Diagram Alur Scan XSS
18
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Gambar 3. 3 Diagram Alur Scan SQL Injection
19
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
3.5 PERANCANGAN ANTARMUKA 3.5.1 Blok Arsitektur Sistem WVS Online Untuk perancangan antar muka aplikasi WVS berbasis Online, di bawah ini akan ditunjukkan blok arsitektur sistem dari web vulnerability scanner berbasis online yang digunakan pada proyek akhir ini :
Gambar 3. 4 Blok Arsitektur Sistem WVS berbasis online Dari Gambar 3.4 dapat diketahui : 1. Aplikasi yang dibangun melakukan request ke server berupa URL yang diinputkan 2. Server memberikan respon berupa HTML 3. Aplikasi WVS menscan respon HTML tersebut, kemudian mendapatkan struktur URL dari hasil scan dan menginjeksi parameter dari struktur URL tersebut dengan script SQL dan script clientside yang diambil dari Datatext
20
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
4. 5. 6.
Aplikasi WVS mengirim request ke server berupa struktur URL hasil scan yang telah di injeksi Server mengirim respon hasil injeksi ke aplikasi WVS Aplikasi WVS memberikan report hasil keseluruhan
3.5.2
Blok Arsitektur sistem WVS berbasis Offline Untuk perancangan antar muka aplikasi WVS berbasis Offline, di bawah ini akan ditunjukkan blok arsitektur sistem dari web vulnerability scanner berbasis online yang digunakan pada proyek akhir ini :
Gambar 3. 5 Blok Arsitektur Sistem WVS berbasis offline Penjelasan dari Gambar 3.5 adalah : 1. Aplikasi yang dibangun mengambil input berupa file .SQL dan file .ZIP yang berisi file-file web yang akan di scan 2. File .ZIP dan file .SQL tersebut dikirim ke Aplikasi WVS. Kemudian aplikasi WVS akan mengekstrak file .ZIP tersebut kedalam folder htdocs/BITWVS yang berada didalam directory
21
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
3. 4.
webserver supaya file-file didalamnya dapat dijalankan. Dan aplikasi WVS akan mengimport file .SQL menuju database server, supaya file-file yang telah diekstrak dapat dijalankan sesuai database yang diimport. Kemudian aplikasi WVS akan menscan file .PHP yang telah di inputkan dengan melalui http://localhost/BITWVS Dalam proses scan aplikasi WVS menginjeksikan script yang diambil dari datatext. Setelah itu Aplikasi WVS memberikan report
3.6 IMPLEMENTASI SISTEM Dari desain sistem yang telah dibuat sebelumnya, maka dapat di implementasikan seperti beberapa contoh tampilan berikut :
Gambar 3. 6 Tampilan Menu Utama
22
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Gambar 3. 7 Halaman WVS Scan XSS
23
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Berikut adalah potongan script dari Proses Scan XSS Online :
Gambar 3. 8 Potongan Script Scan XSS
24
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Gambar 3. 9 Tampilan Laporan Scan XSS
Gambar 3. 10 Halaman WVS SQL Injection
25
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Berikut adalah potongan script dari proses Scan SQL Injection :
Gambar 3. 11 Script proses Scan SQL Injection
26
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Gambar 3. 12 Tampilan Laporan Scan SQL Injection
Gambar 3. 13 Halaman WVS berbasis Offline
27
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Berikut adalah potongan script dari proses import file .SQL :
Gambar 3. 14 Potongan script proses import file .sql Berikut adalah potongan script dari proses ekstrak file .ZIP :
Gambar 3. 15 Potongan script proses ekstrak file .zip
28
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Gambar 3. 16 Report Last Scan
29
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Berikut adalah potongan script dari proses menampilkan Last Scan Report :
Gambar 3. 17 potongan script last scan report
30
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Gambar 3. 18 Proses Update selesai Berikut adalah potongan script dari proses Update :
Gambar 3. 19 Potongan Script Proses Update
Gambar 3. 20 Form untuk Setting Proxy
31
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Gambar 3. 21 Fitur Help
32
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Berikut adalah isi dari datatext script client side yang di injeksikan saat proses Scanning XSS :
rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java
Dan berikut adalah isi dari datatext script client side yang di injeksikan saat prose Scanning SQL Injection : ' -1 1 order by 1 -; 1 order by 3 1 order by 4 1 order by 5 -1 union all select 1,2,3 -1 union all select 1 -1 union all select 1,2 -1 union all select 1,2,3 -1 union select 1,2,3,4 -1 union select 1,2,3,4,5