Di era digital, aplikasi web semakin banyak digunakan untuk mengelola berbagai informasi dan aktivitas pengguna. Mulai dari akun, data pribadi, hingga informasi yang bersifat sensitif, semuanya dapat tersimpan dan diproses melalui sebuah aplikasi web. Kondisi tersebut membuat keamanan menjadi salah satu aspek yang tidak dapat dipisahkan dari pengembangan aplikasi.
Sebuah aplikasi tidak cukup hanya memiliki tampilan yang baik dan dapat berjalan sesuai fungsinya. Sistem juga perlu memastikan bahwa pengguna yang masuk benar-benar memiliki hak untuk mengakses data tertentu. Jika mekanisme autentikasi dan pembatasan akses tidak diterapkan dengan baik, dapat muncul celah keamanan yang berpotensi menyebabkan akses terhadap data atau fitur yang seharusnya dilindungi.
Untuk memahami permasalahan tersebut secara langsung, dilakukan praktik menggunakan OWASP Juice Shop. Aplikasi ini menyediakan lingkungan latihan yang memang dirancang untuk mempelajari berbagai kelemahan keamanan pada aplikasi web.
Mengenal OWASP Juice Shop
OWASP Juice Shop merupakan aplikasi web yang sengaja dibuat memiliki berbagai kerentanan keamanan. Aplikasi ini dikembangkan sebagai media pembelajaran dan pengujian sehingga pengguna dapat mempelajari keamanan web melalui berbagai challenge yang tersedia.
Juice Shop menjadi pilihan yang menarik untuk praktik karena pengujian dapat dilakukan pada lingkungan sendiri tanpa harus menguji website milik pihak lain. Dengan begitu, konsep keamanan dapat dipelajari secara langsung dengan cara yang aman dan terkontrol.
Juice Shop dirancang khusus sebagai lingkungan latihan keamanan web. Berbagai challenge di dalamnya membantu memahami bagaimana kelemahan pada autentikasi, kontrol akses, dan bagian lain dari aplikasi dapat ditemukan melalui pengujian langsung.
Authentication dan Access Control dalam Keamanan Data
Dalam artikel ini, pengujian difokuskan pada dua aspek yang memiliki hubungan erat dengan keamanan data, yaitu Authentication dan Access Control.
Authentication berkaitan dengan proses untuk memastikan identitas pengguna. Sederhananya, sistem perlu mengetahui apakah seseorang benar-benar pengguna yang memiliki akun sebelum memberikan akses.
Sementara itu, Access Control berkaitan dengan apa saja yang boleh dilakukan atau diakses oleh pengguna setelah berhasil masuk. Pengguna yang sudah terautentikasi belum tentu memiliki izin untuk mengakses seluruh data atau fitur yang tersedia.
🔒 Access Control → Data atau fitur apa yang boleh diakses pengguna tersebut?
Kedua aspek tersebut saling melengkapi. Sistem yang memiliki login tetapi tidak memiliki pembatasan akses yang baik tetap dapat memiliki celah keamanan.
Persiapan OWASP Juice Shop di Debian 13
Praktik dilakukan menggunakan Debian 13 sebagai environment. OWASP Juice Shop dijalankan menggunakan Node.js dan npm.
Sebelum memasang dependency, package pada Debian diperbarui terlebih dahulu dan package pendukung disiapkan.
apt install python3-setuptools


Setelah environment siap, dependency Juice Shop dipasang menggunakan npm.

Proses instalasi berhasil dilakukan. Terdapat beberapa pesan deprecated selama proses berlangsung, tetapi pesan tersebut berupa warning dan tidak menghentikan instalasi.
Pesan deprecated merupakan peringatan mengenai dependency tertentu. Selama proses instalasi tetap selesai tanpa error yang menghentikan proses, aplikasi masih dapat dijalankan.
Menjalankan Juice Shop
Setelah dependency berhasil dipasang, aplikasi dijalankan menggunakan perintah:
Pada awalnya Juice Shop berjalan pada port 3000. Untuk kebutuhan praktik, port kemudian diubah menjadi 3001.

Setelah perintah dijalankan, Juice Shop berhasil aktif pada port 3001 dan dapat diakses melalui browser. Tahap ini menjadi tanda bahwa environment untuk melakukan pengujian keamanan sudah siap.

Pengujian Authentication
Salah satu aspek yang perlu diperhatikan dalam keamanan aplikasi adalah proses Authentication. Authentication digunakan untuk memastikan bahwa pengguna yang mencoba masuk ke dalam sistem merupakan pengguna yang memiliki kredensial yang sesuai. Pada OWASP Juice Shop, pengujian authentication dapat dilakukan melalui challenge yang tersedia pada Score Board. Salah satu challenge yang berkaitan dengan konsep ini adalah Login Admin. Challenge tersebut digunakan untuk memahami bagaimana kelemahan pada mekanisme login dapat berdampak terhadap keamanan akun. Jika proses autentikasi memiliki kelemahan, pengguna yang tidak seharusnya memiliki akses dapat berpotensi memperoleh akses terhadap akun dengan hak istimewa yang lebih tinggi.
Pengujian Authentication digunakan untuk memahami pentingnya proses verifikasi identitas pengguna sebelum sistem memberikan akses ke akun atau fitur tertentu.

