Translate Evaluation of Black-Box Web Application Security Scanners in

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

Machine Translated by Google

elektronik

Artikel

Evaluasi Pemindai Keamanan Aplikasi Web Black-Box di


Mendeteksi Kerentanan Injeksi
1,2,* 1 3
Pisang Althunayyan , Neetesh Saxena 1,* , Shancang Li dan Prosanta Gope

1
Sekolah Ilmu Komputer dan Informatika, Universitas Cardiff, Cardiff CF24 4AX, Inggris; lis117@cardiff.ac.uk
2
Sekolah Ilmu Komputer dan Informatika, Universitas Majmaah, Al Majma'ah 15362, Departemen
3
Ilmu Komputer Arab Saudi, Universitas Sheffield, Sheffield S1 4DP, Inggris; p.gope@sheffield.ac.uk
* Korespondensi: mzon_th@hotmail.com (MA); nsaxena@ieee.org (NS)

Abstrak: Dengan meroketnya Internet dalam popularitas dan penggunaan selama bertahun-tahun, telah
terjadi peningkatan yang signifikan dalam jumlah aplikasi web. Hampir semua organisasi menggunakannya
untuk berbagai keperluan, seperti e-commerce, e-banking, e-learning, dan jejaring sosial. Lebih penting lagi,
aplikasi web menjadi semakin rentan terhadap serangan jahat. Untuk menemukan kerentanan web sebelum
penyerang, pakar keamanan menggunakan pemindai kerentanan aplikasi web kotak hitam untuk memeriksa
kerentanan keamanan dalam aplikasi web. Sebagian besar penelitian telah mengevaluasi pemindai kotak
hitam ini terhadap berbagai aplikasi web yang rentan. Namun, sebagian besar aplikasi yang diuji bersifat
tradisional (non-dinamis) dan tidak mencerminkan web saat ini. Studi ini mengevaluasi akurasi pendeteksian
lima pemindai kerentanan aplikasi web kotak hitam terhadap salah satu aplikasi web tidak aman yang paling
modern dan canggih, yang mewakili e-commerce kehidupan nyata. Kerentanan yang diuji adalah kerentanan
injeksi, khususnya injeksi bahasa kueri terstruktur (SQLi), tidak hanya SQL (NoSQL), dan injeksi templat sisi
server (SSTI). Kami juga menguji pemindai kotak hitam dalam empat mode untuk mengidentifikasi
keterbatasannya. Temuan menunjukkan bahwa pemindai kotak hitam mengabaikan sebagian besar
Kutipan: Althunayyan, M.; Saxena, N.; kerentanan di hampir semua mode dan beberapa pemindai melewatkan semua kerentanan.
Li, S.; Gope, P. Evaluasi Pemindai
Keamanan Aplikasi Web Black-Box
Kata kunci: kerentanan injeksi; aplikasi web; keamanan cyber
dalam Mendeteksi Injeksi
Kerentanan. Elektronik 2022, 11,

2049. https://doi.org/10.3390/
elektronik11132049
1. Perkenalan
Editor Akademik: Constantinos
Menurut Internet Live Stats [1], telah terjadi peningkatan yang signifikan dalam pengguna
Kolias, Georgios Kambourakis dan
Internet selama dekade terakhir, dengan sekitar 4,7 miliar pengguna di seluruh dunia. Oleh
Wei Zhi Meng
karena itu, tidak mengherankan jika juga terjadi peningkatan yang signifikan dalam jumlah
Diterima: 24 Mei 2022 aplikasi web, dengan perkiraan total lebih dari 1,8 miliar [2]. Aplikasi web digunakan oleh hampir
Diterima: 26 Juni 2022 semua organisasi di semua sektor untuk berbagai tujuan, termasuk e-commerce, e-banking, e-
Diterbitkan: 29 Juni 2022 learning, dan jejaring sosial. Organisasi yang gagal melindungi aplikasi web mereka berisiko
menjadi sasaran penyerang. Ini dapat mengakibatkan pengungkapan informasi, kehilangan
Catatan Penerbit: MDPI tetap netral
sehubungan dengan klaim yurisdiksi
pendapatan, hubungan klien yang rusak, dan banyak lagi. Menurut laporan terbaru oleh Verizon
[3],
dalam peta yang diterbitkan dan afiliasi kelembagaan
aplikasi web adalah target populer untuk pelanggaran data. Di beberapa organisasi, hingga
iasi. 43% pelanggaran data terkait dengan aplikasi web, lebih dari dua kali lipat hasil tahun
sebelumnya . Aplikasi web yang tidak aman tidak hanya mengancam organisasi tetapi juga
mempengaruhi penggunanya . Misalnya, lebih dari 80% pelanggaran data yang dilaporkan
mengakibatkan pencurian kredensial pengguna [3].
Hak cipta: © 2022 oleh penulis. Laporan Proyek Keamanan Aplikasi Web Terbuka (OWASP) [4] mencantumkan 10 besar
Penerima Lisensi MDPI, Basel, Swiss. kerentanan aplikasi web yang paling umum dan jenis injeksi saat ini menduduki peringkat pertama.
Artikel ini adalah artikel akses terbuka
Selain itu, menurut laporan State of the Internet [5], serangan injeksi adalah ancaman utama, terhitung
didistribusikan dengan syarat dan
hampir dua pertiga dari semua serangan pada tahun 2019. Contoh yang terkenal adalah pelanggaran
kondisi Creative Commons
Equifax, di mana kerentanan dieksploitasi, mengakibatkan informasi pribadi dari sekitar 143 juta
Lisensi atribusi (CC BY) (https://
pengguna Amerika dan sekitar 100.000 pengguna Kanada [6].
creativecommons.org/licenses/by/
4.0/).

Elektronik 2022, 11, 2049. https://doi.org/10.3390/electronics11132049 https://www.mdpi.com/journal/electronics


Machine Translated by Google

Elektronik 2022, 11, 2049 2 dari 20

Berbagai teknik dapat digunakan untuk mengamankan aplikasi web. Ini termasuk firewall, praktik
pengkodean yang aman, dan pemindai kerentanan aplikasi web kotak hitam [7]. Untuk mengotomatiskan
keamanan aplikasi web di organisasi besar dan kompleks, pemindai kotak hitam sangat ideal. Selain itu,
Makino dan Klyuev [8] berpendapat bahwa menguji kerentanan aplikasi web secara manual itu menantang,
memakan waktu, rawan kesalahan, dan mahal. Meskipun banyak penelitian telah mengevaluasi pemindai
kotak hitam, diperlukan lebih banyak penelitian dengan aplikasi web modern dengan teknologi terbaru untuk
meningkatkan kemampuan deteksi kerentanan pemindai otomatis ini. Mengidentifikasi masalah seringkali
merupakan setengah dari solusi. Banyak penelitian telah berupaya mengidentifikasi keterbatasan pemindai
kotak hitam untuk meningkatkan kemanjuran dan ketepatan waktu pendeteksian. Meskipun berbagai
penelitian telah mengevaluasi kemampuan pemindai kotak hitam untuk mendeteksi kerentanan menggunakan
berbagai aplikasi web yang rentan , masih ada kebutuhan untuk menguji pemindai kotak hitam terhadap
aplikasi web modern seiring kemajuan teknologi.

2. Tinjauan Canggih

Banyak studi akademik dan sektor swasta tentang keamanan aplikasi web telah dilakukan .
Pada tahun 2010, Suto [9] menguji keefektifan tujuh pemindai kotak hitam dengan melakukan
pemindaian point-and-shoot (PaS) dan pemindaian terlatih. Suto mengamati bahwa pemindai Cenzic
Hailstorm menunjukkan akurasi deteksi yang sangat tinggi yang meningkat secara signifikan setelah pelatihan.
Pemindai lain hanya menunjukkan peningkatan sedang. Pada tahun yang sama, Bau et al. [10]
mengevaluasi delapan pemindai aplikasi web komersial. Pemindai pertama kali diuji terhadap aplikasi
terkenal yang rentan (yaitu, Drupal, phpBB, dan WordPress), dirilis pada tahun 2006. Studi ini
menunjukkan bahwa pemindai melakukannya dengan sangat baik dalam mendeteksi pengungkapan
informasi dan kerentanan manajemen sesi. Selain itu, tingkat deteksi pemindai sekitar 50% berhasil
dalam mendeteksi kerentanan cross site scripting (XSS) dan structured query language injection
(SQLi) dan sangat rendah untuk kerentanan Cross-Site Request Forgery (CSRF) dan cross channel
scripting (XCS). Kedua, akurasi kerentanan dan kemampuan perayapan pemindai yang dipilih diuji
terhadap aplikasi test-bed khusus.
Penulis menyimpulkan bahwa teknologi web perayapan, seperti applet Java, SilverLight, dan Flash,
menantang, dan sebagian besar pemindai memiliki kemampuan perayapan yang buruk.
Selain itu, 11 pemindai kotak hitam dievaluasi oleh Doupé et al. [11] pada kemampuan mereka untuk
menemukan kerentanan terkait dan merayapi halaman web yang kompleks. Penulis mengembangkan
aplikasi web praktis yang disebut WackoPicko dengan banyak fitur kontemporer. Mereka menemukan bahwa
pemindai ini melewatkan banyak jenis kerentanan. Oleh karena itu, penelitian tambahan diperlukan untuk
meningkatkan deteksi kerentanan otomatis.
Pada tahun 2011, Khoury et al. [12] menguji dan menilai tiga pemindai web dalam kemampuannya
untuk mendeteksi kerentanan injeksi SQLi yang persisten. Studi tersebut menunjukkan bahwa tiga pemindai
kotak hitam buruk dalam mendeteksi injeksi SQLi yang persisten bahkan ketika mereka secara eksplisit
diajarkan untuk mengeksekusi kode serangan. Khoury et al. [13] juga menunjukkan bahwa pemindai buruk
dalam mendeteksi kerentanan SQLi yang tersimpan. Mereka menyimpulkan bahwa tantangan signifikan
bagi pemindai dalam mendeteksi injeksi SQLi yang tersimpan adalah memilih nilai input yang tepat dan tidak
menggunakan kode serangan yang tepat untuk mengeksploitasi kerentanan ini.
Pada 2015, Parvez et al. [14] menganalisis kinerja tiga pemindai web kotak hitam dalam
kemampuannya untuk mendeteksi XSS yang disimpan dan kerentanan SQLi yang disimpan menggunakan
aplikasi web khusus dan WackoPicko, yang digunakan di sebagian besar penelitian sebelumnya [11-13].
Penelitian menunjukkan bahwa deteksi XSS pemindai kotak hitam telah meningkat. Para penulis
menegaskan bahwa itu adalah tantangan yang signifikan bagi pemindai otomatis untuk memilih vektor
serangan yang cocok untuk XSS yang disimpan dan SQLi yang disimpan.
Makino dan Klyuev [8] mengevaluasi dua pemindai kerentanan sumber terbuka, OWASP Zed Attack
Proxy (ZAP) dan Skipfish, untuk mendeteksi kerentanan umum. Setelah membandingkan hasilnya, OWASP
ZAP ternyata lebih unggul dari Skipfish. Namun, kedua pemindai memiliki keterbatasan, terutama dalam
mendeteksi kerentanan inklusi file jarak jauh (RFI) . Pada 2017, Berbiche et al. [15] menilai keefektifan 11
pemindai keamanan aplikasi web komersial dan gratis terhadap Pemindai Kerentanan Aplikasi Web
Machine Translated by Google

