rancang bangun aplikasi web vulnerability scanner terhadap

advertisement
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
BAB IV
PENGUJIAN DAN ANALISA
Pengujian dan analisa adalah tahap yang penting dalam pengerjaan
proyek akhir ini. Dari hasil-hasil yang diperoleh, akan dapat dijadikan
sebagai parameter yang penting dalarn pengembangan selanjutnya jika
masih diperlukan suatu penyempurnaan. Pada bab ini akan dibahas
mengenai cara kerja sistem dan proses-proses yang terjadi pada pelaksanaan
uji coba serta analisa terhadap aplikasi yang telah dibangun.
4.1 LINGKUNGAN PENGUJIAN
Pengujian dilakukan dengan sistem hardware sebagai berikut:
o Komputer dengan spesifikasi Pentium Dual Core 2,6 GHz, RAM
2GB,
o Harddisk 250GB, VGA Onboard
o Sistem Operasi Windows XP profesional edition Service Pack
o CPU yang telah terinstall Java Virtual Machine yang berguna
untuk menjalankan aplikasi ini yang dibuat menggunakan bahasa
pemrograman Java.
o Komputer yang terkoneksi Internet
35
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
4.2 Uji Coba
4.2.1
Aplikasi Web Vulnerability Scanner
Gambar 4. 1 Form Halaman Utama
Pada Gambar 4.1 diatas terdapat Form Menu Utama, pada form tersebut
terdapat 6 buah tombol sebagai berkut :
• Tombol Scan XSS didalam panel WVS Scan Berbasis Online
digunakan untuk melakukan proses scanning pada suatu web
terhadap kelemahan XSS secara online atau dengan kata lain
terhubung dengan internet.
• Tombol Scan SQL Injection didalam panel WVS Scan Berbasis
Online digunakan untuk melakukan proses scanning pada suatu
web terhadap kelemahan SQL Injection secara Online atau
terhubung dengan internet
• Tombol Scan Berbasis Offline didalam Panel WVS Scan Berbasis
Offline digunakan untuk melakukan proses scanning pada web
lokal yang tidak terhubung dengan internet
36
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Berikut adalah proses jika tombol Scan XSS ditekan :
Gambar 4. 2 Form Scanning XSS
37
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Dan web yang di scan terhadap kelemahan XSS :
Gambar 4. 3 Website yang akan discan
Berikut jika proses Scan XSS Online telah selesai :
Gambar 4. 4 Proses Scan XSS telah selesai
38
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Setelah proses scanning XSS Online selesai akan muncul Report-nya :
Gambar 4. 5 Laporan Scan XSS
Dan berikut proses jika tombol Scan SQL Injection pada form Main
menu seperti pada gambar 4.1 ditekan :
Gambar 4. 6 Proses Scan SQL Injection
39
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Jika proses Scan SQL Injection telah selesai :
Gambar 4. 7 Proses Scan SQL Injection selesai
40
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Berikut adalah Report jika proses scan SQL Injection Online telah selesai :
Gambar 4. 8 Report Scan SQL Injection
41
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Dan jika tombol Scan Berbasis Offline pada form Menu Utama pada
gambar 4.1 ditekan akan muncul form berikut :
Gambar 4. 9 Form Scan Offline
Pada Gambar 4.9 terdapat Form Scan Offline yang digunakan untuk
melakukan scanning pada web yang terdapat di computer local. Pada form
diatas terdapat :
•
Textfield File .SQL yang berfungsi untuk menunjukkan lokasi dari
file .SQL yang akan di import, disamping textfield File SQL
terdapat tombol Browse yang digunakan meng-browse file .SQL
yang akan di import. Dan file .SQL yang di import merupakan
database dari web yang akan di scan secara offline.
42
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
•
Textfield Username yang digunakan untuk memasukkan username
dari database.
•
Textfield Password yang digunakan untuk memasukkan password
dari database, disamping textfield password terdapat keterangan
“kosongkan jika tidak ada password” yang berarti jika password
tidak ada,maka textfield password dikosongi saja.
•
Tombol Import SQL File yang digunakan untuk melakukan
proses import file .SQL menuju database.
•
Tombol Browse .ZIP digunakan untuk mengekstrak file .ZIP
yang berisi file-file web yang akan di scan secara offline. File .ZIP
tersebut akan di ekstrak menuju directory htdocs/BITWVS yang
berada di subdirectory dari webserver. Sehingga setelah diekstrak
file-file web tersebut dapat dijalankan dengan bantuan webserver
dengan URL http://localhost/BITWVS
Pada proses scan offline ini file .SQL yang di import harus merupakan
database dari file-file web yang diekstrak menuju directory
htdocs/BITWVS. Sehingga web tersebut dapat di scan secara offline. Jika
tombol Browse SQL pada Gambar 4.9 diatas ditekan maka akan muncul
form berikut :
Gambar 4. 10 Browse file .SQL
43
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Kemudian dapat dipilih file .SQL yang akan di import. Setelah memilih file
.SQL yang akan di import, kemudian dilanjutkan dengan mengisi Textfield
username dan textfield password yang merupakan username dan password
dari database Mysql.
Gambar 4. 11 Form WVS Offline yang terisi
Setelah itu tekan tombol import file .SQL untuk melakukan proses import
file .SQL.
44
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Dan Isi file .sql yang di import adalah sebagaiberikut :
Gambar 4. 12 isi file .sql yang di import
45
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Pada gambar 4.11.1 menunjukkan bahwa isi file .SQL tersebut terdapat
perintah membuat database dengan nama ”habib”. Halaman
http://localhost/phpmyadmin yang dilihat melalui browser untuk melihat
apakah database dengan nama habib sudah berhasil di import :
Gambar 4. 13 halaman phpmyadmin
setelah proses import file .SQL selesa, kemudian dilanjutkan dengan
mengekstrak file .ZIP yang berisi file-file web yang akan di scan dengan
cara menekan tombol Browse file .ZIP maka akan muncul form untuk
mengekstrak file .ZIP
46
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Gambar 4. 14 Form Ekstrak .ZIP
Pada form ekstrak file .ZIP terdapat :
•
Tombol Open yang berfungsi untuk membuka file .ZIP, kemudian
isi file .ZIP tersebut akan ditampilkan pada tabel.
•
Tombol Extract yang berfungsi untuk mengekstrak file .ZIP
tersebut ke dalam folder htdocs/BITWS
47
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Bila tombol Open ditekan, maka akan muncul Form Browse File .ZIP :
Gambar 4. 15 Form Browse File .ZIP
File .ZIP saat dibuka isinya :
Gambar 4. 16 Form saat File .ZIP terbuka
48
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Kemudian tekan tombol Extract maka akan secara otomatis mengekstrak
file .ZIP tersebut menuju directory htdocs/BITWVS :
Gambar 4. 17 Proses ekstrak file .ZIP selesai
Mengecek pada directory htdocs/BITWVS, apakah file .ZIP telah berhasil
di ekstrak :
Gambar 4. 18 directory htdocs/BITWVS
49
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Setelah melakukan proses ekstrak, maka kembali pada form WVS Offline
seperti pada gambar 4.9, kemudian dilanjutkan dengan menekan tombol
Scan XSS pada form WVS Offline,maka akan secara otomatis melakukan
proses scanning XSS pada URL http://localhost/BITWVS/ yang mana
merupakan file yang telah diekstrak pada folder htdocs/BITWVS.
Gambar 4. 19 Proses Scan XSS Offline
50
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Setelah proses scanning XSS Offline selesai, akan muncul report hasil
scanning tersebut.
Gambar 4. 20 Report Scan XSS Offline
51
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Setelah proses scan XSS Offline selesai maka akan dilanjutkan dengan
proses scan SQL Injection Berbasis Offline dengan menekan tombol Scan
SQL Injection pada form WVS Offline seperti pada gambar 4.9 kemudian
akan secara otomatis akan melakukan scan SQL Injection pada URL
http://localhost/BITWVS/
Gambar 4. 21 Proses Scanning SQL Injection Offline
52
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Setelah proses scanning XSS Offline selesai, akan muncul report hasil
scanning tersebut
Gambar 4. 22 Report Scan SQL Injection Offline
53
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Setelah proses Scan Offline selesai,maka kembali pada form Menu Utama
seperti pada Gambar 4.1. untuk melihat Report Scan terakhir dapat
dilakukan dengan menekan tombol Last Report Scan maka akan muncul
halaman report scan yang dilakukan terakhir kali
Gambar 4. 23 Report Last Scan
54
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Setelah melihat Report Last Scan, kemudian kembali pada Form Menu
Utama seperti gambit 4.1 untuk melakukan proses Update datatext terbaru
script yang di injeksikan, dengan cara menekan tombol Update maka akan
muncul form Update
Gambar 4. 24 Form Updater
Pada form Update terdapat Tombol Update yang berfungsi untuk
melakukan proses Update datatext terbaru script yang di injeksikan. Juga
terdapat textfield yang berisi alamat URL dimana lokasi update berada.
Gambar 4. 25 Proses Update selesai
File update yang telah di download akan di ekstrak menuju lokasi folder
aplikasi Web Vulnerability Scanner untuk me-replace file datatext versi
sebelumnya.
55
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Dan juga terdapat fitur help atau panduan untuk menggunakan aplikasi yang
dibangun ini dengan memilih menu item Bantuan > Bantuan pada form
menu utama Gambar 4.1. berikut adalah tampilan fitur help atau panduan
dari aplikasi yang dibangun ini :
Gambar 4. 26 Tampilan fitur Help
56
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
4.3 ANALISA
4.3.1 Analisa Scan XSS
Dari hasil ujicoba Scan XSS pada bab sebelumnya dapat diambil
kesimpulan sebagai berikut :
Dari proses scan xss terhadap URL http://localhost/Bos/ didapatkan 7
buah link :
• http://localhost/Bos/index.php?id=1
• http://localhost/Bos/index.php?id=2
• http://localhost/Bos/index.php?id=3
• http://localhost/Bos/index.php?id=4
• http://localhost/Bos/index.php?id=5
• http://localhost/Bos/daftar.php
• http://localhost/Bos/vuln.php?status=ginjal
dari ke 7 link diatas, 6 diantaranya memiliki parameter yaitu :
• http://localhost/Bos/index.php?id=1
• http://localhost/Bos/index.php?id=2
• http://localhost/Bos/index.php?id=3
• http://localhost/Bos/index.php?id=4
• http://localhost/Bos/index.php?id=5
• http://localhost/Bos/vuln.php?status=ginjal
masing-masing link diatas yang memiliki parameter di injeksikan dengan
salah satu script clientside yang diambil dari datatext :
<H1>XSSEDbyYourself</H1>
sehingga menjadi seperti berikut :
• http://localhost/Bos/index.php?id=<H1>XSSEDbyYourself</H1>
• http://localhost/Bos/index.php?id=<H1>XSSEDbyYourself</H1>
• http://localhost/Bos/index.php?id=<H1>XSSEDbyYourself</H1>
• http://localhost/Bos/index.php?id=<H1>XSSEDbyYourself</H1>
• http://localhost/Bos/index.php?id=<H1>XSSEDbyYourself</H1>
• http://localhost/Bos/vuln.php?status=<H1>XSSEDbyYourself</H1
>
57
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
Dan hasilnya ke enam link tersebut vulnerable to XSS atau memiliki celah
kelemahan terhadap serangan XSS. Karena script yang telah di injeksikan
tersebut dieksekusi oleh server. Berikut page source dari url yang telah di
injeksi :
You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version
for the right syntax to use near
'<H1>XSSEDbySPYROKiD</H1> ORDER BY id ASC' at line 1
Dan berikut tampilan dari URL yang telah di injeksi :
Gambar 4. 27 Halaman URL yang telah di injeksi
4.3.2 Analisa Scan SQL Injection
Dari hasil ujicoba Scan SQL Injection pada bab sebelumnya dapat
diambil kesimpulan sebagai berikut :
Dari proses scan xss terhadap URL http://localhost/Bos/ didapatkan 7 buah
link :
• http://localhost/Bos/index.php?id=1
• http://localhost/Bos/index.php?id=2
• http://localhost/Bos/index.php?id=3
• http://localhost/Bos/index.php?id=4
• http://localhost/Bos/index.php?id=5
• http://localhost/Bos/daftar.php
• http://localhost/Bos/vuln.php?status=ginjal
dari ke 7 link diatas, 6 diantaranya memiliki parameter yaitu :
• http://localhost/Bos/index.php?id=1
• http://localhost/Bos/index.php?id=2
• http://localhost/Bos/index.php?id=3
58
rancang bangun aplikasi web vulnerability scanner terhadap
kelemahan sql injection dan xss menggunakan java
•
•
•
http://localhost/Bos/index.php?id=4
http://localhost/Bos/index.php?id=5
http://localhost/Bos/vuln.php?status=ginjal
masing-masing link diatas yang memiliki parameter di injeksikan dengan
salah satu script SQL yang diambil dari datatext yaitu tanda kutip “ ‘ ”
sehingga menjadi sebagai berikut :
•
•
•
•
•
•
http://localhost/Bos/index.php?id=’1
http://localhost/Bos/index.php?id=’2
http://localhost/Bos/index.php?id=’3
http://localhost/Bos/index.php?id=’4
http://localhost/Bos/index.php?id=’5
http://localhost/Bos/vuln.php?status=’ginjal
Dan hasilnya ke enam link tersebut vulnerable atau memiliki celah
kelemahan terhadap serangan SQL Injection. Karena didapatkan pesan error
saat melakukan request ke server berupa URL yag telah di injeksikan
tersebut.Berikut pesan error yang muncul :
You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version
for the right syntax to use near '\'1 ORDER BY id
ASC' at line 1
59
Download