SKRIPSI
Oleh :
ARDI MARTONO
0734010030
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
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
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.
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
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
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) 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
Halaman
Tabel 5.1 Daftar alamat website uji coba ……... 63
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
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
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
Gambar 5.25 Tampilan Informasi website... 80
Gambar 5.26 Tampilan info client………... 81
Gambar 5.27 Hasil get cookie………... 82
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
10. Add-ons firefox siap untuk di gunakan
Gambar 2.13 Tampilan Insta lasi Add-ons
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
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.
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
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
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
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
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 :
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
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
Y URL yang akan di graber
mencari alamat root website pada URL
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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.
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
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
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