Elektronik 2022, 11, 2049 3 dari 20

Aplikasi penilaian Evaluation Project (WAVSEP). Metrik presisi, daya ingat, dan ukuran-F diterapkan
untuk mengevaluasi kinerja. Meskipun studi tersebut menunjukkan hasil yang berbeda untuk setiap
pemindai, semuanya bekerja lebih baik pada SQLi dan XSS daripada pada penyertaan file lokal dan
jarak jauh.
Tujuan dari penelitian ini adalah untuk mengevaluasi kemampuan deteksi pemindai kotak
hitam terhadap kerentanan injeksi, terutama injeksi SQLi, tidak hanya SQL (NoSQL), dan injeksi
templat sisi server (SSTI). Studi sebelumnya terbatas pada pengujian pemindai kotak hitam
terhadap aplikasi tradisional (non-dinamis) yang tidak mencerminkan arsitektur web saat ini. Oleh
karena itu, penelitian ini mengevaluasinya terhadap salah satu aplikasi web tidak aman paling
modern dan canggih yang menggunakan teknologi web terkini. Selain itu, sepengetahuan kami,
belum ada penelitian yang mengevaluasi kemampuan pemindai kotak hitam untuk mendeteksi
kerentanan NoSQL dan SSTI.
Kami meringkas kontribusi tiga kali lipat kami sebagai berikut.

1. Kami menganalisis dan mengevaluasi akurasi pendeteksian pemindai kotak hitam terhadap kerentanan injeksi
SQLi, NoSQL, dan SSTI menggunakan salah satu aplikasi web tidak aman yang paling modern dan
canggih, yang mewakili aplikasi web e-commerce kehidupan nyata.
2. Kami menguji pemindai kotak hitam dalam empat mode berbeda untuk mengidentifikasi batasan dan
kesenjangannya dalam praktik.
3. Kami mengidentifikasi keterbatasan kemampuan pemindai kotak hitam yang dievaluasi untuk mendeteksi
kerentanan SQLi, NoSQL, dan SSTI.

3. Pengujian dan Kerentanan Keamanan Aplikasi Web

Keamanan aplikasi web dapat diuji dengan dua cara: pengujian white-box [8] dan pengujian black-box
[16,17]. Beberapa alat yang berguna digunakan untuk keduanya [18]. Beberapa kerentanan mengancam aplikasi
web. OWASP [19] telah menguraikan masalah keamanan untuk aplikasi web dan memberikan laporan berkala
tentang 10 kerentanan kritis teratas.
Dalam pekerjaan ini, kami terutama tertarik pada serangan injeksi. Dalam laporan terbaru oleh
OWASP [4], serangan injeksi menempati urutan pertama. Kerentanan ini muncul saat penyerang
mengirim data berbahaya ke juru bahasa sebagai bagian dari perintah atau kueri. Injeksi yang
berhasil dapat menyebabkan hilangnya data, korupsi, pengungkapan informasi, hilangnya
akuntabilitas, penolakan akses dan hilangnya kendali sistem [4]. Dampak bisnis dari serangan
injeksi bergantung pada aplikasi dan data. Injeksi umum lainnya termasuk SQLi, NoSQL, perintah
sistem operasi, injeksi protokol akses direktori ringan, bahasa ekspresi, SSTi, dan injeksi pustaka
navigasi grafik objek. Secara lebih rinci, bagian berikut menjelaskan tiga kerentanan injeksi, yaitu
SQLi, NoSQL, dan SSTI.

3.1. Injeksi Structured Query Language (SQLi).

Menurut OWASP [20], kerentanan keamanan web SQLi melibatkan penyuntikan


query SQL ke dalam aplikasi melalui input data klien. SQLi yang berhasil dapat
mengeksploitasi informasi rahasia, seperti kata sandi, informasi kartu kredit, dan data pribadi.
Hal ini juga memungkinkan penyerang untuk memodifikasi data database (misalnya, insert, update
atau delete), melaksanakan operasi administrasi dalam database (misalnya mematikan sistem
manajemen database dan mengeluarkan perintah ke sistem operasi) [20]. Berbagai kemampuan,
serangan, dan teknik kerentanan injeksi SQL terjadi dalam situasi yang berbeda. Contoh SQLi
termasuk injeksi SQLi berbasis serikat pekerja dan buta.

3.2. SQLi Berbasis Serikat

Menurut PortSwigger [21], serangan SQLi berbasis serikat terjadi ketika aplikasi web rentan terhadap injeksi
SQLi, dan keluaran kueri dikembalikan ke pengguna dalam respons aplikasi. Oleh karena itu, penyerang dapat
menggunakan kata kunci UNION untuk mengambil data yang tidak diizinkan untuk diakses dari tabel lain di
database.
Kata kunci UNION memungkinkan penyerang mengeksekusi satu atau lebih kueri SELECT dan
menambahkan hasilnya ke kueri awal. Salah satu contohnya seperti yang dikemukakan oleh Al-
Khurafi dan Al-Ahmad [22] adalah aplikasi web toko online yang terhubung dengan database server yang
Machine Translated by Google

Elektronik 2022, 11, 2049 4 dari 20

berisi tabel Akun untuk mengautentikasi pengguna dan tabel Pelanggan dengan catatan semua informasi
pelanggan, termasuk nama, nomor telepon, alamat, pesanan, dan informasi pembayaran. Jika parameter
bidang nama pengguna rentan terhadap injeksi SQLi, penyerang dapat menyuntikkan perintah jahat
berikut di bidang nama pengguna: ", UNION SELECT * " dan apa pun untuk kata sandi, yang akan
menghasilkan FROM Pelanggan - - permintaan berikut [21] :

SELECT * FROM Accounts WHERE USERNAME= ' ' UNION SELECT * FROM Customers - - '

AND kata sandi = 'apa saja ' Kueri ;


pertama akan menghasilkan nol karena tabel Akun tidak berisi catatan yang cocok dengan nama
pengguna kosong. Namun, kueri kedua akan mengembalikan semua rekaman pelanggan dari tabel
Pelanggan. Karena operator UNION mengembalikan keluaran dari kedua kueri, ini akan memungkinkan
penyerang mengakses semua data di tabel Pelanggan.

3.3. SQL buta


Menurut Banach [23], SQLi yang buta secara tidak langsung menemukan informasi dengan
menganalisis reaksi server terhadap berbagai pernyataan yang disuntikkan. Injeksi Blind SQL terjadi ketika
server database diatur untuk menampilkan kesalahan SQL. Akibatnya, server web akan menampilkan
kesalahan pada aplikasi web. Kemudian, penyerang akan mengetahui bahwa ada kerentanan SQLi.
Serangan itu buta karena hasilnya tidak langsung terlihat dan mengandalkan analisis respons server
terhadap kueri SQL yang disuntikkan [23]. Menurut Acunetix [24], ketika penyerang menemukan kerentanan
SQLi, mereka dapat mencoba berbagai permintaan untuk mengekstrak informasi tentang database dalam
respons kesalahan. Serangan Blind SQLi juga dapat digunakan untuk membangun skema basis data,
mengambil data dari tabel mana pun, dan meningkatkan serangan. Karena tren ini, administrator server
web cenderung menghapus pesan kesalahan yang mendetail. Namun, hal itu tidak menyelesaikan masalah
utama, karena juru bahasa SQLi masih dapat membaca masukan pengguna sebagai bagian dari
pernyataan SQLi. Penyerang mengatasi kurangnya pesan kesalahan dengan mengembangkan metode
baru untuk menentukan apakah transaksi ditafsirkan sebagai query SQL [24]. Dua jenis teknik SQLi buta
konten dan berbasis waktu [24].

3.4. SQLi Buta Berbasis Konten


Menurut Acunetix [24], dalam SQLi buta berbasis konten, penyerang mengirim kueri SQL yang
menanyakan database pertanyaan BENAR atau SALAH. Mereka kemudian menganalisis tanggapan.
Pertimbangkan skenario berikut (Acunetix [24]): halaman web toko online menunjukkan item untuk dijual.
Tautan mereka memberikan deskripsi item 26, diambil dari database. Penyerang dapat memanipulasi
permintaan sebagai berikut: http://
www.shop.com/item.php?id=26and1=2 (diakses pada 8 Mei 2021)
Kueri SQL berubah sebagai berikut:
SELECT column_name_2 FROM table_name WHERE ID = 26 and 1=2 SELECT name, description,
price FROM Store_table WHERE ID = 26 and 1=2 Ini menyebabkan kueri
mengembalikan FALSE, dan tidak ada item yang ditampilkan di daftar. Kemudian, penyerang mulai
memodifikasi permintaan ke: http://www.shop.com/
item.php?id=26and1=1 (diakses pada 8 Mei 2021)
Kueri SQL berubah sebagai berikut:
PILIH nama_kolom, nama_kolom_2 DARI nama_tabel DI MANA
ID = 26 dan 1=1 PILIH nama, deskripsi, harga DARI Store_table
DI MANA ID=26dan 1=1
Kueri ini mengembalikan BENAR dan menampilkan detail tentang item 26. Ini adalah indikasi yang jelas
bahwa halaman tersebut rentan.

3.5. Time-Based Blind SQLi