Catatan: hasil challenge Authentication dimasukkan berdasarkan challenge yang benar-benar berhasil diuji pada versi Juice Shop yang digunakan.
Pengujian Access Control melalui View Basket
Selain authentication, aspek lain yang tidak kalah penting adalah Access Control. Setelah pengguna berhasil login, sistem tetap harus menentukan data dan fitur apa saja yang boleh diakses oleh pengguna tersebut.
Mau Kuasai Mengenal dan Menguji Keamanan Web dengan OWASP Juice Shop Sampai Bisa Praktik Langsung?
Materi ini juga kami ajarkan langsung di kelas Edusoft Center, dibimbing mentor, sampai kamu bisa praktik nyata — bukan cuma baca teori.
Tanya Kursus via WhatsApp Lihat contoh project nyata dari siswa kami →
Dalam praktik ini, pengujian dilakukan melalui challenge View Basket. Challenge tersebut berkaitan dengan Broken Access Control, yaitu kondisi ketika aplikasi tidak menerapkan pembatasan akses terhadap resource dengan benar.
Pada aplikasi yang memiliki fitur keranjang belanja, setiap pengguna seharusnya hanya dapat melihat keranjang miliknya sendiri. Jika mekanisme kontrol akses tidak berjalan dengan baik, pengguna dapat berpotensi mengakses data keranjang milik pengguna lain.
Melalui challenge View Basket, dilakukan pengujian terhadap mekanisme tersebut. Challenge berhasil diselesaikan dan tercatat pada sistem Juice Shop sebagai berikut:
Hasil tersebut menunjukkan bahwa challenge View Basket berhasil diuji. Dari praktik ini dapat dipahami bahwa perlindungan data tidak berhenti pada proses login. Aplikasi juga harus memastikan bahwa setiap pengguna hanya dapat mengakses resource yang memang menjadi haknya.
Mengapa Authentication Saja Tidak Cukup?
Authentication dan Access Control sering kali dianggap sebagai hal yang sama, padahal keduanya memiliki fungsi yang berbeda. Authentication memastikan identitas pengguna, sedangkan Access Control menentukan izin yang dimiliki pengguna tersebut.
Bayangkan sebuah aplikasi memiliki dua pengguna. Keduanya berhasil login dengan akun masing-masing. Meskipun keduanya sudah terautentikasi, bukan berarti pengguna pertama dapat membuka data pribadi milik pengguna kedua.
Di sinilah Access Control memiliki peran penting. Sistem harus melakukan pemeriksaan terhadap setiap permintaan data atau resource untuk memastikan bahwa pengguna memiliki hak untuk mengaksesnya.
Berhasil login bukan berarti pengguna boleh mengakses semua data. Setiap akses tetap harus diperiksa berdasarkan hak dan izin pengguna.
Hasil Implementasi
Dari implementasi yang dilakukan, OWASP Juice Shop berhasil dijalankan pada Debian 13 menggunakan Node.js dan npm. Dependency berhasil dipasang dan aplikasi dapat dijalankan pada port 3001.
Pengujian kemudian dilakukan untuk mengenal aspek keamanan yang berkaitan dengan authentication dan access control. Challenge View Basket berhasil diselesaikan dan memberikan gambaran nyata mengenai bagaimana kelemahan kontrol akses dapat memengaruhi perlindungan data pengguna.
Environment: Debian 13
Teknologi: Node.js dan npm
Port Juice Shop: 3001
Fokus keamanan: Authentication dan Access Control
Challenge Access Control: View Basket
Hasil: Challenge berhasil diselesaikan
Pembelajaran dari Pengujian
Praktik menggunakan OWASP Juice Shop memberikan pemahaman bahwa keamanan aplikasi web tidak hanya berkaitan dengan penggunaan password atau proses login. Perlindungan data juga membutuhkan mekanisme pembatasan akses yang tepat.
Melalui pengujian yang dilakukan, dapat dilihat bahwa sebuah aplikasi harus mampu mengenali siapa penggunanya sekaligus menentukan data apa yang boleh diakses oleh pengguna tersebut. Kegagalan pada salah satu bagian dapat membuka peluang terjadinya akses yang tidak semestinya.
Pengujian pada lingkungan seperti Juice Shop juga menjadi cara yang aman untuk memahami konsep tersebut sebelum menerapkannya pada aplikasi yang sebenarnya.
Kesimpulan
Keamanan web merupakan bagian penting dalam membangun aplikasi yang dapat dipercaya. Data yang tersimpan di dalam aplikasi tidak cukup hanya dilindungi dengan proses login, tetapi juga membutuhkan mekanisme kontrol akses yang memastikan setiap pengguna hanya dapat mengakses data sesuai dengan haknya.
Melalui OWASP Juice Shop, proses pembelajaran keamanan dapat dilakukan secara langsung dalam lingkungan yang aman dan terkontrol. Implementasi pada Debian 13 berhasil dilakukan menggunakan Node.js dan npm, kemudian pengujian challenge digunakan untuk memahami konsep Authentication dan Access Control.
Salah satu hasil yang berhasil diperoleh adalah penyelesaian challenge View Basket yang berkaitan dengan Broken Access Control. Dari pengujian tersebut dapat dipahami bahwa keamanan data tidak hanya bergantung pada bagaimana data disimpan, tetapi juga pada bagaimana aplikasi mengatur siapa yang boleh mengakses data tersebut.
Authentication memastikan siapa pengguna, sedangkan Access Control memastikan apa yang boleh diakses pengguna. Keduanya menjadi bagian penting dalam menjaga keamanan data pada aplikasi web.
Dibuat Oleh : Noviana Putri Yuliani
Mau Kuasai Mengenal dan Menguji Keamanan Web dengan OWASP Juice Shop Sampai Bisa Praktik Langsung?
Materi ini juga kami ajarkan langsung di kelas Edusoft Center, dibimbing mentor, sampai kamu bisa praktik nyata — bukan cuma baca teori.
Tanya Kursus via WhatsApp Lihat contoh project nyata dari siswa kami →
