TUGAS AKHIR
Oleh :
Yogi Kortisa 4311301040
Disusun oleh :
Yogi Kortisa
(4311301040)
Pembimbing,
ii
HALAMAN PERNYATAAN
adalah mahasiswa Teknik Informatika Politeknik Batam yang menyatakan bahwa tugas
akhir dengan judul:
disusun dengan:
Jika kemudian terbukti terjadi pelanggaran terhadap pernyataan di atas, maka saya
bersedia menerima sanksi apapun termasuk pencabutan gelar akademik.
Lembar pernyataan ini juga memberikan hak kepada Politeknik Batam untuk
mempergunakan, mendistribusikan ataupun memproduksi ulang seluruh hasil Tugas
Akhir ini.
Yogi Kortisa
4311301040
iii
KATA PENGANTAR
Tiada kata yang paling indah serta mulia diucapkan melainkan hanyalah memuji syukur
kehadirat Allah SWT. Shalawat dan salam semoga selalu dilimpahkan kepada
Rasulullah SAW, karena atas rahmat dan taufik-Nya proses penulisan tugas akhir ini
dapat terselesaikan. Penulisan tugas akhir ini dilakukan dalam rangka memenuhi
persyaratan dari mata kuliah Tugas Akhir I dan Tugas Akhir II pada program studi
Teknik Multimedia dan Jaringan Politeknik Negeri Batam. Dalam menyelesaikan tugas
akhir ini penulis banyak mendapat kesulitan dan kendala yang dihadapi, namun berkat
bantuan dan bimbingan yang baik dari berbagai pihak, maka akhirnya tugas akhir ini
dapat terselesaikan dengan baik. Oleh karena itu, dalam kesempatan ini penulis
1. Bapak Tri Ramadani Arjo selaku dosen pembimbing tugas akhir yang telah
2. Listia Indarti yang selalu ada untuk penulis dan selalu memberikan semangat,
dukungan, doa, serta tidak pernah bosan menjadi tempat berbagi masalah yang
3. Orang Tua saya yang selalu memberikan dorongan serta dukungan baik meteri
4. Seluruh anggota komunitas Street Workout Batam yang selalu memotivasi dan
iv
5. Seluruh teman-teman seperjuangan program studi Teknik Multimedia dan Jaringan
Politeknik Negeri Batam angkatan 2013 yang telah memberikan dukungan dan
Sebagai pihak yang diberikan dorongan dan bantuan demi kelancaran penulisan tugas
akhir ini, penulis berharap agar Allah SWT dapat membalas segala kebaikan dari semua
pihak yang telah penulis sebutkan di atas. Penulis berharap semoga tugas akhir ini dapat
Penulis
v
ABSTRAK
Beragam jenis website yang dikembangkan saat ini dengan tingkat kompleksitas yang
semakin tinggi, ternyata masih memiliki risiko celah keamanan yang dapat dimanfaatkan
oleh para cyber criminal. Salah satu jenis serangan yang paling sering terjadi adalah
SQL injection. Penelitian ini bertujuan untuk menguji efektifitas dari metode Code
Review dan Penetration Testing dalam mendeteksi celah keamanan SQL injection
pada web. Pada penelitian ini diusulkan sebuah pendekatan 360 Review dalam
menerapkan kedua metode deteksi tersebut. Tahapan pertama yaitu pengujian metode
Code Review untuk menemukan celah keamanan SQL Injection, kemudian hasilnya
digunakan kembali untuk merencanakan pengujian metode Penetration Testing. Hasil
dari penelitian ini dapat membantu pengembang web dalam memahami potensi celah
keamanan SQL injection pada aplikasinya untuk kemudian menentukan pilihan metode
yang efektif dalam mendeteksi celah tersebut.
Kata kunci: Code Review, Penetration Testing, Joomla!, SQL injection
vi
ABSTRACT
Various types of websites are developed today with the higher level of complexity, it still
has the risk of security holes that can be exploited by cyber criminals. One type of
attack is the most common SQL injection. This study aims to test the effectiveness of
the methods Code Review and Penetration Testing in detecting SQL injection security
holes in the web. In this study 360 Review proposed an approach in implementing both
the detection method. The first stage is to test the Code Review method to find SQL
Injection, and then use the results back to plan the Penetration Testing method. The
results of this study can help web developers in understanding the potential SQL
injection security holes in its application to then determine the choice of method is
effective in detecting the gap.
Key words: Code Review, Penetration Testing, Joomla!, SQL injection
vii
DAFTAR ISI
HALAMAN JUDUL................................................................................................. i
HALAMAN PENGESAHAN................................................................................... ii
HALAMAN PERNYATAAN.................................................................................. iii
KATA PENGANTAR............................................................................................. iv
HALAMAN ABSTRAK.......................................................................................... vi
DAFTAR ISI......................................................................................................... viii
DAFTAR GAMBAR................................................................................................ x
DAFTAR TABEL.................................................................................................... xi
LAMPIRAN........................................................................................................... xii
BAB I PENDAHULUAN..................................................................................... 1
1.1 Latar Belakang........................................................................................... 1
1.2 Rumusan Masalah ...................................................................................... 2
1.3 Batasan Masalah ........................................................................................ 3
1.4 Tujuan Penelitian ........................................................................................ 3
1.5 Manfaat Penelitian ...................................................................................... 3
1.6 Tinjauan Pustaka ........................................................................................ 3
1.7 Sistematika Penulisan.................................................................................. 5
viii
BAB IV PENGUJIAN DAN ANALISIS .............................................................. 24
4.1 Implementasi Pengujian Code Review....................................................... 24
4.1.1 Hasil Tahapan Dangerous Coding Behaviors .......................................... 24
4.1.2 Hasil Tahapan Entry Points ..................................................................... 25
4.1.3 Hasil Tahapan Following the Data .......................................................... 25
4.1.4 Code Review Report ............................................................................... 26
4.2 Implementasi Pengujian Penetration Testing ............................................ 27
4.2.1 Hasil Pemindaian OWSP ZAP.................................................................. 28
4.2.2 Hasil Pemindaian W3af............................................................................. 28
4.2.3 Hasil Pemindaian Vega ............................................................................. 29
4.2.4 Hasil Pemindaian Acunetix WVS .............................................................. 30
4.2.5 Eksploitasi dengan SQLMAP ................................................................... 31
4.2.6 Penetration Testing Report .................................................................... 32
4.3 Implementasi Evaluasi............................................................................... 33
4.3.1 Hasil Combined Report ........................................................................... 34
4.3.2 Jumlah Celah Keamanan........................................................................... 36
4.3.3 Penyebab False Positive ......................................................................... 36
4.3.4 Penyebab False Negative........................................................................ 37
4.3.5 Perbandingan Kedua Metode ................................................................... 38
DAFTAR PUSTAKA............................................................................................. 41
LAMPIRAN........................................................................................................... 44
ix
DAFTAR GAMBAR
x
DAFTAR TABEL
xi
LAMPIRAN
xii
BAB I
PENDAHULUAN
Menurut Holzmann (2009) metode Code Review bertujuan untuk memastikan kode
dapat dimengerti dengan baik, terstruktur rapi, dan tidak adanya kecacatan dalam
desain dan pemrograman. Menurut Xynos (2010) Penetration Testing adalah sebuah
proses yang sistematis dan secara aktif menguji sebuah jaringan untuk menentukan
kerentanan apa saja yang mungkin ditemukan dan membuat laporan yang berisi
rekomendasi untuk mengurangi ataupun mengatasi kerentanan tersebut. Berbeda dengan
penjahat dunia maya (cyber criminal), seorang Penetration Tester sebelumnya telah
mendapatkan izin dari pemilik sumber daya komputasi yang sedang diuji dan akan
bertanggung jawab untuk memberikan sebuah laporan. Tujuan dari Penetration
1
Testing adalah untuk meningkatkan keamanan komputasi sumber daya yang sedang
diuji.
Dari uraian pendahuluan diatas, diusulkan sebuah pendekatan 360 Review dalam
menerapkan metode Code Review dan Penetration Testing. Penelitian ini akan
menguji efektifitas kedua metode tersebut dalam mendeteksi celah keamanan SQL
Injection pada web. Hasil temuan dari metode Code Review diawal pengujian akan
dijadikan rujukan dalam pengujian selanjutnya menggunakan metode Penetration
Testing. Hasil dari pengujian metode Penetration Testing kemudian digunakan
kembali sebagai informasi tambahan pada hasil pengujian dari metode Code Review.
Evaluasi dilakukan pada hasil pengujian untuk mengetahui efektifitas metode yang telah
diujikan dalam mendeteksi celah keamanan SQL Injection.
2
1.3 Batasan Masalah
a. Penelitian ini menggunakan Content Management system (CMS) Joomla! versi
3.2.1 sebagai objek penelitian
b. Jenis celah keamanan SQL Injection pada penelitian ini adalah injeksi pada
URL dengan parameter bertipe integer yang dikirimkan melalui method
$_GET
c. Penelitian ini menggunakan pendekatan white box testing dalam menerapkan
metode Penetration Testing
3
cakupan yang rendah dan tingkat false positive yang tinggi yang menjadikannya sebuah
pilihan yang buruk bagi para programmer.
Penelitian kali ini akan kembali menguji efektifitas dari metode Code Review, namun
dilanjutkan dengan metode Penetration Testing dalam mendeteksi celah keamanan
SQL Injection pada web. Dengan menggunakan pendekatan 360 Review, hasil temuan
dari metode Code Review diawal pengujian akan dijadikan rujukan dalam pengujian
selanjutnya menggunakan metode Penetration Testing. Hasil dari pengujian metode
Penetration Testing kemudian digunakan kembali sebagai informasi tambahan pada
hasil pengujian dari metode Code Review. Evaluasi dilakukan pada hasil pengujian
untuk menjawab rumusan masalah dalam penelitian ini.
4
1.7 Sistematika Penulisan
BAB I PENDAHULUAN
Berisi tentang teori-teori yang mendasari penlitian ini yaitu mengenai keamanan
aplikasi web, SQL Injection, Joomla! CMS, Code Review, dan Penetration
Testing.
Berisi tentang implementasi dan hasil pengujian aplikasi, dan analisis hasil
pengujian
Berisi tentang kesimpulan dan saran dari penelitian ini untuk pengembangan
penelitian selanjutnya.
5
BAB II
LANDASAN TEORI
Sejarah perkembangan web dimulai pada bulan Maret tahun 1989 ketika Tim Berner-
Lee sedang bekerja di laboratorium Fisika Partikel Erope atau yang dikenal dengan
CERN (Consei European pour la Recherce Nuclaire) yang berada di Genewa,
Swiss. Berner-Lee mengajukan sebuah ide suatu tatacara dalam berkomunikasi
(protocol) sistem distribusi informasi pada Internet yang digunakan untuk bertukar
informasi antara para fisikawan. Protokol inilah yang selanjutnya dikenal dengan
protokol World Wide Consortium (W3C), yaitu konsorsium yang mengembangkan
berbagai standar yang berkaitan dengan web.
Website pada awalnya dibangun dengan menggunakan bahasa yang dikenal sebagai
HTML (HyperText Markup Language) dengan menggunakan protokol HTTP
(HyperText Transfer Protocol). Kemudian dikembangkan sejumlah skrip dan objek
untuk memperluas kemampuan HTML, seperti bahasa PHP dan ASP yang merupakan
server-side scripting dan Applet (Java) yang merupakan contoh objek. Ada dua jenis
aplikasi web, yaitu web statis dan web dinamis. Web statis adalah aplikasi web yang
kontennya diletakkan bersamaan dengan kode program aplikasi web tersebut, bersifat
6
statis karena jika ingin merubah konten maka juga harus membongkar program web
tersebut. Sedangkan web dinamis adalah aplikasi web yang kontennya disimpan di
dalam database, bersifat interaktif dan dinamis karena juga dapat berisi konten gambar,
animasi, dan konten multimedia lainnya serta konten dapat dimanipulasi dengan mudah
di database tanpa harus membongkar program webnya.
7
2.2 Joomla!
Joomla! adalah sebuah Content Management System (CMS) yang dapat digunakan
untuk membangun situs web dan aplikasi online yang powerful. Banyak sekali aspek
kelebihan yang dimiliki Joomla! seperti penggunaan yang mudah dan dapat
dikembangkan sesuai keinginan, telah menjadikan Joomla! Sebagai perangkat lunak
situs web yang paling populer yang pernah ada. Yang terbaik dari semuanya, Joomla!
adalah solusi open source yang tersedia secara bebas dan gratis untuk semua orang.
Menurut Halfond dkk. (2006) serangan SQL Injection dapat diklasifikasikan menjadi
beberapa jenis, salah satu contoh jenis serangan dari SQL Injection adalah
Tautologies. Serangan ini bertujuan untuk baypassing authentication, identifying
injectable parameters, dan extracting data. Tujuan utamanya adalah untuk
menyisipkan kode ke dalam satu atau lebih statements kondisional sehingga akan selalu
menghasilkan nilai true. Contohnya yaitu seorang attacker dapat memasukkan nilai „ or
1=1 -- ke dalam login input field suatu aplikasi web tanpa memasukkan passwordnya.
Jika aplikasi web tersebut memiliki celah SQL Injection, maka proses dari SQL query-
nya adalah:
8
Kode yang diinjeksikan dalam pernyataan kondisional “OR 1=1” akan mengubah
keseluruhan klausa WHERE menjadi bernilai true atau bersifat tautologi. Hal ini dapat
terjadi karena 1=1 adalah sama dengan true dan simbol -- dalam SQL statements
menandakan bahwa query apapun setelah simbol tersebut akan dianggap komentar dan
tidak akan dieksekusi.
Static code analysis secara manual berarti memeriksa source code baris-per-baris
untuk mengidentifikasi potensi celah keamanan pada kode terseut. Untuk aplikasi skala
besar yang memiliki jumlah kode yang sangat banyak, tentunya ini kurang efektif
dilakukan karena akan menghabiskan banyak waktu dan tenaga. Untuk kasus ini,
seorang security consultants atau developers biasanya membuat tools atau scripts
untuk mempermudah dan mempercepat dalam menganalisis kode yang sangat banyak,
atau alternatif lainnya yaitu dengan menggunakan tools yang telah dibuat oleh
developers secara khusus untuk melakukan analisis kode program dalam skala besar
ini. Beberapa open source static analysis code tools diantaranya seperti Grep dan
Awk yang terdapat pada sistem operasi turunan UNIX.
9
2.4.1 Code Review Tools
Clarke (2012) di dalam bukunya menjelaskan suatu proses Code Review secara
manual dilakukan dengan memeriksa setiap baris kode dengan menggunakan sebuah
text editor atau IDE (Integrated Development Environment). Namun, dengan
memeriksa menyeluruh membutuhkan sumber daya yang intensif, memakan waktu, dan
menjadi proses yang melelahkan. Untuk menghemat waktu dan agar dapat secara cepat
mengidentifikasi kode untuk yang untuk kemudian harus diperiksa kembali secara lebih
rinci, pendekatan yang paling sederhana adalah menggunakan tool Grep dan Awk.
Berikut adalah pengenalan dari masing-masing tool:
a. Grep
Grep adalah sebuah tool berbasis teks yang digunakan untuk pencarian teks
yang terdapat pada sistem operasi UNIX dan turunannya secara default,
seperti pada sistem operasi GNU/Linux dan OS X. Grep juga tersedia untuk
sistem operasi Windows dan dapat di download pada halaman website Grep.
Namun, jika lebih suka menggunakan tool yang secara khusus dibuat untuk
sistem operasi Windows dapat menggunakan perintah “findstr”, yang juga dapat
mencari pola teks dalam sebuah file menggunakan ekspresi reguler.
b. Awk
Tool lainnya yang dapat digunakan adalah Awk, yaitu sebuah bahasa
pemrograman dengan tujuan umum yang dirancang untuk pengolahan data
berbasis teks, baik dalam sebuah file atau data stream. Awk juga dapat
ditemukan pada kebanyakn sistem operasi turunan UNIX secara default. Tool
ini juga tersedia untuk Windows dengan nama Gawk (GNU awk).
10
ataupun mengatasi kerentanan tersebut. Berbeda dengan penjahat dunia maya (cyber
criminal), seorang Penetration Tester sebelumnya telah mendapatkan izin dari pemilik
sumber daya komputasi yang sedang diuji dan akan bertanggung jawab untuk
memberikan sebuah laporan. Tujuan dari Penetration Testing adalah untuk
meningkatkan keamanan komputasi sumber daya yang sedang diuji. Allen dkk. (2014)
dalam bukunya menjelaskan meskipun ada berbagai jenis Penetration Testing, ada
dua pendekatan umum yang diterima secara luas oleh industri yaitu black box dan
white box.
a. Black box testing
Selama menerapkan pendekatan ini, seorang auditor keamanan akan menilai
infrastruktur jaringan dan tidak akan dapat mengetahui setiap teknologi internal
yang digunakan oleh organisasi yang ditargetkan. Dengan menggunakan
sejumlah teknik yang digunakan oleh hacker di dunia nyata dan melalui tahapan
tes yang dilakukan, kerentanan dapat ditemukan dan berpotensi untuk
dieksploitasi. Setelah proses pengujian selesai dilakukan, dibuatlah sebuah
laporan yang berisi semua informasi yang diperlukan mengenai postur keamanan
dunia nyata dari target, mengkategorikan dan menerjemahkan risiko yang telah
diidentifikasi ke dalam konteks bisinis. Black box testing bisa menjadi layanan
yang lebih mahal daripada white box testing
b. White box testing
Seorang auditor keamanan yang terlibat dalam proses white box testing harus
menyadari semua teknologi internal mendasar yang digunakan oleh lingkungan
target. Oleh karena itu, lebih mudah bagi seorang penetration tester dalam
mengevaluasi secara kritis kerentanan keamanan dengan kemungkinan upaya
yang minimal dan akurasi yang maksimal. Langkah-langkah yang digunakan
pada pendekatan white box testing mirip dengan langkah-langkah pada black
box testing. Pendekatan ini sangat efektif untuk memberantas masalah
keamanan yang mungkin terjadi pada tahap awal sebelum masalah keamanan
11
tersebut ditemukan dan dimanfaatkan oleh attackers. Waktu, biaya, dan tingkat
pengetahuan yang diperlukan untuk menemukan dan mengatasi kerentanan
keamanan dapat dikatakan lebih sedikit daripada dengan menggunakan
pendekatan black box testing.
12
b. OWASP ZAP
The OWASP Zed Attack Proxy (ZAP) adalah salah satu dari sekian
banyak free security tool dan dikembangkan oleh banyak orang di seluruh
dunia karena sifatnya yang open source. Tool ini dapat membantu
pengembang web dalam menemukan celah keamanan pada aplikasi web
secara otomatis. Tool ini juga sangat berguna bagi penetration testers
profesional dalam melakukan manual security testing.
c. Vega
Vega Vulnerability Scanner adalah sebuah web scanner yang bersifat free
and open source yang merupakan testing platform untuk mengetes
keamanan suatu aplikasi web. Vega dapat mendeteksi celah keamanan SQL
Injection, Cross-Site Scripting (XSS), inadvertently disclosed sensitive
information, dan celah keamanan lainnya. Tool ini dibangun menggunakan
bahasa Java dan berbasis GUI.
d. Acunetix WVS
Acunetix Web Vulnerability Scanner adalah sebuah web scanner yang
bersifat commercial tool dan sangat banyak digunakan orang di seluruh
dunia dikarenakan kehandalannya dalam mendeteksi celah keamanan pada
aplikasi web. Acunetix dapat melakukan scan dan crawling aplikasi web
dan mendeteksi SQL Injection, XSS, XXE, SSRF, Host Header Attacks,
dan lebih dari 3000 celah keamanan web lainnya.
e. SQLMAP
SQLMAP adalah sebuah penetration testing tool yang bersifat open
source yang dapat mendeteksi dan mengeksploitasi secara otomatis celah
keaman SQL Injection dan dapat mengambil alih database server.
SQLMAP adalah aplikasi berbasis Command Line Interface (CLI),
sehingga hanya dapat dijalankan pada konsol terminal.
13
BAB III
PERANCANGAN SISTEM
14
Tabel 3.2 Spesifikasi perangkat lunak
15
Pada tahapan pertama studi literatur yaitu mengumpulkan bahan, menentukan objek
penelitian, mencari informasi, dan materi dari jurnal, buku, dan situs di internet.
Kemudian berlanjut ke tahap perancangan model pengujian metode Code Review dan
Penetration Testing. Setelah itu, melakukan pengujian terhadap rancangan model
metodologi Code Review, kemudian pengujian terhadap metode Penetration Testing
dalam mendeteksi celah keamanan SQL Injection pada objek penelitian. Tahapan
terakhir yaitu menyimpulkan hasil penelitian, lalu menganalisis hasil tersebut untuk
menjawab tujuan penelitian.
16
ditemukan celah keamanan SQL Injection pada Joomla! versi 3.2 hingga
versi 3.4.4.
Menurut The Open Web Application Security Project (2013) sebuah Penetration
Testing yang menggunakan Code Review sebagai masukan untuk perencanaan adalah
termasuk ke dalam jenis white box testing. Pendekatan ini dapat menyebabkan proses
Penetration Testing lebih produktif, karena pengujian dapat difokuskan pada bagian
yang dicurigai saja atau bahkan kelemahan yang telah diketahui sebelumnya dari proses
Code Review. Dengan pengetahuan yang spesifik seperti struktur kode dan jenis
framework yang digunakan, libraries, dan bahasa pemrograman pada target aplikasi,
17
Penetration Testing dapat berkonsentrasi pada kelemahan yang ada pada bagian-
bagian tersebut.
Sebuah white box Penetration Testing juga dapat digunakan dalam menetapkan risiko
yang sebenarnya ditimbulkan oleh suatu celah keamanan yang ditemukan melalui Code
Review. Sebuah celah keamanan yang ditemukan saat proses Code Review mungkin
saja tidak exploitable ketika diuji dalam proses Penetration Testing. Hal ini dapat
disebabkan oleh proses Code Review yang tidak lengkap, seperti tidak ditemukannya
validasi input pada kode, namun ternyata validasi tersebut sudah ada sehingga celah
keamanan yang ditemukan menjadi false negative.
18
Gambar 3.3 Tahapan code review
19
Tabel 3.3 Code review report template
Vulnerability Founds
No Injection URL
File Name Line
1 http://localhost/vuln.php 11 http://localhost/vuln.php?input=1
2 http://localhost/vuln2.php 12 http://localhost/vuln2.php?id=1
3 http://localhost/vuln3.php 13 http://localhost/vuln3.php?no=1
20
semuanya diidentifikasi, selanjutnya melakukan fuzz data dengan menginjeksi
metakarakter, SQL statements, operators, dan reserved words. Keseluruhan
langkah ini dapat dilakukan secara otomatis dengan bantuan automated
penetration tools, yaitu pada penelitian ini menggunakan OWASP ZAP, W3af,
Vera, dan Acunetix WVS.
b. Information gathering
Dikarenakan SQL syntax bervariasi untuk setiap jenis database systems, kita
harus mengidentifikasi jenis database dan versinya sebelum beralih ke proses
eksploitasi. Pesan kesalahan (error messages) akan membantu dalam
mengidentifikasi jenis database apa yang digunakan oleh target aplikasi. Jika
pesan kesalahan tidak cukup deskriptif, hal lain yang dapat dilakukan adalah
menebak berdasarkan pada jenis web server dan sistem operasi yang
digunakan. Contohnya sebuah web server Apache di GNU/Linux lebih
cenderung menggunakan MySQL database daripada menggunakan MS SQL.
Langkah ini juga dapat kita lakukan secara otomatis dengan tool SQLMAP.
c. Extracting data
Pada tahap ini yaitu melakukan ekstraksi data dengan SQL statements tertentu
pada sistem database target aplikasi untuk mencari informasi yang dapat
berguna pada tahap selanjutnya. Informasi tersebut seperti nama database,
jumlah tabel dan kolom, dan letak persis data-data sensitif pada database.
Langkah ini juga dapat kita lakukan secara otomatis dengan tool SQLMAP.
d. Exploiting the database server
Pada tahapan terakhir yaitu tahap eksploitasi database server untuk
mendapatkan kontrol penuh terhadap keseluruhan sistem database pada
server. Eksploitasi dilakukan untuk mendapatkan data sensitif pada backend
database hingga menjalankan shell commands untuk melakukan take over
server. Langkah ini juga dapat kita lakukan secara otomatis dengan tool
SQLMAP.
21
e. Reporting
Pada tahapan ini yaitu mengumpulkan seluruh report dari masing-masing web
vulnerability scanner tools. Kemudian seluruh hasil pengujian digabungkan ke
dalam suatu Penetration Testing Report. Laporan ini berisi URL celah
keamanan yang ditemukan beserta keterangan metode mana saja yang
menemukannya, serta status celah tersebut apakah terbukti dapat dieksploitasi
(correct vulnerability) atau hanya kesalahan deteksi (false positive) yang
ditandai dengan simbol centang (v). Template Penetration Testing Report
dapat dilihat pada Tabel 3.4.
3.3.5 Evaluasi
Pada tahap ini dilakukan evaluasi terhadap hasil penelitian yang dilakukan dengan
menggabungkan dan melakukan perbandingan report hasil temuan celah keamanan
SQL Injection dari masing-masing metode yang telah diuji. Parameter yang digunakan
dalam menganalisis report tersebut adalah jumlah temuan celah keamanan SQL
injection, jumlah celah keamanan yang terbukti berhasil dieksploitasi (correct
vulnerability), jumlah celah keamanan yang tidak berhasil dieksploitasi (false positive),
dan jumlah celah keamanan yang telah diketahui (known vulnerability) namun tidak
berhasil terdeteksi (false negative). Tahap terakhir adalah membuat kesimpulan
terhadap hasil pengujian dan evaluasi yang telah dilakukan, lalu menjawab pertanyaan
penelitian. Hasil penggabungan report dari masing-masing metode dapat dilihat pada
Tabel 3.5.
22
Tabel 3.5 Combined report template
Code Penetration Testing
No Vulnerabilities Founds Correct
Review ZAP W3af Vega Acunetix
1 http://target.com?id=
2 http://target.com?name=
3 http://target.com?search=
Detected
Corrects
False Positive
False Negative
Total Detected
Total Corrects
23
BAB IV
PENGUJIAN DAN ANALISIS
Perintah diatas memerintahkan Grep untuk mencari baris kode yang sesuai dengan kata
kunci pencarian yang telah ditentukan. Kemudian hasil pencarian tersebut ditampilkan
langsung pada layar terminal beserta dengan nama file dan informasi baris (line number)
dari kode tersebut dengan bantuan Awk.
24
4.1.2 Hasil Tahapan Entry Points
Tahapan ini menemukan beberapa data berupa variabel yang berisi user-controlled
data yang sedang diteruskan ke fungsi-fungsi SQL statement, contohnya variabel
$feed_id yang ditemukan di dalam klausa “WHERE” pada fungsi mysql_query.
Perintah yang digunakan pada tahapan ini yaitu:
grep –r –n “mysql_query(\|mysql_db_query(”
joomla321/ | awk –F: „{print “filename: “$1”\nline:
“$2”\nmatch: “$3”\n\n
Setelah melakukan riset yang mendalam terhadap struktur source code dari Joomla!,
ditemukan bahwa ternyata Jomla! memiliki mekanisme tersendiri dalam menangani
25
request data dari pengguna, yaitu menggunakan JInput class. Hal inilah yang
menyebabkan tidak ditemukannya variabel global $_GET atau $_POST dalam struktur
kode Joomla! pada tahapan sebelumnya. Contoh penggunaan JInput class yaitu:
$input = Jfactory::getApplication()->input;
$input->getInt(„id‟); //Get data parameter „id‟
Dengan mengetahui fakta ini, maka dilakukan pencarian kembali terhadap user-
controlled data. Pencarian kali ini menggunakan kata kunci berdasarkan contoh
penggunaan perintah Jinput class untuk memastikan apakah terdapat data yang mungkin
telah disusupi (tainted data). Pilihan berbagai kata kunci pencarian adalah berdasarkan
kecendrungan umum dalam pemrograman, yaitu selalu mendefinisikan suatu data
ataupun perintah ke dalam suatu variabel. Sehingga dapat ditentukan beberapa
kemungkinan kata kunci yang dapat menemukan user-controlled data, seperti:
“JFactory::getApplication()->input->getInt(“
“$input->getInt("
Tampilan hasil pencarian salah satu kata kunci yang dapat menemukan user-controlled
data dapat dilihat pada Gambar 4.4.
26
b. Injection URL
Keterangan ini menentukan bagian URL yang mana yang kemudian dapat
dieksploitasi berdasarkan celah keamanan yang ditemukan.
Code Review Report dapat dilihat pada Tabel 4.1.
Vulnerability Founds
No Injection URL
File Name Line
joomla321/modules/mod_articles_categ http://localhost/tugasakhir/joomla321/index.php/article-
1
ory/mod_articles_category.php 33 categories?id=
joomla321/components/com_weblink http://localhost/tugasakhir/joomla321/index.php/weblinks
2
s/controllers/weblink.php 258 -component?id=1
joomla321/components/com_weblink http://localhost/tugasakhir/joomla321/index.php/weblinks
3
s/models/categories.php 52 -categories?id=
joomla321/components/com_newsfee http://localhost/tugasakhir/joomla321/index.php/new-
4
ds/models/categories.php 52 feed-categories?id=
joomla321/components/com_contact/ http://localhost/tugasakhir/joomla321/index.php/contact-
5
models/categories.php 52 categories?id=1
Dari hasil report diatas dapat disimpulkan bahwa pengujian metode Code Review
menemukan lima celah keamanan SQL injection pada source code Joomla! 3.2.1
beserta injection URL-nya untuk dapat dieksploitasi lebih lanjut pada tahapan
pengujian metode Penetration Testing. Empat celah keamanan ditemukan pada bagian
Joomla! component, dan satu celah keamanan ditemukan pada bagian modules yang
mengatur katagori articles.
27
scanning selesai, tool SQLMAP digunakan untuk mengeksploitasi seluruh hasil temuan
celah keamanan. Keterangan tools yang digunakan selama proses penetration testing
dapat dilihat pada Tabel 4.2.
28
Tabel 4.4 Hasil pemindaian W3af
No Injection URL Parameter
http://localhost/tugasakhir/joomla321/index.php/weblinks-
1 id
categories?id=1
http://localhost/tugasakhir/joomla321/index.php/new-feed-
2 id
categories?id=1
http://localhost/tugasakhir/joomla321/index.php/archived-
3 id
articles?month=1&id=1
http://localhost/tugasakhir/joomla321/index.php/archived-
4 id
articles?month=1&id=1&view=archive
29
4.2.4 Hasil Pemindaian Acunetix WVS
Pemindaian yang dilakukan menggunakan Acunetix WVS mendeteksi 17 celah
keamanan SQL Injection. Celah keamanan ini seluruhnya ditemukan pada parameter
“id” yang menampung request data bertipe integer, sehingga dapat dieksploitasi
injection URL-nya pada tahapan berikutnya. Acunetix adalah web scanner yang paling
banyak menemukan celah keamanan SQL Injection dibandingkan ketiga tools yang
lain. Hasil pemindaian dapat dilihat pada Tabel 4.6.
30
4.2.5 Eksploitasi dengan SQLMAP
Seluruh hasil temuan celah keamanan SQL injection dari proses pengujian metode
Code Review dan automated web vulnerability scanner dieksploitasi menggunakan
tool SQLMAP. SQLMAP melakukan tahapan extracting data dan exploiting the
database server sekaligus dengan menginjeksi secara otomatis injection URL seluruh
celah keamanan yang telah ditemukan. SQLMAP menentukan apakah suatu injection
URL tersebut adalah suatu celah yang terbukti dapat dieksploitasi (correct
vulnerability) atau hanya sebuah kesalahan deteksi (false positive).
Sedangkan celah keamanan dikatakan sebagai kesalahan deteksi (false positive) jika
SQLMAP menghasilkan output seperti Gambar 4.6.
31
4.2.6 Penetration Testing Report
Pada tahapan terkahir ini seluruh kemungkinan celah keamanan SQL injecion dari
pengujian metode Code Review dan Penetration Testing dikumpulkan ke dalam
bentuk satu report. Penetration Testing Report terdiri dari:
a. Vulnerability Founds
Bagian ini berisi injection URL bersama dengan vulnerable parameter
dari seluruh hasil web scanner dan juga hasil dari Code Review
b. Automated Web Scanner
Bagian ini terdiri dari kolom ZAP, W3af, Vega, dan Acunetix. Pada bagian
ini adalah merupakan suatu check lists keberhasilan deteksi dari masing-
masing web scanner. Untuk setiap vulnerability founds yang berhasil di
deteksi diberikan tanda (v) pada kolom web scanner-nya
c. Code Review
Bagian ini adalah kolom check lists dari keberhasilan deteksi metode Code
Review yang juga diberi tanda (v) pada kolom ini jika vulnerability founds
juga terdeteksi pada pengujian metode ini
d. Correct
Bagian ini adalah check lists dari status sebuah vulnerability yang
ditemukan apakah terbukti berhasil dieksploitasi oleh SQLMAP (correct
vulnerability) atau tidak berhasil dieksploitasi sehingga hanya sebuah
kesalahan deteksi (false positive).
Hasil dari keseluruhan pengujian metode Penetration Testing sebanyak 25
vulnerability founds dan 17 correct vulnerabilies. Sebanyak 20 vulnerability
founds dideteksi oleh keempat automated web scanner dan 5 vulnerability founds
dideteksi oleh metode Code Review. Tampilan hasil dari Penetration Testing Report
yang menampilkan lima dari total 25 vulnerability founds dapat dilihat pada Tabel 4.7.
Untuk hasil tabel selengkapnya dapat dilihat pada lampiran.
32
Tabel 4.7 Hasil penetration testing report
33
4.3.1 Hasil Combined Report
Pada tahapan ini seluruh celah keamanan SQL injecion dari pengujian metode Code
Review dan Penetration Testing digabungkan ke dalam bentuk suatu Combined
Report. Untuk setiap vulnerability yang ternyata ditemukan oleh kedua pengujian
metode, kali ini hanya ditampilkan sebagai satu vulnerability saja pada Combined
Report. Combined Report terdiri dari beberapa bagian, yaitu:
a. Vulnerability Founds
Bagian ini berisi gabungan injection URL bersama dengan vulnerable
parameter dari seluruh hasil web scanner dan hasil dari Code Review
b. Code Review
Bagian ini adalah kolom check lists dari keberhasilan deteksi metode Code
Review yang juga diberi tanda (v) pada kolom ini jika vulnerability founds
terdeteksi pada pengujian metode ini
c. Penetration Testing
Bagian ini terdiri dari kolom ZAP, W3af, Vega, dan Acunetix. Pada bagian
ini adalah merupakan suatu check lists keberhasilan deteksi dari masing-
masing web scanner. Untuk setiap vulnerability founds yang berhasil di
deteksi diberikan tanda (v) pada kolom web scanner-nya
d. Correct
Bagian ini adalah check lists dari status sebuah vulnerability yang
ditemukan apakah terbukti berhasil dieksploitasi oleh SQLMAP (correct
vulnerability) atau tidak berhasil dieksploitasi sehingga hanya sebuah
kesalahan deteksi (false positive).
Di akhir tabel diberikan keterangan berupa summary dari hasil keseluruhan deteksi.
Penjelasan dari masing-masing keterangan tersebut adalah:
Detected: jumlah dari seluruh vulnerability founds
Corrects: jumlah celah keamanan yang terbukti dapat dieksploitasi
(exploitable) dengan tool SQLMAP
34
False Positive: Positif palsu, maksudnya adalah jumlah keamanan yang tidak
terbukti dapat dieksploitasi (non-exploitable) oleh tool SQLMAP
False Negative: jumlah celah keamanan yang tidak dapat dideteksi oleh satu
metode, namun dapat terdeteksi pada metode lainnya
Total Detected: jumlah total gabungan dari seluruh vulnerability founds yang
ditemukan oleh metode Code Review dan Penetration Testing
Total Corrects: jumlah total celah keamanan yang ditemukan oleh metode
Code Review dan Penetration Testing yang terbukti dapat dieksploitasi
(exploitable) dengan tool SQLMAP.
Tampilan hasil dari combined report yang menampilkan lima dari total 22 gabungan
vulnerability founds dari masing-masing hasil pengujian metode dapat dilihat pada
Tabel 4.8. Untuk hasil tabel selengkapnya dapat dilihat pada lampiran.
35
Tampilan hasil summary dari total keseluruhan combined report dari masing-masing
hasil pengujian metode dapat dilihat pada Tabel 4.9.
Celah keamanan yang merupakan false positve tidak ditemukan pada hasil Code
Review, sedangkan pada hasil Penetration Testing ditemukan sebanyak 3 celah
keamanan yang false positive. Sebanyak 14 celah keamanan false negative dimiliki
oleh Code Review, ini berarti celah keamanan tersebut tidak dapat terdeteksi oleh
Code Review namun terdeteksi sebagai correct vulnerabily oleh Penetration Testing.
Sedangkan metode Penetration Testing memiliki 2 celah keamanan yang false
negative.
36
Seluruh celah keamanan sebanyak 5 celah yang ditemukan oleh metode Code Review
dapat dilihat pada Tabel 4.10.
Sebanyak 5 celah keamanan dari total 20 celah keamanan yang ditemukan oleh metode
Penetration Testing dapat dilihat pada Tabel 4.11. Untuk hasil tabel selengkapnya
dapat dilihat pada lampiran. Terlihat bahwa terdapat 3 celah keamanan yang ditemukan
oleh metode Penetration Testing yang juga telah terdeteksi sebelumnya oleh metode
Code Review.
37
Seluruh celah keamanan sebanyak 3 celah yang ditemukan oleh metode Code Review
dan juga ditemukan oleh metode Penetration Testing dapat dilihat pada Tabel 4.12.
Untuk hasil tabel selengkapnya dapat dilihat pada lampiran. Celah keamanan yang
ditemukan oleh kedua metode ini dapat disebut sebagai irisan dari hasil masing-masing
metode.
Untuk menghitung persentase hasil combined report dari kedua metode digunakan
rumus:
Persentase irisan:
3/22 x 100% = 13,63%
Berdasarkan perhitungan rumus diatas, persentase dari hasil combined report dapat
dilihat pada Gambar 4.7 yang disajikan dalam diagram venn.
38
Gambar 4.7 Diagram venn presentase combined report
Diagram venn diatas menunjukkan bahwa dari total 100% keseluruhan celah
keamanan, sebanyak 9,09% celah keamanan berhasil ditemukan oleh metode Code
Review, kemudian sebanyak 77,27% celah keamanan berhasil ditemukan oleh metode
Penetration Testing, dan sebanyak 13,63% celah keamanan yang merupakan irisan
dari hasil kedua metode yang ditemukan pada hasil Code Review dan ditemukan juga
pada hasil Penetration Testing.
39
4.3.3 Penyebab False Positive
False Positive adalah suatu celah keamanan yang ditemukan namun tidak terbukti
dapat dieksploitasi. Dari hasil pengujian metode Code Review tidak ditemukan false
positive sama sekali, karena setiap celah keamanan yang ditemukan dapat dilihat
dengan jelas dari sisi source code apakah sudah dilakukan input validation pada
request data input dari pengguna. Hal ini ditandai dengan adanya fungsi validasi yang
menyaring user input seperti fungsi mysql_real_escape_string(), int(), dan
sejenisnya. Namun, pada hasil pengujian metode Penetration Testing ditemukan
sebanyak tiga false positive. Ini disebabkan oleh deteksi hanya dilakukan pada http
request dan mekanisme deteksi tergantung dari algoritma web vulnerability scanner
yang digunakan. Ini terlihat jelas dari perbedaan hasil yang sangat mencolok antara ke-
empat tools yang digunakan.
40
Hasil combined report dari masing-masing metode juga ternyata masih tetap
menghasilkan false negative. Tidak ada satupun metode yang dapat mendeteksi satu
lagi known vulnerability yang telah ditemukan sebelumnya oleh Trustwave: Smart
Security on Demand (2015). Celah keamanan tersebut terdapat pada parameter list di
URL berikut:
http://localhost/tugasakhir/joomla321/index.php?op
tion=com_contenthistory&view=history&list[select]=
1
Alasan yang menyebabkan celah ini tidak dapat terdeteksi oleh metode Code Review
adalah sama seperti yang telah dijelaskan sebelumnya, yaitu dipengaruhi oleh beberapa
faktor. Sedangkan alasan metode Penetration Testing tidak menemukan celah ini
adalah kompleksitas dari path URL pada Joomla! yang mungkin tidak dapat ditangani
oleh algoritma keempat automated web scanner yang digunakan.
Namun, dengan menggabungkan hasil temuan dari kedua metode akan menghasilkan
temuan celah keamanan yang saling melengkapi satu sama lainnya. Ketika hasil
keduanya digabungkan menjadi suatu combined report, tentu hasilnya lebih akurat dan
lengkap daripada hanya mengandalkan salah satu report dari metode yang hanya
41
mendeteksi sebagian dari celah keamanan yang ada. Faktanya, hasil combined report
juga masih memiliki setidaknya satu false negative karena belum dapat mendeteksi satu
known vulnerability yang telah beredar di internet. Namun, secara teori celah
keamanan tersebut dan celah keamanan apapun itu seharusnya dapat dideteksi dengan
menggunakan metode Code Review. Hal ini tergantung dari kerumitan source code,
ketelitian, pengalaman dan pemahaman seorang Code Reviewer dalam memahami
struktur kode yang akan di-review-nya.
42
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan penelitian dan pengujian yang telah dilakukan, maka dapat disimpulkan:
a. Pendekatan 360 review yang menggabungkan metode Code Review dan
Penetration Testing sangat efektif dalam mendeteksi celah keamanan SQL
Injection pada web Joomla! 3.2.1. Terbukti dari total celah keamanan yang
ditemukan lebih banyak daripada jumlah hasil deteksi dari masing-masing
metode Code Review ataupun Penetration Testing.
b. Hasil pengujian Penetration Testing menggunakan tools OWASP ZAP,
W3af, Vega, dan Acunetix WVS dapat mendeteksi sebanyak 77,27% dari total
celah keamanan, dan dapat dibuktikan sebagai correct vulnerabilities dengan
menggunakan tool SQLMAP.
c. Sebanyak 9,09% celah keamanan ditemukan oleh metode Code Review dan
sebanyak 77,27% celah keamanan ditemukan oleh metode Penetration
Testing dari total 22 jenis vulnerabilities yang ditemukan.
d. Akurasi celah keamanan yang terdeteksi cukup tinggi, dibuktikan dengan jumlah
total correct vulnerabilites yang cukup banyak yaitu 19 celah keamanan dan
hanya 3 celah keamanan yang merupakan false positive. Hanya satu known
vulnerability yang tidak dapat dideteksi (false negative) oleh kedua metode
ini.
43
5.2 Saran
Saran untuk penelitian selanjutnya adalah:
a. Disarankan untuk melakukan penelitian tentang deteksi SQL injection pada
$_POST method
b. Disarankan untuk melakukan penelitian tentang efektifitas manual code review
dan static analysis tools
c. Disarankan untuk melakukan penelitian tentang efektifitas Vulnerability
Assesment dan Penetration Testing
44
DAFTAR PUSTAKA
45
Joomla!, About Joomla!, Website: https://www.joomla.org/about-joomla.html, diakses
tanggal: 9 Oktober 2016.
Kousa, S. 2013. Simplifying Secure Code Review. Bsides Quebec.
Muttaqiin, K., 2015, Pengenalan, Sejarah dan Aplikasi WEB [Teknologi Web],
Website: http://www.isrul.com/2015/02/pengenalan-sejarah-dan-aplikasi-
web.html, diakses tanggal: 9 Oktober 2016.
Northcutt, Stephen., Jerry Shenk, Dave Shackleford, Tim Rosenberg, Raul Siles, and
Steve Mancini, 2006, Penetration Testing: Assessing Your Overall Security
Before Attackers Do, SANS Institute.
Nugraha S.G., Supeno Djanali, dan Baskoro Adi Pratomo, 2013, Sistem Pendeteksi
dan Pencegah Serangan SQL Injection dengan Penghapusan Nilai Atribut Query
SQL dan Honeypot, Jurnal Teknik Pomits Vol. 2, No. 1, ISSN: 2337-3539
(2301-9271 Print).
Orpani, Asaf. Joomla SQL Injection Vulnerability Exploit Results in Full Administrative
Access, (Online), (https://www.trustwave.com/Resources/SpiderLabs-
Blog/Joomla-SQL-Injection-Vulnerability-Exploit-Results-in-Full-Administrative-
Access/?page=1&year=0&month=0, diakses tanggal: 19 November 2016).
OWASP, CRV2 360Review - OWASP, Website:
https://www.owasp.org/index.php/CRV2_360Review, diakses 18 Oktober 2016.
OWASP, OWASP Zed Attack Proxy Project, Website:
https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project, diakses
tanggal: 9 Oktober 2016.
OWASP, Top 10 2013-Top 10 OWASP, Website:
https://www.owasp.org/index.php/Top_10_2013-Top_10/, diakses 06 September
2016.
OWASP Code Review Project. 2013. Code Review Guide 2.0. The Open Web
Application Security Project (OWASP).
46
Sqlmap, SQLMAP: Automatic SQL Injection and Database Take Over Tool, Website:
http://sqlmap.org/, diakses tanggal: 9 Oktober 2016.
Subgraph, Vega Vulnerability Scanner, Website: https://subgraph.com/vega/, diakses
tanggal: 9 Oktober 2016.
Techopedia, Web Application Security, Website:
https://www.techopedia.com/definition/24377/web-application-security, diakses
tanggal: 9 Oktober 2016.
Tajpour, A., Masrom, M., Heydari, M.Z., and Ibrahim, S., 2010, SQL Injection
detection and prevention tools assessment, Proc. 3rd IEEE International
Conference on Computer Science and Information Technology (ICCSIT‟10),
518-522.
W3af, Open Source Web Application Secuirty Scanner, Website:
https://www.w3af.org/, diakses tanggal: 9 Oktober 2016.
W3tech, Usage of content management systems for websites, Website:
https://w3techs.com/technologies/overview/content_management/all, diakses
tanggal: 19 November 2016.
Xynos, K., Iain Sutherland, Huw Read, Emlyn Everitt and Andrew J.C. Blyth, 2010,
Penetration Testing and Vulnerability Assessments: A Professional Approach.
Originally published in the Proceedings of the 1st International Cyber Resilience
Conference, Edith Cowan University, Perth Western Australia.
47
LAMPIRAN
48
Lampiran 3 Proses code review ketiga
49
Lampiran 5 Proses code review kelima
50
Lampiran 7 Proses scanning OWASP ZAP
51
Lampiran 9 Memulai tool W3af
52
Lampiran 11 Hasil report W3af
53
Lampiran 13 Proses scanning Vega
54
Lampiran 15 Memulai tool Acunetix WVS
55
Lampiran 17 Hasil report Acunetix WVS
56
Lampiran 19 Seluruh hasil Penetration testing report
57
omla321/index.php/article-
category-list/22-
extensions/?id=1
http://localhost/tugasakhir/jo
omla321/index.php/article-
13 v v
category-list/66-
extensions/?id=1
http://localhost/tugasakhir/jo
omla321/index.php/article-
14 v v
category-list/67-
extensions/?id=1
http://localhost/tugasakhir/jo
15 omla321/index.php/compon v v
ent/content/?id=1
http://localhost/tugasakhir/jo
16 omla321/index.php/compon v v
ent/search/?id=1
http://localhost/tugasakhir/jo
17 omla321/index.php/image- v v
gallery/?id=1
http://localhost/tugasakhir/jo
18 omla321/index.php/index.ph v v
p/?id=1
http://localhost/tugasakhir/jo
19 omla321/index.php/using- v v
joomla/?id=1
http://localhost/tugasakhir/jo
20 omla321/index.php/using- v v
joomla/extensions/?id=1
http://localhost/tugasakhir/jo
21 omla321/index.php/article- v v v
categories?id=
http://localhost/tugasakhir/jo
22 omla321/index.php/weblink v v
s-component?id=1
http://localhost/tugasakhir/jo
23 omla321/index.php/weblink v v v v v
s-categories?id=
http://localhost/tugasakhir/jo
24 omla321/index.php/new- v v v v v
feed-categories?id=
25 http://localhost/tugasakhir/jo v v
58
omla321/index.php/contact-
categories?id=1
59
Lampiran 20 Seluruh hasil Combined report
Code Penetration Testing
No Vulnerabilities Founds Correct
Review ZAP W3af Vega Acunetix
http://localhost/tugasakhir/jo
1 omla321/index.php/article- v v v
categories?id=
http://localhost/tugasakhir/jo
2 omla321/index.php/weblink v v
s-component?id=1
http://localhost/tugasakhir/jo
3 omla321/index.php/weblink v v v v v
s-categories?id=
http://localhost/tugasakhir/jo
4 omla321/index.php/new- v v v v v
feed-categories?id=
http://localhost/tugasakhir/jo
5 omla321/index.php/contact v v
-categories?id=1
http://localhost/tugasakhir/jo
omla321/index.php/park-
6 v
links?id=9-
2&task=weblink.go
http://localhost/tugasakhir/jo
7 omla321/index.php/archive v v v
d-articles?month=1&id=0
http://localhost/tugasakhir/jo
omla321/index.php/archive
8 d- v v v
articles?id=1&month=1&vi
ew=archive
http://localhost/tugasakhir/jo
9 omla321/index.php/menu?t v
mpl=component&print=1
http://localhost/tugasakhir/jo
omla321/index.php/menu?t
10 v
mpl=component&print=1&
page=1
http://localhost/tugasakhir/jo
11 v v
omla321/index.php/?id=1
http://localhost/tugasakhir/jo
12 v v
omla321/index.php/archive
60
d-articles/?id=1
http://localhost/tugasakhir/jo
omla321/index.php/article-
13 v v
category-list/21-
extensions/?id=1
http://localhost/tugasakhir/jo
omla321/index.php/article-
14 v v
category-list/22-
extensions/?id=1
http://localhost/tugasakhir/jo
omla321/index.php/article-
15 v v
category-list/66-
extensions/?id=1
http://localhost/tugasakhir/jo
omla321/index.php/article-
16 v v
category-list/67-
extensions/?id=1
http://localhost/tugasakhir/jo
17 omla321/index.php/compo v v
nent/content/?id=1
http://localhost/tugasakhir/jo
18 omla321/index.php/compo v v
nent/search/?id=1
http://localhost/tugasakhir/jo
19 omla321/index.php/image- v v
gallery/?id=1
http://localhost/tugasakhir/jo
20 omla321/index.php/index.p v v
hp/?id=1
http://localhost/tugasakhir/jo
21 omla321/index.php/using- v v
joomla/?id=1
http://localhost/tugasakhir/jo
22 omla321/index.php/using- v v
joomla/extensions/?id=1
Detected 5 20
Corrects 5 17
False Positive - 3
False Negative 14 2
Total Detected 22
Total Corrects 19
61