Menurut Acunetix [24], dalam serangan SQLi buta berbasis waktu, penyerang menyebabkan
database melakukan operasi intensif waktu. Jika aplikasi web tidak segera mengembalikan respons,
maka dianggap rentan terhadap SQLi buta. Perintah 'tidur' adalah operasi intensif waktu yang khas.
Seperti yang ditunjukkan pada contoh sebelumnya, penyerang akan terlebih dahulu
Machine Translated by Google

Elektronik 2022, 11, 2049 5 dari 20

uji waktu respons server web untuk kueri standar. Perintah berikut kemudian dapat disuntikkan [24]:
http://www.shop.com/
item.php?id=26 (diakses pada 8 Mei 2021) dan if(1=1, sleep(10), false)

Jika respons yang dikembalikan tertunda selama 10 detik, aplikasi web dianggap rentan.

3.6. Injeksi NoSQLi


NoSQL (tidak hanya SQL) mengacu pada database non-relasional yang semakin populer
sebagai back-end untuk platform cloud terdistribusi dan aplikasi web [25]. Tidak seperti database
relasional , NoSQL tidak menyimpan data dalam tabel. Sebaliknya, ia menggunakan model data lain,
seperti grafik, dokumen, dan objek yang lebih cocok untuk tujuan khusus mereka [25]. Menurut
Sachdeva dan Gupta [26], banyak perusahaan telah bermigrasi ke NoSQL karena basis data NoSQL
memberikan batasan konsistensi yang lebih longgar daripada basis data SQL tradisional [27].
Memang , selama beberapa tahun terakhir, popularitas database NoSQL telah tumbuh secara konsisten.
Misalnya, database MongoDB menduduki peringkat kelima di antara 10 database terpopuler pada
September 2020 (lihat Tabel 1) menurut DB-Engine 2020 [28].

Tabel 1. Database paling populer.

Sep 2021 Sistem Manajemen Basis Data


1 Peramal

2 MySQL
3 Microsoft SQLServer
4 PostgreSQL
5 MongoDB
6 IBM DB2
7 Redis
8 Pencarian elastis

9 SQLite
10 Cassandra

Walaupun NoSQL menggunakan query JavaScript Object Notation (JSON) sebagai pengganti
SQL, bukan berarti tahan terhadap ancaman serangan injeksi [27]. Alih-alih menggunakan bahasa
kueri standar, seperti database relasional, sintaks kueri NoSQL adalah khusus produk, dan perintah
ditulis dalam bahasa pemrograman aplikasi (misalnya, Python, PHP, JavaScript, atau Java).
Akibatnya, serangan injeksi NoSQL yang berhasil akan memungkinkan penyerang untuk
mengeksekusi perintah jahat di database dan aplikasi, yang meningkatkan bahaya [25]. Hou dkk.
[27] melaporkan bahwa sistem basis data NoSQL memungkinkan pengguna untuk mengubah atribut
data kapan saja, dan data dapat ditambahkan di mana saja.
Secara umum, serangan NoSQL mirip dengan SQLi; hanya bentuk grammar yang berubah. Karena
perintah penyerang disisipkan dan dieksekusi di sisi server dan dalam bahasa aplikasi web, dampak
dari serangan injeksi NoSQL yang berhasil bisa berbahaya dan memungkinkan eksekusi kode
arbitrer [25]. Pernyataan kueri SQL dan NoSQL ditunjukkan di bawah ini. Kami meminta nomor
pelanggan sebagai contoh.
SQL Query:
"SELECT * FROM Customers WHERE (CustomerNo = '" + Nomor_Pelanggan + " '); '"
NoSQL Query:
db.collection.find (CustomerNo: Customer_Number)
Seperti yang ditunjukkan di atas, penyerang dapat memasukkan kode berbahaya ke dalam kotak masukan
di aplikasi web , yang dapat menyebabkan serangan injeksi.
Machine Translated by Google

Elektronik 2022, 11, 2049 6 dari 20

3.7. Injeksi Template Sisi Server


Sistem template, seperti Twig dan FreeMarker, banyak digunakan untuk menyematkan konten
dinamis di halaman web dan email [29]. Menyematkan input pengguna secara tidak aman dalam template
alih-alih meneruskannya karena data dapat menyebabkan SSTI [30]. PortSwigger [29] menyatakan bahwa
dampak SSTI lebih berbahaya daripada injeksi template sisi klien biasa karena muatan penyerang
dijalankan di sisi server dan secara eksplisit menargetkan proses dalam server web.
Misalnya, penyerang dapat mengakses dan membaca data sensitif dan file arbitrer di server. Menurut
PortSwigger [29], kerentanan injeksi template dapat disebabkan oleh kesalahan pengembang atau
paparan terhadap template yang disengaja yang dirancang untuk memberikan fungsionalitas yang kaya.
Untuk mengilustrasikan risiko ini, pertimbangkan aplikasi pemasaran yang mengirimkan pesan email ke
sekelompok pelanggan untuk menyambut mereka dengan nama menggunakan template Twig. Seperti
yang terlihat pada ilustrasi di bawah [29], ketika nama diteruskan langsung ke template, semuanya
bekerja dengan baik: $output = $twig->render("Dear first_name,",
array("nama_pertama" =>$pengguna.nama_pertama) );
Namun, masalah terjadi ketika pengguna diizinkan untuk menyesuaikan email seperti ini:
$output=$twig->render($_GET['custom_email'],
array("first_name" =>$user.first_name) ); Dalam contoh
di atas, pengguna dapat mengontrol konten template melalui parameter GET cus tom_email, daripada
nilai yang diteruskan ke dalamnya.

4. Pendekatan Kami terhadap Pemindai Kerentanan


Bagian ini menyajikan pendekatan kami dalam hal pemilihan pemindai kotak hitam.

4.1. Pemindai Kerentanan Aplikasi


Doupé dkk. [11] mendefinisikan pemindai kerentanan aplikasi web (WAVS) sebagai
"alat otomatis yang digunakan untuk memindai aplikasi web dan mendeteksi kerentanan web,
juga dikenal sebagai pemindai kerentanan kotak hitam". Selain itu, mereka sering dikenal
sebagai alat pengujian penetrasi point-and-shoot (PaS) yang menguji aplikasi web secara otomatis.
Hitam dkk. [31] memberikan daftar persyaratan fungsional yang harus dipenuhi oleh semua pemindai
kerentanan web:

• Dapat mengidentifikasi serangkaian kerentanan keamanan tertentu dalam aplikasi web; •


Dapat menghasilkan laporan teks yang menjelaskan serangan untuk setiap kerentanan yang
teridentifikasi; • Memiliki tingkat hasil positif palsu yang rendah.

4.2. Arsitektur Pemindai Kerentanan Aplikasi Web


Pada tingkat tinggi, WAVS terdiri dari tiga modul: perayapan, penyerangan, dan analisis.
Di bawah ini adalah penjelasan singkat
dari masing-masing. • Modul perayapan menggunakan perayap untuk menavigasi aplikasi web guna
mengidentifikasi dan memulihkan halaman web, vektor masukan (misalnya, bidang masukan bentuk
bahasa markup hiperteks ), parameter permintaan GET/POST, dan cookie. Selanjutnya, perayap
membuat daftar terindeks dari semua pencari sumber daya seragam (URL) yang diakses. Deteksi
kerentanan web pada akhirnya bergantung pada kualitas perayap. Jika tidak efektif, pemindai tidak
akan dapat mendeteksi kerentanan [11,32]. • Modul penyerang (fuzzing)
menggunakan fuzzer untuk menganalisis URL dan vektor masukan yang diidentifikasi oleh perayap
kemudian mengirimkan pola serangan potensial ke titik masuk.
Fuzzer membuat daftar nilai yang berpotensi rentan untuk memicu kerentanan pada setiap entri dan
jenis. Misalnya, komponen fuzzer mencoba memasukkan kode berbahaya JavaScript untuk menguji
keberadaan kerentanan XSS [11,32]. • Modul analisis menganalisis hasil yang
diperoleh pada langkah sebelumnya untuk mendeteksi kerentanan yang ada dan memberikan komentar
kepada modul lain. Misalnya, jika halaman yang dikembalikan berisi pesan kesalahan database
sebagai respons terhadap pengujian masukan untuk injeksi SQLi. Dalam hal ini, modul analisis akan
memprediksi potensi kerentanan SQLi di halaman tersebut [11,32].
Machine Translated by Google

Elektronik 2022, 11, 2049 7 dari 20

4.3. Kriteria Evaluasi Pemindai Keamanan Aplikasi Web (WASSEC)


Konsorsium Keamanan Aplikasi Web mengembangkan WASSEC, dokumen netral vendor untuk
membantu profesional keamanan mengevaluasi pemindai aplikasi web dan memilih alat yang paling sesuai
[33]. Daftar berikut menjelaskan fitur yang harus dipertimbangkan saat mengevaluasi pemindai keamanan
aplikasi web: • Dukungan Protokol: Pemindai harus mendukung
semua protokol komunikasi yang sering digunakan oleh aplikasi web. Selain itu, kemampuan proxy, seperti
hypertext transfer protocol (HTTP) dan proxy Socks, harus didukung.

• Otentikasi: Pemindai harus dapat mempertahankan semua metode otentikasi


biasanya digunakan dalam aplikasi web. •
Manajemen Sesi: Selama pemindaian keamanan, pemindai harus tetap valid
sesi dengan aplikasi.
• Perayapan: Pemindai harus memiliki fitur yang dapat merayapi aplikasi web
seharusnya didasarkan pada konfigurasi yang ditentukan pengguna.

Penguraian: Untuk memperoleh informasi tentang fungsionalitas dan tata letak aplikasi web yang
dipindai , pemindai harus dapat mengurai teknologi web yang paling banyak digunakan.

Pengujian: Pemindai harus dapat mendeteksi kerentanan keamanan dan kelemahan arsitektur pada
aplikasi web. Itu juga harus memberi pengguna opsi konfigurasi untuk menyesuaikan pemindaian.

• Perintah dan kendali: Pemindai harus memiliki fungsi perintah dan kendali yang meningkatkan pengalaman
pengguna. Misalnya, ini menjadwalkan pemindaian, menjeda dan memulai ulang, dan menjadwalkan
beberapa pemindaian secara bersamaan.
• Pelaporan: Setelah setiap pemindaian, pemindai harus dapat menghasilkan laporan khusus.

