TUGAS APLIKASI
OLEH:
GABRIEL IRFON ELROHI SOEN - 52013019
i
HALAMAN PERSETUJUAN / PENGESAHAN
TUGAS APLIKASI
DISUSUN OLEH:
GABRIEL IRFON ELROHI SOEN - 52013019
Disetujui Oleh:
Pembimbing
ii
KATA PENGANTAR
Puji syukur saya panjatkan kepada Tuhan Yesus Kristus karena rahmat dan
kasih karuniaNya sehingga saya dapat menyelesaikan segala laporan tugas aplikasi
saya yang berjudul "Web Testing to Finding Vulnerabilty of URL Injection by Perl
Script" dengan sukses.
Dengan penuh rasa syukur, penulis mengucapkan terima kasih yang sedalam-
dalamnya pada keluarga yang telah mendukung dan memberikan semangat serta doa
dalam menyelesaikan tugas ini, Bapak Ahyar Muawwal, S.Kom., M.T. selaku
pembimbing yang telah banyak memberikan saran, masukan dan dukungan kepada
penulis, serta seluruh teman-teman dan sahabat-sahabat yang telah banyak
memberikan bantuan yang tidak akan pernah terlupakan dan dukungan yang kuat
dalam penulisan laporan ini, khususnya salah satu sahabat saya yang membantu
penulisan laporan ini, Tiffany V. G., ditengah kesibukan saya yang cukup padat, dan
dukungan sahabat-sahabat lain, Iprasetyo T.W., dan Fardhy W.
Tujuan utama saya pembuatan aplikasi ini, untuk mempermudah para
pembuat web, ataupun para teknisi keamanan website yang ingin mengetahui tingkat
kerentanan website buatan mereka terhadap serangan 'URL Injection', agar mereka
dapat meningkat keamanan website mereka. Aplikasi ini juga dapat digunakan bagi
para akademik yang ingin belajar lebih lanjut tentang keamanan, dan tidak digunakan
untuk tindakan-tindakan yang tidak sesuai hukum berlaku.
Akhir kata, penulis mengucapkan mohon maaf apabila dalam pengerjaan
tugas ini terdapat kesalahan yang baik sengaja maupun tidak sengaja dilakukan oleh
penulis. Besar harapan penulis agar laporan ini dapat bermanfaat bagi semua
pembaca. Sekian dan terima kasih.
iii
DAFTAR ISI
Halaman Judul.......................................................................................................... i
Bab 1 Pendahuluan
iv
2.3.1.1. Flowchart Program Utama ................................... 7
2.3.1.2. Flowchart Lanjutan (A) dari Program Utama ........ 8
2.3.1.3. Flowchart Function GetParams............................ 8
2.3.1.4. Flowchart Function Pencarian Vulnerability ......... 9
2.3.1.5. Flowchart Function Pencarian Halaman............. 10
2.3.2. Rancangan Input
2.3.2.1. Form Utama ....................................................... 11
2.3.2.2. Mendeteksi Parameter URL ............................... 11
2.3.2.3. Mendeteksi Kelemahan Alamat Web ................. 11
2.3.3. Rancangan Output .............................................................. 12
2.3.3.1. Notifikasi Hasil Deteksi ...................................... 12
2.3.3.2. Panduan Penggunaan ....................................... 12
v
DAFTAR GAMBAR
Gambar 2.2. Use Case Mendeteksi Parameter URL (Per Halaman) ....................... 4
Gambar 2.3. Use Case Mendeteksi Parameter URL (Seluruh Halaman) ................ 5
vi
Gambar 3.10. Tampilan Implementasi Syntax ? ................................................... 18
vii
DAFTAR TABEL
viii
BAB 1
PENDAHULUAN
1
pada alamat URL website yang berpotensi diserang oleh Serangan Cyber.
Serangan ini sendiri biasa disebut URL Injection.
Syntax atau perintah-perintah yang digunakan dalam membangun
aplikasi ini sendiri menggunakan bahasa pemrograman Perl. Bahasa ini
sendiri dikembangkan dari implementasi bahasa C serta beberapa bahasa
lainnya seperti Shell Script dan AWK sehingga bahasa ini tergolong memiliki
dukungan yang kuat terhadap fungsionalitasnya. Bahasa Perl sendiri bersifat
open-source yang memiliki lebih dari 25000 modul library yang dapat
digunakan.
2
1.2.3. Memberikan Panduan Penggunaan pada User
Setiap aplikasi berbasis apapun tentu saja memerlukan fitur ini.
Dimana fitur ini akan membantu pengguna sebelum menjalankan aplikasi
tersebut. Syntax atau perintah yang digunakan akan memberikan panduan
terhadap fitur yang disediakan beserta fungsinya.
3
BAB 2
RANCANGAN APLIKASI
2.1. MODEL FUNGSI
Dalam mendeskripsikan fungsionalitas dari sistem secara lebih rinci,
penulis memilih Use Case Diagram sebagai model penggambaran sistem.
2.1.1. KESELURUHAN SISTEM
Dengan menggunakan Command Prompt (cmd), User dapat
memasukkan beberapa baris perintah untuk melakukan pencarian kelemahan
pada satu maupun seluruh halaman.
4
Step by Step:
1. Masukkan syntax diatas.
2. Tunggu hingga ada notifikasi User telah terhubung dengan halaman
web.
3. Pada proses ini, syntax akan bekerja dan mencari kelemahan pada
setiap parameter URL.
4. Akan ada notifikasi apakah halaman dari web tersebut rentan diinjeksi
oleh hacker atau tidak. Bila berpeluang diinjeksi, akan ditampilkan
parameter mana yang lemah.
2.1.2.2. Use Case: Mendeteksi Parameter URL (Seluruh Halaman)
Diagram:
5
6. Jika situs web tersebut terproteksi dengan baik maka akan muncul
notifikasi bahwa halaman tersebut tidak berpeluang terkena injeksi.
2.1.2.3. Use Case: Melihat Panduan Penggunaan
Diagram:
6
2.3. MODEL BEHAVIOR
2.3.1. Flowchart
2.3.1.1. Flowchart Program Utama
7
2.3.1.2. Flowchart Lanjutan (A) dari Program Utama
8
2.3.1.4. Flowchart Function Pencarian Vulnerability
9
2.3.1.5. Flowchart Function Pencarian Halaman
Form Utama
10
2.3.2.1. Nama Input : Mendeteksi Parameter URL
Syntax :
11
2.3.3. Rancangan Output
12
yang tersedia pada pengguna.
Keterangan : Notifikasi berupa daftar syntax beserta contohnya.
Contoh output:
-p, -singlepage
Contoh :
-a, -allpage
Contoh :
3. Help
-h, ?
Contoh :
13
BAB 3
PANDUAN APLIKASI
Berikut adalah panduan dalam aplikasi Web Testing berbasis cmd ini.
3.1. Layar Awal
Berikut adalah tampilan awal dari cmd.
14
3.3. Deteksi pada Sebuah Halaman (syntax (-p))
Apabila berhasil, maka akan ada notifikasi koneksi berhasil dan secara
otomatis akan mencari kelemahan pada alamat halaman tersebut. Dibawah ini
menunjukkan notifikasi serta jenis parameter yang berpotensi diinjeksi.
15
Gambar 3.5. Tampilan Implementasi syntax –singlepage (2) Gagal
3.5. Deteksi Seluruh Halaman Pada Sebuah Alamat Web (syntax (-a))
Dibawah ini adalah tampilan berupa notifikasi dan hasil deteksi dari
sebuah alamat web. Hasil berupa daftar halaman yang ditemukan, serta daftar
parameter dari setiap alamat tersebut yang berpeluang diinjeksi.
16
3.6. Deteksi seluruh halaman pada sebuah alamat web (syntax (-allpage))
Sama seperti syntax –a, hasil yang didapat oleh syntax ini akan sama.
Apabila alamat web tersebut tidak dapat diinjeksi, maka akan notifikasi
seperti dibawah ini.
17
3.7. Panduan Program
Berikut adalah tampilan panduan dari program ini. Panduan berupa parameter
yang tersedia dalam aplikasi ini.
18
3.8. Deteksi Halaman web gagal dengan pencarian menggunakan syntax (-allpage)
(Validasi)
Dibawah ini merupakan pencarian yang gagal dikarenakan tidak
adanya halaman pada webnya, kesalahan memasukkan alamat web, web
19