4.4. Metrik Evaluasi


Beberapa metrik evaluasi digunakan untuk mengukur akurasi pendeteksian warna hitam
pemindai kotak.

• True positive (TP) adalah kerentanan yang terdeteksi oleh pemindai yang benar-benar ada di
kode [34].
• Positif palsu (FP) adalah kerentanan yang terdeteksi oleh pemindai yang tidak ada [34].
FP menimbulkan masalah yang signifikan bagi pengguna. Jika FP tinggi, pengguna memeriksa setiap kerentanan
yang dilaporkan secara manual untuk menilai validitasnya [17].
• False negatives (FNs) adalah kerentanan yang sebenarnya ada dalam kode tetapi sebenarnya tidak
terdeteksi oleh pemindai [34].
• Presisi adalah rasio kerentanan yang terdeteksi dengan benar terhadap jumlah total kerentanan yang
terdeteksi, yang direpresentasikan sebagai berikut [34,35]:

TP
Presisi = (1)
TP + FP

• Recall adalah rasio kerentanan yang terdeteksi dengan benar terhadap jumlah total kerentanan yang ada,
yang direpresentasikan sebagai berikut [34,35]:

TP
Ingat = (2)
TP + FN

• F-measure adalah rata-rata harmonik presisi dan perolehan kembali [36], yang direpresentasikan
sebagai berikut:
Presisi ÿ Ingat
F-Ukur = 2 ÿ (3)
Presisi + Ingat

5. Rancangan
Penelitian Seperti digambarkan pada Gambar 1, metodologi kami terdiri dari lima langkah.
Pertama, kami meninjau aplikasi rentan yang tersedia dan memilih aplikasi web yang memenuhi
persyaratan kami. Kedua, kami memilih pemindai kotak hitam untuk dievaluasi. Ketiga, kita memilih
Machine Translated by Google

Elektronik 2022, 11, 2049 8 dari 20

metrik yang digunakan untuk mengukur akurasi pemindai yang dipilih dalam mendeteksi kerentanan injeksi .
Keempat, kami menyiapkan lingkungan untuk menjalankan eksperimen. Kelima, kami menganalisis hasil akhir.
Tabel 2 mencantumkan karakteristik umum pemindai yang diuji.

Gambar 1. Pendekatan lima langkah kami.

Tabel 2. Karakteristik umum pemindai yang diuji.

Pemindai Penjual Versi: kapan Lisensi

Bersendawa Suite Pro PortSwiger 2020.7 Komersial

PERTENGKARAN OWASP 2.9.0 Apache v 2.0

Vega Subgraf 1.0 Sumber terbuka

Skipfish Google 2.10b Bebas

Lewat Gesfor Informatika 3.0.3 Sumber terbuka

5.1. Seleksi Aplikasi Web


Langkah pertama penelitian kami memilih aplikasi web dengan daftar kerentanan yang diketahui untuk
menguji pemindai. Dua persyaratan digunakan untuk memilih aplikasi web yang rentan: (1) kerentanan yang
jelas dan (2) mewakili teknologi aplikasi web modern. Setelah melihat proyek OWASP Vulnerable Web
Applications Directory (VWAD), yang menyimpan daftar semua aplikasi web tidak aman yang tersedia [ 37],
kami menemukan bahwa aplikasi OWASP Juice Shop [38] memenuhi persyaratan kami.

5.2. Pilihan Pemindai Kotak Hitam

Ada berbagai pemindai komersial dan sumber terbuka yang tersedia, masing-masing dengan kekuatan
dan keterbatasannya. Untuk memilih pemindai yang akan diuji, kami meninjau WAVS yang tersedia saat ini di
pasaran. Dalam penelitian ini, kami bertujuan untuk mengevaluasi pemindai komersial dan sumber terbuka.
Kami memilih lima pemindai kotak hitam, satu komersial, dan empat sumber terbuka: Burp Suite Professional,
OWASP ZAP, Vega, Skipfish, dan Wapiti. Pemindai dipilih berdasarkan ketersediaan dan kemampuannya untuk
mendeteksi kerentanan injeksi. Daftar berikut memberikan deskripsi yang lebih rinci tentang pemindai yang
dipilih. • ZAP adalah alat pengujian penetrasi sumber terbuka dan gratis untuk mendeteksi
kerentanan dalam aplikasi web. Ini memiliki fitur proxy untuk mencegat dan memeriksa pesan yang dikirim
antara klien dan aplikasi web [39].

• Burp Suite Professional adalah alat keamanan web komersial yang dapat digunakan untuk menguji semua 10
kerentanan teratas OWASP. Ia mampu melakukan analisis pasif dan aktif.
Selain itu, proxy/riwayatnya yang kuat memungkinkan penguji penetrasi untuk memodifikasi semua
komunikasi HTTPS aman yang lewat menggunakan browser [40].
• Vega adalah alat sumber terbuka dan gratis untuk menguji keamanan aplikasi web dan mendeteksi kerentanan.
Selain itu, ia menyediakan pemindaian otomatis untuk pengujian cepat dan memiliki komponen proxy
pencegat [41].
Machine Translated by Google

Elektronik 2022, 11, 2049 9 dari 20

• Skipfish adalah pemindai kerentanan sumber terbuka dan gratis yang menyiapkan peta situs interaktif
untuk aplikasi web yang dipindai. Ini menjalankan perayapan berulang dan pemindaian berbasis
kamus. Peta yang diperoleh dianotasi dengan keluaran dari beberapa pemindaian aktif [42].

• Wapiti adalah aplikasi gratis, sumber terbuka, dan baris perintah yang memindai keamanan aplikasi
web. Itu melakukan pemindaian kotak hitam dengan merayapi halaman web dari aplikasi web
target dan mencari formulir yang dapat menyuntikkan data. Ketika daftar URL, formulir, dan
inputnya telah dikumpulkan, Wapiti bertindak seperti fuzzer dan menyuntikkan muatan untuk
melihat apakah ada potensi kerentanan [43].

5.3. Pemilihan Metrik

Untuk menentukan akurasi deteksi kerentanan dari pemindai yang dievaluasi, kami
menghitung jumlah TP, FP, dan FN yang dihasilkan oleh setiap pemindai. Selanjutnya, tiga
metrik dihitung: presisi, recall, dan F-measure. Metrik ini dipilih berdasarkan rekomendasi
Antunes dan Vieira [44] untuk menggunakan penarikan untuk menilai alat mana yang mendeteksi
jumlah kerentanan tertinggi atau, dengan kata lain, yang membuat kerentanan paling sedikit
tidak terdeteksi. Presisi adalah tiebreak yang direkomendasikan. Antunes dan Vieira [44]
menyarankan menggunakan ukuran-F untuk memilih alat yang mendeteksi sejumlah besar
kerentanan sambil melaporkan jumlah FP yang rendah; recall adalah tiebreak yang direkomendasikan.

6. Penyiapan dan Eksekusi Eksperimental


Bagian ini menyajikan detail penting tentang eksperimen dan pelaksanaannya.

6.1. Desain Eksperimen


Berikut ini secara singkat menjelaskan alur kerja eksperimental, yang diilustrasikan pada Gambar
2.
1. Kami memulai setiap pemindaian dengan memilih dari empat mode pemindaian.
2. Kami menjalankan aplikasi web target (OWASP Juice Shop).
3. Kami menghubungkan aplikasi web target ke pemindai yang dievaluasi.
4. Komponen perayap pemindai kemudian menjelajahi halaman aplikasi web dan mengidentifikasi
formulir serta titik masuk.
5. Pemindai mengirim potensi serangan muatan ke titik masuk.
6. Modul analisis pemindai menghasilkan laporan analitik.
7. Kami menganalisis laporan ini secara manual.
Karena kami memiliki empat mode, langkah ini diulang empat kali untuk setiap pemindai jika
pemindai memiliki komponen proxy. Jika tidak, pemindai hanya bekerja dalam dua mode.

6.2. Aplikasi Toko Jus Owasp


Toko Jus OWASP adalah proyek sumber terbuka yang dibuat oleh Björn Kimminich dan
diselenggarakan oleh OWASP. Itu ditulis dalam Node.js, Angular dan Express [45] dan
merupakan aplikasi pertama yang seluruhnya ditulis dalam JavaScript di OWASP VWAD.
Meskipun Juice Shop adalah aplikasi web yang sengaja dibuat rentan yang dibuat untuk
kesadaran dan pelatihan, ini memberi kesan aplikasi web e-niaga yang berfungsi lengkap yang
bisa ada di dunia nyata. Juice Shop meniru toko online kecil yang menawarkan jus buah dan
sayuran serta produk terkait. Pengguna dapat membuat akun, masuk, memesan, menulis dan
membaca ulasan produk, melacak pesanan, dan lainnya. Gambar 3 menyajikan arsitektur.
Selain banyaknya penggunaan JavaScript, yang membedakan Juice Shop dari aplikasi rentan
lainnya, ia juga menggunakan teknologi web terkini. Misalnya, framework Angular umum
digunakan di front end untuk membuat aplikasi satu halaman. Dalam hal autentikasi, Juice Shop
menggunakan OAuth 2.0, yang memungkinkan pengguna masuk dengan akun Google mereka.
Selain itu, ketika pengguna berhasil masuk menggunakan kredensial mereka, token web JSON
(JWT) dikembalikan dan disertakan dalam permintaan berikutnya, memungkinkan pengguna
untuk mengakses layanan yang hanya diotorisasi dengan token tersebut. Dalam hal
penyimpanan data, mesin SQLite berbasis file digunakan sebagai database utama. MarsDB, turunan Jav
Machine Translated by Google

Elektronik 2022, 11, 2049 10 dari 20

database MongoDB NoSQL yang banyak digunakan, juga digunakan untuk penyimpanan data
tambahan. JavaScript adalah bahasa pemrograman utama di bagian belakang. Selain itu,
fungsionalitas back-end yang diperlukan dari aplikasi dikirimkan ke klien melalui RESTful API.

Gambar 2. Alur kerja eksperimental.

Gambar 3. Arsitektur aplikasi OWASP Juice Shop [45].

6.3. Owasp Juice Shop Menguji Kerentanan


Sebagian besar kerentanan dalam aplikasi OWASP Juice Shop berasal dari daftar atau
dokumen terkenal, termasuk OWASP Top 10, OWASP API Security Top 10, dan MITRE's
Common Weakness Enumeration [45].
Aplikasi OWASP Juice Shop berisi berbagai kerentanan yang dikategorikan menjadi
14 jenis (lihat Gambar 4) [45]. Namun, dalam penelitian ini, kami hanya menguji
kerentanan injeksi karena menduduki peringkat pertama berdasarkan laporan OWASP
(2017) [4] untuk 10 besar kerentanan aplikasi web. Selain itu, serangan injeksi dapat
sangat berdampak pada data aplikasi web yang dihosting, termasuk kehilangan atau
kerusakan data, kerugian finansial, dan bahkan hilangnya kendali sistem sepenuhnya
[22]. Aplikasi OWASP Juice Shop berisi tujuh kerentanan injeksi, khususnya SQLi, NoSQL, dan
Tabel 3 memberikan detail tentang kerentanan yang diuji.
Machine Translated by Google

Elektronik 2022, 11, 2049 11 dari 20

Gambar 4. Kategori kerentanan OWASP Juice Shop [45].

Tabel 3. Kerentanan injeksi di OWASP Juice Shop.

Kerentanan Nomor login dibutuhkan


SQL buta 1 0

Injeksi SQLi berbasis serikat pekerja 1 0

Injeksi SQLi 1 0

Injeksi NoSQL 3 2

SSTi 1 1

Jumlah Total Kerentanan 7

6.4. Mode Pemindai Kerentanan Aplikasi Web Setiap


pemindai berjalan dalam empat mode untuk memastikan bahwa seluruh aplikasi web dipetakan
termasuk halaman yang memerlukan otentikasi karena beberapa kerentanan hanya dapat diakses
oleh pengguna yang diautentikasi dan untuk menentukan apakah pemindai gagal mendeteksi
kerentanan karena tidak dapat mengakses halaman yang rentan karena kemampuan perayapannya
yang buruk atau karena tidak dapat mendeteksi jenis kerentanan ini.
Dalam mode 1, kami hanya memberi pemindai URL Toko Jus OWASP. Namun dalam mode 2,
kami memberikan pemindai URL dan kredensial login yang valid. Dalam mode 3, kami menyediakan
pemindai dengan URL aplikasi. Selain itu, jika pemindai memiliki komponen proxy , maka digunakan
dalam mode ketiga untuk melihat secara manual semua halaman aplikasi web yang tidak memerlukan
autentikasi. Dalam mode 4, kami menyediakan pemindai dengan URL aplikasi dan kredensial login
yang valid. Dalam mode ini, jika pemindai memiliki proxy pencegat, itu digunakan untuk mengakses
semua halaman secara manual, termasuk yang memerlukan autentikasi. Rincian lebih lanjut tentang
algoritma yang diterapkan dalam empat mode tercantum di bawah ini (Algoritma 1–4).

Algoritma 1 Mode 1: Point-and-shoot (PaS)


Deskripsi: Pemindai hanya dilengkapi dengan URL entri
aplikasi OWASP Juice Shop untuk pemindaian.

Masukkan URL Toko Jus OWASP: http://localhost:3000 (diakses pada 8 Mei 2021)
Keluaran
Laporan

pemindaian Mulai Atur pemindai untuk


bekerja dengan
browser Luncurkan browser Buka aplikasi
OWASP Juice Shop Tambahkan URL aplikasi
ke cakupan target
Jalankan perayap
Jalankan pemindaian aktif Akhiri
Machine Translated by Google

Elektronik 2022, 11, 2049 12 dari 20

Algoritma 2 Mode 2: Pemindaian yang tidak diautentikasi dengan proxy

Deskripsi: Seperti pada mode 1, pemindai dilengkapi dengan URL


entri aplikasi, kecuali menggunakan komponen proxy (jika tersedia) untuk
mengunjungi semua halaman aplikasi yang tidak memerlukan autentikasi
secara manual dan mengisi formulir apa pun.

Masukkan URL Toko Jus OWASP: http://localhost:3000 (diakses pada 8 Mei 2021)
Laporan
Pemindaian Keluaran
Awal
Atur pemindai agar berfungsi dengan browser
Luncurkan peramban

Buka aplikasi OWASP Juice Shop


Tambahkan URL aplikasi ke cakupan target
Jalankan perayap

Gunakan proxy untuk mengunjungi setiap halaman yang tidak diautentikasi

Isi formulir apa saja


Jalankan pemindaian aktif
Akhir

Algoritma 3 Mode 3: Arahkan dan tembak dengan kredensial pengguna


Deskripsi: Pemindai diberikan URL entri aplikasi OWASP Juice Shop
dan diberikan kredensial login yang valid (seperti nama pengguna dan kata sandi atau token otentikasi) untuk membantu pemindai mengakses
halaman yang diautentikasi.

Masukkan URL Toko Jus OWASP: http://localhost:3000 (diakses pada 8 Mei 2021)
Kredensial pengguna

Keluaran
Laporan pindai
Mulai
Atur pemindai untuk bekerja dengan browser Luncurkan browser

Buka aplikasi OWASP Juice Shop


Tambahkan URL aplikasi ke cakupan target
Masuk aplikasi dengan kredensial yang sah
Konfigurasikan pemindai menggunakan kredensial pengguna dalam pemindaian
Jalankan perayap
Jalankan pemindaian aktif
Akhir

Algoritma 4 Mode 4: Pemindaian terotentikasi dengan proxy

Deskripsi: Seperti pada mode 2, pemindai dilengkapi dengan URL


aplikasi dan kredensial login yang valid untuk membantu pemindai
mengakses halaman yang diautentikasi.
Selain itu, jika pemindai memiliki komponen proxy, ia digunakan untuk
mengunjungi setiap halaman secara manual, termasuk halaman yang
memerlukan autentikasi, dan mengisi formulir apa pun.

Masukkan URL Toko Jus OWASP: http://localhost:3000 (diakses pada 8 Mei 2021)
Kredensial pengguna

Laporan
Pemindaian Keluaran
Awal
Atur pemindai agar berfungsi dengan browser
Luncurkan peramban

Buka aplikasi OWASP Juice Shop


Tambahkan URL aplikasi ke cakupan target
Masuk aplikasi dengan kredensial yang sah
Konfigurasikan pemindai menggunakan kredensial pengguna
Jalankan perayap

Gunakan proxy untuk mengunjungi setiap halaman di aplikasi


Isi formulir apa saja Jalankan pemindaian aktif
Akhir

7. Analisis Hasil Bagian

ini menyajikan hasil yang diperoleh dan dianalisis dari pengujian eksperimen.
Machine Translated by Google

Elektronik 2022, 11, 2049 13 dari 20

7.1. Hasil Eksperimen


Bagian ini menyajikan hasil menjalankan lima pemindai dalam empat mode berbeda.
Kami menganalisis peringatan dan laporan yang dihasilkan oleh setiap pemindai dan mengonversinya
secara manual menjadi nilai FN, TP, dan FP. Dengan demikian, setiap kerentanan yang terlewatkan
oleh pemindai dianggap sebagai FN. Setiap kerentanan yang memang terdeteksi dan dilaporkan oleh
pemindai dianggap sebagai TP. Jika pemindai mendeteksi kerentanan injeksi yang tidak ada di
aplikasi, itu dianggap sebagai FP. Selanjutnya, kami menyajikan nilai FN, TP, dan FP untuk semua pemindai
setiap modus.

7.2. Hasil Modus 1

Hasil menjalankan pemindai dalam mode ini tercantum dalam Tabel 4. • FN:
Jelas dari Tabel 4 bahwa jumlah kerentanan tidak terdeteksi (FN) secara signifikan lebih tinggi
daripada nilai terdeteksi (TP) dan salah terdeteksi (FP) di modus ini .

• TP: Seperti yang dapat kita lihat dari Tabel 4, sebagian besar pemindai gagal mendeteksi
kerentanan yang diketahui , selain pemindai ZAP, yang menemukan satu kerentanan injeksi SQLi
di halaman beranda.
• FP: Karena kami hanya memindai kerentanan injeksi, tidak ada pemindai yang mendeteksi
kerentanan injeksi yang sebenarnya tidak ada.

Tabel 4. Hasil FN, TP, dan FP pada mode 1.

Pemindai FN TP FP
PERTENGKARAN 6 1 0

Bersendawa Suite 7 0 0

Vega 7 0 0

Skipfish 7 0 0

Lewat 7 0 0

7.3. Hasil Mode 2

Hasil menjalankan pemindai dalam mode ini ditunjukkan pada Tabel 5. • FN:
Jumlah kerentanan tidak terdeteksi (FN) dalam mode ini sama seperti di Mode 1, kecuali pemindai
Burp Suite Professional, yang mendeteksi satu kerentanan. Dengan demikian, jumlah FN
berkurang satu.
• TP: Dalam Mode 2, pemindai ZAP dan Burp Suite hanya mendeteksi satu kerentanan.
Yang terdeteksi oleh ZAP sudah ditemukan selama pemindaian Mode 1. Burp Suite
kemungkinan dapat mendeteksi kerentanan karena kami mengisi formulir login secara manual
untuk menyediakan pemindai dengan kredensial istimewa; kemudian, pemindai dapat
mengakses halaman masuk yang rentan.
• FP: Tidak ada pemindai yang mendeteksi kerentanan injeksi yang sebenarnya tidak ada
dalam aplikasi.

Tabel 5. Hasil FN, TP, dan FP pada mode 2.

Pemindai FN TP FP
PERTENGKARAN 6 1 0

Bersendawa Suite 6 1 0

Vega 7 0 0

Skipfish 7 0 0

Lewat 7 0 0
Machine Translated by Google

Elektronik 2022, 11, 2049 14 dari 20

7.4. Mode 3 Hasil

Hasil menjalankan pemindai dalam mode ini ditunjukkan pada Tabel 6


• FN: Pemindai ZAP mencapai jumlah FN paling sedikit (lima). • TP: Tabel
6 menunjukkan bahwa menggunakan pemindai dalam mode proxy untuk mengakses halaman yang
tidak diautentikasi dalam aplikasi secara manual meningkatkan jumlah kerentanan yang
terdeteksi sebanyak satu untuk pemindai ZAP saja. Namun, pemindai lain yang memiliki proxy
(yaituBurp Suite Professional dan Vega) tidak mendeteksi apa pun, bahkan saat kami
mengakses halaman yang rentan secara manual.

FP: Tidak ada pemindai yang mendeteksi kerentanan injeksi yang sebenarnya tidak ada dalam aplikasi.

Tabel 6. Hasil FN, TP, dan FP pada mode 3.

Pemindai FN TP FP

PERTENGKARAN 5 2 0

Bersendawa Suite 7 0 0

Vega 7 0 0
- - -
Skipfish
- - -
Lewat

7.5. Mode 4 Hasil

Hasil menjalankan pemindai dalam mode ini ditampilkan pada Tabel 7. • FN: Vega memiliki
jumlah kerentanan tertinggi yang tidak terdeteksi. Sebaliknya, ZAP dan
Burp Suite memiliki nilai FN paling sedikit (masing-masing
lima). • TP: ZAP dan Burp Suite mendeteksi dua kerentanan injeksi.

FP: Tidak ada pemindai yang mendeteksi kerentanan injeksi yang sebenarnya tidak ada dalam aplikasi.

Tabel 7. Hasil FN, TP, dan FP pada mode 4.

Pemindai FN TP FP

PERTENGKARAN 5 2 0

Bersendawa Suite 5 2 0

Vega 7 0 0
- - -
Skipfish
- - -
Lewat

7.6. Ringkasan Hasil


Dalam Mode 1, di mana hanya URL aplikasi yang diberikan ke pemindai, pemindai ZAP adalah satu-
satunya pemindai yang mendeteksi kerentanan (yaitu, SQLi) yang terletak di halaman beranda aplikasi.
Sebaliknya, semua pemindai lainnya tidak dapat mendeteksi kerentanan apa pun.
Dalam Mode 2, ZAP melaporkan kerentanan yang sama yang terdeteksi dalam Mode 1,
bahkan ketika kami menyediakan pemindai dengan token sesi pengguna yang valid. Ini
menunjukkan bahwa pemindai tidak dapat menggunakan token sesi dengan benar untuk
autentikasi. Selain itu, Burp Suite mendeteksi SQLi di halaman login. Dalam Mode 1 dan 2,
pemindai Vega, Skipfish, dan Wapiti tidak dapat mendeteksi kerentanan apa pun, termasuk yang ada di hala
Di Mode 3, saat kami mengakses halaman web secara manual melalui proxy, ZAP dapat menemukan
dua kerentanan injeksi di halaman login. Meskipun Burp suite dan Vega memiliki proxy, mereka tidak dapat
mendeteksi kerentanan apa pun.
Machine Translated by Google

Elektronik 2022, 11, 2049 15 dari 20

Di Mode 4, Burp Suite menemukan kerentanan SQLi di bidang email, yang sudah
ditemukan di Mode 2. Selain itu, Burp Suite mendeteksi kerentanan NoSQL di http://
localhost:3000/#/track-order (diakses pada 8 Mei 2021). Halaman yang didefinisikan sebagai
injeksi kode JavaScript sisi server. Seperti ZAP, Burp Suite tidak dapat menggunakan
kredensial login untuk mengakses halaman yang diautentikasi. Bahkan saat proxy mengakses
semua halaman aplikasi, kerentanan lain terlewatkan oleh ZAP dan Burp Suite Professional.
ZAP mendeteksi kerentanan yang sama yang telah ditemukan di mode sebelumnya.
Sebaliknya, Vega mengabaikan semua kerentanan injeksi. Skipfish dan Wapiti hsd tidak ada kompone
Tabel 8 mencantumkan jenis kerentanan yang terdeteksi dan tidak terdeteksi oleh berbagai pemindai.

Tabel 8. Jenis kerentanan yang terdeteksi dan tidak terdeteksi.

Bersendawa Suite ZAP Vega Skipfish Lewat


SQL buta ÿ • ÿ ÿ ÿ

SQLi berbasis serikat ÿ ÿ ÿ ÿ ÿ

SQLi • • ÿ ÿ ÿ

NoSQL ÿ ÿ ÿ ÿ ÿ

SSTi ÿ ÿ ÿ ÿ ÿ

•: Semua kerentanan terdeteksi, ÿ: tidak ada kerentanan yang terdeteksi, ÿ: beberapa kerentanan
terdeteksi dan beberapa tidak.

8. Evaluasi
Bagian ini menilai akurasi pendeteksian kerentanan pemindai yang diuji dengan menghitung
metrik presisi, daya ingat, dan F-measure. Selain itu, bagian ini membahas batasan dan celah
utama pemindai yang dipertimbangkan dalam pekerjaan ini.

8.1. Precision, Recall, dan F-Measure


Berdasarkan hasil FN, TP dan FP yang diperoleh, presisi, recall, dan F-measure dari setiap
scanner dihitung (lihat Tabel 9). Hasil terbaik yang diperoleh dari setiap pemindai disorot.

Menurut Antunes dan Vieira [34], semakin rendah jumlah FP, semakin tinggi presisi.
Akibatnya, pemindai dapat mendeteksi kerentanan dengan lebih akurat. Sebaliknya, semakin
tinggi daya ingat, semakin rendah jumlah FN. Akibatnya, pemindai dapat mendeteksi kerentanan
dengan lebih akurat [34]. Presisi mengacu pada persentase kerentanan relevan yang benar
dibandingkan dengan jumlah total kerentanan yang terdeteksi [15]. Seperti dapat dilihat pada
Tabel 9, pemindai Burp Suite Professional dan ZAP memiliki presisi tertinggi (100%), sedangkan
yang lainnya memiliki presisi terendah (0%). Recall adalah persentase kerentanan yang
teridentifikasi dengan benar dibandingkan dengan jumlah total kerentanan aktual [ 15]. Dari
Tabel 9, kita dapat melihat bahwa penarikan kembali Burp Suite Professional di Mode 4 dan
ZAP di Mode 3 dan 4 menempati persentase yang lebih tinggi (29%) daripada pemindai lain
(0%) di semua mode. Kolom terakhir dari Tabel 9 menunjukkan F-measure dari setiap scanner
dalam mendeteksi kerentanan injeksi. Menurut Idrissi et al. [15], metrik ukuran-F menunjukkan
keefektifan setiap pemindai karena menggabungkan presisi dan daya ingat ke dalam satu
ukuran. Seperti dapat dilihat pada Tabel 9, Burp Suite Professional di Mode 3 dan ZAP di Mode
3 dan 4 memiliki ukuran F yang sama dan efisiensi tertinggi (44%) dibandingkan dengan yang
lain. Vega, Skipfish, dan Wapiti memiliki ukuran-F 0% di semua mode. Gambar 5 menunjukkan
hasil presisi, daya ingat, dan ukuran-F dari berbagai mode .
Machine Translated by Google

Elektronik 2022, 11, 2049 16 dari 20

Tabel 9. Nilai presisi, daya ingat, dan ukuran-F untuk semua pemindai.

Mode Pemindai Presisi% Mengingat% F-Ukur%

PERTENGKARAN 100% 14% 25%


Bersendawa Suite Pro 0% 0% 0%
Modus 1 Vega 0% 0% 0%
Skipfish 0% 0% 0%
Lewat 0% 0% 0%

PERTENGKARAN 100% 14% 25%


Bersendawa Suite Pro 100% 14% 25%
Modus 2 Vega 0% 0% 0%
Skipfish 0% 0% 0%
Lewat 0% 0% 0%
PERTENGKARAN 100% 29% 44%
Bersendawa Suite Pro 0% 0% 0%
Modus 3 - - -
Vega
- - -
Skipfish
- - -
Lewat
PERTENGKARAN 100% 29% 44%
Bersendawa Suite Pro 100% 29% 44%
Modus 4 - - -
Vega
- - -
Skipfish
- - -
Lewat

Gambar 5. Didapatkan hasil precision, recall, dan F-measure pada mode yang berbeda.

8.2. Diskusi: Menemukan Kesenjangan Kunci


Bagian ini membahas kemungkinan alasan keterbatasan pemindai. Hal pertama yang perlu
diperhatikan adalah bahwa black-box scanner bertujuan untuk memecahkan masalah yang
menantang dalam tugas yang menantang [7]. Dengan demikian, mereka cenderung melewatkan
banyak kerentanan. Hasil kami menunjukkan bahwa dua pemindai, yaitu ZAP dan Burp Suite
Professional, mendeteksi tidak lebih dari dua kerentanan injeksi dari tujuh kerentanan yang
diketahui. Sekitar 72% dari kerentanan yang ada tidak terdeteksi. Sebaliknya, pemindai Vega,
Skipfish, dan Wapiti mengabaikan semua kerentanan.
Machine Translated by Google

Elektronik 2022, 11, 2049 17 dari 20

Tidak ada pemindai yang mendeteksi kerentanan, bahkan ketika halaman yang rentan dikunjungi
secara manual melalui proxy. Seperti yang dinyatakan oleh Kimminich [45], OWASP Juice Shop
menggunakan turunan Mon goDB sebagai basis data NoSQL-nya, yang rentan terhadap serangan
injeksi. Toko Jus OWASP memiliki tiga kerentanan NoSQL, dua di antaranya tidak terdeteksi oleh pemindai mana p
Identifikasi kerentanan ini oleh penyerang dapat menyebabkan manipulasi, pembaruan beberapa ulasan produk secara
bersamaan, dan serangan denial-of-service melalui injeksi perintah jahat ke dalam URL. Selain itu, kerentanan SSTI
terlewatkan oleh semua pemindai.

Dari hasil ini, jelas bahwa pemindai gagal mendeteksi sebagian besar kerentanan.
Hal ini tampaknya terutama disebabkan oleh dua alasan. Pertama, pemindai memiliki kemampuan terbatas
untuk merayapi aplikasi karena OWASP Juice Shop, seperti banyak aplikasi web modern lainnya, dibuat
secara dinamis menggunakan JavaScript, yang merupakan tantangan besar bagi perayap. Doupé dkk. [11]
juga menyatakan bahwa aplikasi web modern menghadirkan tantangan perayapan untuk pemindai kotak hitam.
Akibatnya, banyak formulir yang rentan terabaikan selama perayapan yang buruk. Pemindai yang
dievaluasi memiliki berbagai kemampuan perayapan. Misalnya, ZAP dan Burp Suite Professional
memiliki kemampuan terbaik untuk merayapi JavaScript dinamis. Akibatnya, mereka memiliki akurasi
deteksi kerentanan yang lebih tinggi. Dengan demikian, menyediakan pemindai dengan komponen
proxy dapat membantu mereka mendeteksi lebih banyak kerentanan. Tidak ada keraguan bahwa
keefektifan pemindai kotak hitam dalam merayapi aplikasi web modern semakin meningkat; namun, kemajuannya
Kedua, alasan lain untuk hilangnya kerentanan adalah meskipun pemindai kotak hitam mendukung deteksi
kerentanan injeksi, mereka tidak dapat mendeteksi semua masalah injeksi.
Misalnya, pemindai ZAP tidak mendukung deteksi SSTI, dan Burp Suite Professional tidak mendukung
NoSQL.
Meskipun kami tidak mengevaluasi fitur autentikasi pemindai, kami menemukan bahwa semuanya gagal
mempertahankan status autentikasi. Saat kami melakukan pemindaian yang diautentikasi dalam Mode 2 dan 4,
hampir semua pemindai tidak dapat menggunakan kredensial istimewa yang diberikan dengan benar untuk
menunjukkan identitas pengguna. Akibatnya, tidak ada yang dapat mengakses halaman yang diautentikasi.
Kemampuan pemindai untuk mempertahankan otentikasi JWT menarik dan harus dievaluasi secara menyeluruh
dalam penelitian selanjutnya. Meskipun evaluasi pemindai kerentanan web kami menyertakan lima pemindai,
hasil kami mungkin tidak dapat digeneralisasikan untuk semua pemindai kotak hitam lainnya.

9. Perbandingan dengan Pekerjaan Sebelumnya

Beberapa peneliti telah menguji pemindai kotak hitam terhadap aplikasi web yang rentan.
Doupé dkk. [11] mengevaluasi 11 pemindai kotak hitam terhadap aplikasi WackoPicko.
Penulis menjalankan pemindai dalam tiga mode: awal, dikonfigurasi, dan manual. Dalam
mode awal, pemindai dioperasikan dalam mode PaS dan diberi kredensial login yang valid.
Dalam mode terakhir, pemindai disetel ke mode proxy, sedangkan halaman aplikasi dijelajahi secara manual. Doupé
dkk. [11] melaporkan bahwa itu adalah tantangan yang signifikan bagi pemindai untuk merayapi aplikasi web modern.
Berbagai kerentanan terdeteksi hanya dalam mode manual. Doupé dkk. [11] juga melaporkan bahwa cakupan perayapan
yang rendah kemungkinan disebabkan oleh teknologi web yang digunakan dalam aplikasi. Meskipun kami menguji
pemindai dan aplikasi web yang berbeda, temuan kami serupa dengan Doupé et al. [11], di mana pemindai mengabaikan
setidaknya 50% kerentanan. Namun, dalam penelitian kami, persentase kerentanan yang tidak terdeteksi jauh lebih
tinggi.

Idrissi dkk. [15] menilai 11 pemindai kotak hitam menggunakan metrik evaluasi yang sama yang diterapkan
dalam penelitian kami. Namun, mereka menggunakan aplikasi yang berbeda, WAVSEP, untuk mengukur
kemampuan pemindai untuk mendeteksi SQLi, XSS yang dipantulkan, penyertaan file jarak jauh, dan kerentanan
penyertaan file traversal/lokal jalur. Oleh karena itu, kami hanya membandingkan hasil kami dengan hasil SQLi mereka.
Dalam penelitian Idrissi et al. [15], F-measure untuk semua scanner adalah antara 70 dan 100%; di kami, itu antara 0
dan 44%, yang jauh lebih rendah. Mengenai daya ingat, dalam penelitian Idrissi et al. [15], antara 60 dan 100%; di kami,
itu antara 0 dan 29%. Perbedaan yang signifikan antara temuan kami dan Idrissi et al. [15] tidak mengherankan, karena
OWASP Juice Shop adalah aplikasi yang jauh lebih menantang untuk pemindai daripada WAVSEP. Lebih-lebih lagi,
Machine Translated by Google

Elektronik 2022, 11, 2049 18 dari 20

kami hanya mempertimbangkan hasil SQLi Idrissi et al. [15] terhadap semua kerentanan injeksi dalam
penelitian kami.
Makino dan Klyuev [8] mengevaluasi dua pemindai kerentanan open-source: OWASP ZAP dan Skipfish
menggunakan Damn Vulnerable Web Application (DVWA) dan WAVSEP sebagai aplikasi pengujian. Penulis
menguji pemindai terhadap daftar kerentanan, termasuk SQLi, SQLi buta, XSS tercermin, XSS persisten, injeksi
file lokal, injeksi file jarak jauh, eksekusi perintah, dan pemalsuan permintaan lintas situs. Hasil kami konsisten
dengan Makino dan Klyuev [8] dalam beberapa aspek. Pertama, OWASP ZAP ditemukan lebih unggul dari Skipfish
dalam mendeteksi kerentanan. Kedua, meskipun pemindai mendeteksi beberapa kerentanan injeksi, seperti SQLi,
mereka melewatkan yang lain.

Khoury et al. [12] mencapai kesimpulan yang sama setelah mengevaluasi tiga pemindai kotak hitam
yang mendukung deteksi kerentanan SQLi yang persisten. Untuk tujuan ini, penulis membuat aplikasi
khusus, yang disebut MatchIt, menemukan bahwa pemindai tidak dapat mengidentifikasi kerentanan yang
ada. Khoury et al. [12] menekankan bahwa mengonfigurasi pemindai dengan nama pengguna dan kata
sandi dapat meningkatkan hasil keseluruhan karena halaman yang memerlukan otentikasi lebih mungkin
untuk diakses. Sebagai perbandingan, penelitian kami menguji pemindai kotak hitam dengan salah satu
aplikasi web tidak aman yang paling modern dan canggih, yang mewakili aplikasi web e-commerce
kehidupan nyata. Selanjutnya, kami menjelajahi empat mode untuk mengidentifikasi alasan keterbatasan
pemindai. Kami berharap penelitian ini akan memberikan wawasan berharga tentang bagaimana
kemampuan pemindai kotak hitam untuk mendeteksi kerentanan injeksi dapat ditingkatkan.

10. Kesimpulan dan Pekerjaan Masa Depan

Studi ini mengevaluasi akurasi pendeteksian pemindai kotak hitam terhadap kerentanan injeksi SQLi,
NoSQL, dan SSTI. Untuk mencapai hal ini, kami mengevaluasi kemampuan pendeteksian lima pemindai
web kotak hitam terhadap salah satu aplikasi web paling modern dan rentan. Kami mengukur fitur akurasi
deteksi kerentanan dari setiap pemindai menggunakan tiga metrik evaluasi: presisi, daya ingat, dan ukuran-
F. Kami menemukan bahwa ZAP dan Burp Suite Professional lebih unggul. Selain itu, pemindai kotak
hitam yang dievaluasi mengabaikan sebagian besar kerentanan yang ada di sebagian besar mode, dan
beberapa pemindai tidak dapat mendeteksi apa pun. Hal ini ternyata disebabkan oleh dua alasan. Pertama,
pemindai memiliki kemampuan terbatas untuk merayapi aplikasi web modern yang dinamis. Dengan
demikian, menyediakan pemindai dengan komponen proxy membantu mereka mendeteksi lebih banyak
kerentanan yang ada. Kedua, meskipun pemindai kotak hitam mendukung pendeteksian kerentanan
injeksi, mereka tidak dapat mendeteksi semua jenis kelemahan injeksi. Di masa mendatang, perbaikan
harus dilakukan dari perspektif berikut: 1. Mengevaluasi lebih banyak pemindai kotak hitam. Dalam

makalah ini, kami mengevaluasi hanya lima. Namun, ada peningkatan jumlah di pasar. Oleh karena itu,
penelitian selanjutnya dapat memindai aplikasi yang sama, OWASP Juice Shop, dengan pilihan
pemindai yang paling banyak digunakan.

2. Uji kerentanan lainnya. Aplikasi OWASP Juice Shop berisi 14 kategori kerentanan dan mencakup beberapa
yang belum pernah diuji oleh penelitian. Dalam makalah ini, kami hanya berfokus pada kerentanan injeksi.
Namun, penelitian di masa depan harus mencakup jenis lain.

3. Menganalisis keterbatasan deteksi kerentanan yang teridentifikasi. Karena pekerjaan kami mengevaluasi
pemindai sumber terbuka, peneliti lain sekarang memiliki kesempatan untuk mengakses dan meninjau kode
sumber. Oleh karena itu, studi masa depan harus memeriksa masalah desain dan keterbatasan secara
lebih rinci.

Kontribusi Penulis: Konseptualisasi, MA dan NS; metodologi, MA, NS dan SL; validasi, MA, NS dan PG; tulisan—
penyusunan draf asli, MA dan NS; menulis—review dan editing, MA, NS, SL dan PG; pengawasan, NS; Semua penulis
telah membaca dan menyetujui versi naskah yang diterbitkan.

Pendanaan: Penelitian ini tidak menerima pendanaan eksternal.


Machine Translated by Google

Elektronik 2022, 11, 2049 19 dari 20

Pernyataan Dewan Peninjau Institusional: Tidak berlaku.

Pernyataan Informed Consent: Tidak berlaku.


Konflik Kepentingan: Para penulis menyatakan tidak ada konflik kepentingan.

Referensi
1. Pengguna internet. Tersedia online: https://www.internetlivestats.com/watch/internet-users (diakses pada 8 Mei 2021).
2. Jumlah Total Situs Web. Tersedia online: https://www.internetlivestats.com/watch/websites (diakses pada 8 Mei 2021).
3. Verizon. Laporan Investigasi Pelanggaran Data 2020. Laporan Teknis, Verizon, 2020. Tersedia online: https://www.cisecurity.org/ wp-content/
uploads/2020/07/The-2020-Verizon-Data-Breach-Investigations-Report-DBIR.pdf (diakses pada 8 Mei 2021).
4. OWASP. OWASP Top 10 -2017 Sepuluh Risiko Keamanan Aplikasi Web Paling Kritis; Laporan teknikal; OWASP: Wakefield, MA,
Amerika Serikat, 2017.

5. Status Keamanan Internet. Tersedia online: https://www.akamai.com/uk/en/multimedia/documents/state-of-the-internet/ soti-security-a-year-in-


review-report-2019.pdf (diakses pada 8 Mei 2021).
6. Braga, M. Yang Kami Ketahui tentang Pelanggaran Equifax—Dan Yang Tidak Kami Ketahui. 2017. Tersedia online: https://www.cbc.ca/news/
sains/equifax-canada-breach-sin-cybersecurity-what-we-know-1.4297532 (diakses pada 8 Mei 2021).
7. Khalil, RF Mengapa Johnny Masih Tidak Bisa Pentest: Analisis Komparatif Pemindai Kerentanan Web Kotak Hitam Sumber Terbuka.
Ph.D. Tesis, Université d'Ottawa/Universitas Ottawa, Ottawa, ON, Kanada, 2018.
8. Makino, Y.; Klyuev, V. Evaluasi pemindai kerentanan web. Dalam Prosiding 2015 IEEE 8th International Conference on Intelligent Data Acquisition
and Advanced Computing Systems: Technology and Applications (IDAACS), Warsawa, Polandia, 24–26 September 2015; Volume 1, hlm. 399–
402.
9. Suto, L. Menganalisis Akurasi dan Biaya Waktu Pemindai Keamanan Aplikasi Web. 2010. Tersedia online: http: //www.think-secure.nl/uk/
Accuracy_and_Time_Costs_of_Web_App_Scanners.pdf (diakses pada 8 Mei 2021).
10. Bau, J.; Bursztein, E.; Gupta, D.; Mitchell, J. Canggih: Pengujian kerentanan aplikasi web kotak hitam otomatis. Dalam Prosiding Simposium IEEE
2010 tentang Keamanan dan Privasi, Oakland, CA, USA, 16–19 Mei 2010; hlm. 332–345.
11. Doupé, A.; Cova, M.; Vigna, G. Mengapa Johnny tidak bisa pentest: Analisis pemindai kerentanan web kotak hitam. Dalam Prosiding Konferensi
Internasional tentang Deteksi Intrusi dan Malware, serta Penilaian Kerentanan, Cagliari, Italia, 14–16 Juli 2021; Peloncat: Berlin/Heidelberg,
Jerman, 2010; Volume 6201, hlm. 111–131.
12. Khoury, N.; Zavarsky, P.; Lindskog, D.; Ruhl, R. Menguji dan Menilai Pemindai Kerentanan Web untuk Serangan Injeksi SQL Persisten. Dalam
Prosiding Lokakarya Internasional Pertama tentang Keamanan dan Perlindungan Privasi di E-Societies, New York, NY, USA, 9 Juni 2011; Asosiasi
Mesin Komputasi: New York, NY, USA, 2011; hlm. 12–18. [Referensi Silang]
13. Khoury, N.; Zavarsky, P.; Lindskog, D.; Ruhl, R. Analisis pemindai keamanan aplikasi web kotak hitam terhadap injeksi SQLi yang disimpan. Dalam
Prosiding Konferensi Internasional Ketiga IEEE 2011 tentang Privasi, Keamanan, Risiko, dan Kepercayaan dan Konferensi Internasional Ketiga
IEEE 2011 tentang Komputasi Sosial, Boston, MA, AS, 9–11 Oktober 2011; hlm. 1095–1101.
14. Parvez, M.; Zavarsky, P.; Khoury, N. Analisis efektivitas pemindai aplikasi web kotak hitam dalam mendeteksi injeksi SQLi yang disimpan dan
kerentanan XSS yang disimpan. Dalam Prosiding 2015 10th International Conference for Internet Technology and Secured Transactions (ICITST),
London, UK, 14–16 Desember 2015; hlm. 186–191.
15. Idrissi, S.; Berbiche, N.; Guerouate, F.; Shibi, M. Evaluasi kinerja pemindai keamanan aplikasi web untuk pencegahan dan
perlindungan terhadap kerentanan. Int. J.Appl. Eng. Res. 2017, 12, 11068–11076.
16. Sutton, M.; Greene, A.; Amini, P. Fuzzing: Brute Force Vulnerability Discovery, edisi ke-3; Pendidikan Pearson: London, Inggris, 2007.
17. Doupé, A.; Cavedon, L.; Kruegel, C.; Vigna, G. Musuh negara: Pemindai kerentanan web kotak hitam yang sadar negara. Dipresentasikan sebagai
bagian dari Simposium Keamanan USENIX ke-21 (Keamanan USENIX 12), Bellevue, WA, AS, 11–13 Agustus 2021; Asosiasi USENIX : Bellevue,
WA, AS, 2012; hlm.523–538.
18. Munoz, FR; Cortes, IIS; Villalba, LJG Pembesaran aplikasi web yang rentan untuk pengujian. J.Superkomputer. 2017,
74, 6598–6617. [Referensi Silang]
19. Yayasan OWASP. Tersedia online: https://owasp.org (diakses pada 8 Mei 2021).
20. Injeksi SQL. Tersedia online: https://owasp.org/www-community/attacks/SQL_Injection (diakses pada 8 Mei 2021).
21. Serangan SQL Injection UNION. Tersedia online: https://portswigger.net/web-security/sql-injection/union-attacks (diakses
pada 8 Mei 2021).
22. Al-Khurafi, OB; Al-Ahmad, MA Survei kerentanan serangan aplikasi web. Dalam Prosiding 2015 4th International Conference on Advanced Computer
Science Applications and Technologies (ACSAT), Kuala Lumpur, Malaysia, 8–10 Desember 2015; hlm. 154–158.

23. Banach, Z. Cara Kerja Blind SQL Injection. 2020. Tersedia online: https://www.invicti.com/blog/web-security/how-blind
sql-injeksi-berfungsi/ (diakses pada 8 Mei 2021).
24. Akunetix. Apa Itu Suntikan SQL Buta. Tersedia online: https://www.acunetix.com/websitesecurity/blind-sql-injection/
(diakses pada 8 Mei 2021).
25. Banach, Z. Apa itu Injeksi NoSQL dan Bagaimana Cara Mencegahnya? 2020. Tersedia online: https://www.invicti.com/blog/web security/what-is-
nosql-injection/ (diakses pada 8 Mei 2021).
Machine Translated by Google

Elektronik 2022, 11, 2049 20 dari 20

26. Sachdeva, V.; Gupta, S. Analisis Dan Deteksi Injeksi NOSQL Dasar Pada MongoDB. Dalam Prosiding International Conference on Advanced Computation
and Telecommunication (ICACAT) 2018, Bhopal, India, 28–29 Desember 2018; hlm. 1–5.
27. Hou, B.; Qian, K.; Li, L.; Shi, Y.; Tao, L.; Liu, J. MongoDB analisis dan deteksi injeksi NoSQL. Dalam Prosiding 2016 IEEE 3rd International Conference on
Cyber Security and Cloud Computing (CSCloud), Beijing, Tiongkok, 25–27 Juni 2016; hlm. 75–78.
28. Basis Pengetahuan Sistem Manajemen Basis Data Relasional dan NoSQL. Tersedia online: https://db-engines.com/en
(diakses pada 8 Mei 2021).
29. Injeksi Template Sisi Server. Tersedia online: https://portswigger.net/web-security/server-side-template-injection (diakses
pada 8 Mei 2021).
30. Kettle, J. Injeksi Template Sisi Server. 2015. Tersedia online: https://portswigger.net/research/server-side-template-injection
(diakses pada 8 Mei 2021).
31. Hitam, PE; Fong, E.; Okun, V.; Gaucher, R. Alat jaminan perangkat lunak: Spesifikasi fungsional pemindai keamanan aplikasi web
versi 1.0. Spesifikasi Nist. Pub. 2008, 2008, 269–500.
32. Kagorora, F.; Li, J.; Hanyurwimfura, D.; Camara, L. Efektivitas pemindai keamanan aplikasi web dalam mendeteksi kerentanan
di belakang ajax/json. Int. J.Innov. Res. Sains. Eng. technol. 2015, 4, 4179–4188.
33. Konsorsium Keamanan Aplikasi Web dan lain-lain; Kriteria evaluasi pemindai keamanan aplikasi web. Aplikasi Web Aman. Istri.
2009, 1, 1–26.
34. Antunes, N.; Vieira, M. Tolok ukur alat deteksi kerentanan untuk layanan web. Dalam Prosiding IEEE Internasional 2010
Konferensi Layanan Web, Miami, FL, AS, 5–10 Juli 2010; hlm. 203–210.
35. Antunes, N.; Vieira, M. Menilai dan membandingkan alat deteksi kerentanan untuk layanan web: Pendekatan pembandingan dan
contoh. Trans IEEE. Melayani. Komputer. 2014, 8, 269–283. [Referensi Silang]
36. Powers, DM Evaluasi: Dari presisi, daya ingat, dan ukuran-F hingga ROC, informasi, kemaknaan, dan korelasi. arXiv 2011,
arXiv:2010.16061v1.
37. Siles, R.; Proyek Direktori Aplikasi Web Rentan Bennetts, S. OWASP. 2019. Tersedia online: https://owasp.org/www
proyek-rentan-web-aplikasi-direktori/ (diakses pada 8 Mei 2021).
38. Proyek Toko Jus Kimminich, B. OWASP; Laporan teknikal; OWASP: Bel Air, MD, AS, 2020.
39. OWASP Zed Attack Proxy (ZAP). Tersedia online: https://www.zaproxy.org (diakses pada 8 Mei 2021).
40. Pemindai Burp Suite. Tersedia online: https://portswigger.net/burp/vulnerability-scanner (diakses pada 8 Mei 2021).
41. Pemindai Kerentanan Vega. Tersedia online: https://subgraph.com/vega/ (diakses pada 8 Mei 2021). 42. skipfish(1)—Linux Man
Page. Tersedia online: ps://linux.die.net/man/1/skipfish (diakses pada 8 Mei 2021).
43. Pemindai Kerentanan Aplikasi Web. Tersedia online: https://wapiti.sourceforge.io (diakses pada 8 Mei 2021).
44. Antunes, N.; Vieira, M. Tentang metrik untuk pembandingan alat deteksi kerentanan. Dalam Prosiding Konferensi Internasional IEEE/IFIP Tahunan ke-45
tahun 2015 tentang Sistem dan Jaringan yang Dapat Diandalkan, Rio de Janeiro, Brasil, 22–25 Juni 2015; hlm.505–516.
45. Kimminich, Toko Jus OWASP B.Pwning. 2017. Tersedia online: https://pwning.owasp-juice.shop/ (diakses pada 8 Mei 2021).

You might also like