Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
    • Data & AI
      • Data Analyst
      • Data Scientist
      • AI Engineer
      • Data Engineer
      • Business Intelligence (BI) Specialist
    • Infrastruktur & Keamanan
      • Network Engineer
      • System Engineer
      • DevOps Engineer
      • Security Engineer
      • Cloud Engineer
    • Programming & Web Development
      • Web & App Developer
      • Web Developer
      • WordPress Developer
      • Mobile Developer
    • Spesialisasi
      • Blockchain Engineer
      • IOT Engineer
      • Digital Marketing Specialist
  • Elearning
  • Blog
  • Portfolio Magang
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
    • Data & AI
      • Data Analyst
      • Data Scientist
      • AI Engineer
      • Data Engineer
      • Business Intelligence (BI) Specialist
    • Infrastruktur & Keamanan
      • Network Engineer
      • System Engineer
      • DevOps Engineer
      • Security Engineer
      • Cloud Engineer
    • Programming & Web Development
      • Web & App Developer
      • Web Developer
      • WordPress Developer
      • Mobile Developer
    • Spesialisasi
      • Blockchain Engineer
      • IOT Engineer
      • Digital Marketing Specialist
  • Elearning
  • Blog
  • Portfolio Magang

Mengenal dan Menguji Keamanan Web dengan OWASP Juice Shop

  • August 12, 2026
  • oleh Noviana Putri Yuliani

OWASP Juice Shop menjadi salah satu media yang menarik untuk mempelajari keamanan web secara langsung. Melalui aplikasi yang memang dirancang untuk pembelajaran keamanan, kita dapat melihat bagaimana authentication, authorization, API, dan pengelolaan data saling berhubungan dalam sebuah sistem web. Bayangkan kamu sedang menggunakan sebuah website. Kamu login menggunakan email dan password, melihat profil, melakukan transaksi, lalu keluar dari akun. Dari sisi pengguna, semuanya terlihat normal. Namun, pernahkah kamu berpikir apa yang sebenarnya terjadi di balik layar? Di balik halaman yang terlihat sederhana tersebut terdapat server, database, sistem autentikasi, pengaturan hak akses, dan berbagai proses yang bekerja untuk mengelola informasi pengguna. Nama, email, password, alamat, hingga riwayat transaksi dapat menjadi bagian dari data yang diproses oleh sistem. Masalahnya, data yang tersimpan di dalam sebuah sistem tidak otomatis aman hanya karena berada di dalam database. Jika aplikasi yang mengakses database memiliki kelemahan, keamanan data juga dapat ikut terancam.

💡 Pernah Kepikiran?

Sebuah website bisa memiliki tampilan yang modern, login yang terlihat aman, dan database yang besar. Namun, apakah itu berarti data di dalamnya benar-benar aman?

Pertanyaan tersebut menjadi salah satu alasan mengapa Cyber Security tidak hanya membahas serangan terhadap komputer atau jaringan. Perlindungan terhadap keamanan data juga menjadi bagian penting dalam membangun sistem digital yang dapat dipercaya.

Data Bukan Sekadar Angka dan Teks

Dalam kehidupan sehari-hari, kita menghasilkan data hampir tanpa menyadarinya. Ketika membuat akun media sosial, berbelanja melalui marketplace, mengisi formulir sekolah, mengakses layanan perbankan, atau menggunakan aplikasi tertentu, berbagai informasi akan diproses oleh sistem.

AktivitasContoh DataRisiko Jika Tidak Dilindungi
Membuat akunNama, email, passwordPengambilalihan akun
Belanja onlineAlamat, transaksiPenyalahgunaan informasi
Sistem sekolahData siswa, nilaiAkses tanpa izin
Aplikasi perusahaanData pelangganKebocoran informasi

Semakin banyak informasi yang diproses oleh sistem, semakin penting pula penerapan keamanan data. Perlindungan tersebut tidak cukup dilakukan pada satu bagian saja karena data melewati beberapa komponen sebelum akhirnya digunakan oleh pengguna.

Kalau Sudah Ada Login, Apakah Data Otomatis Aman?

Jawabannya: belum tentu.

Login memang menjadi salah satu lapisan keamanan yang penting, tetapi sistem tidak berhenti setelah pengguna berhasil memasukkan username dan password. Setelah proses login berhasil, sistem masih harus menentukan informasi apa yang boleh diakses dan tindakan apa yang boleh dilakukan. Misalnya terdapat dua jenis pengguna dalam sebuah aplikasi: pelanggan dan administrator. Keduanya dapat melakukan login, tetapi bukan berarti keduanya memiliki hak akses yang sama.

Authentication
“Siapa kamu?”

Authorization / Access Control
“Apa yang boleh kamu akses?”

Perbedaan tersebut terlihat sederhana, tetapi memiliki hubungan langsung dengan keamanan data. Sistem yang hanya memeriksa identitas tanpa mengatur hak akses dapat memberikan peluang bagi pengguna untuk melihat informasi yang seharusnya bukan miliknya.

Kenapa Memilih OWASP Juice Shop?

Untuk memahami masalah tersebut secara langsung, tentu tidak tepat jika kita mencoba mencari kelemahan pada website milik orang lain. Selain berisiko mengganggu sistem, pengujian tanpa izin juga bukan cara yang tepat untuk belajar Cyber Security.

Karena itu, diperlukan lingkungan yang memang dibuat untuk pembelajaran. Salah satu yang dapat digunakan adalah OWASP Juice Shop. OWASP Juice Shop merupakan aplikasi web yang sengaja dibuat memiliki berbagai kerentanan untuk kebutuhan security training dan pembelajaran keamanan aplikasi. Aplikasi ini menyediakan banyak challenge yang memungkinkan pengguna mempelajari berbagai konsep keamanan web dalam lingkungan yang terkontrol.

Juice Shop juga dapat dijalankan secara lokal. Dengan demikian, praktik dilakukan terhadap aplikasi yang berjalan pada lingkungan sendiri, bukan terhadap sistem publik. nformasi dan dokumentasi proyek dapat dilihat melalui website resmi OWASP Juice Shop.

🔐 Alasan Memilih OWASP Juice Shop
  • Dibuat khusus untuk pembelajaran keamanan aplikasi.
  • Memiliki berbagai challenge keamanan.
  • Dapat dijalankan pada lingkungan lokal.
  • Cocok untuk memahami hubungan aplikasi dengan keamanan data.
  • Tidak perlu menguji website milik pihak lain.

Menyiapkan Lingkungan Praktik di Debian 13

Pada praktik ini, OWASP Juice Shop dijalankan secara lokal menggunakan Debian 13. Berbeda dari penggunaan Docker, Juice Shop pada praktik ini dijalankan langsung menggunakan Node.js dan npm. Sebelum masuk ke proses instalasi, package pada Debian diperbarui terlebih dahulu. Selain itu, package pendukung juga disiapkan agar proses instalasi dapat berjalan dengan baik.

apt update
apt install python3-setuptools

Perintah tersebut digunakan untuk memperbarui daftar package dan memasang package pendukung yang dibutuhkan dalam proses instalasi Juice Shop.

Memasang Dependency Juice Shop

Setelah environment siap, langkah berikutnya adalah memasang seluruh dependency yang dibutuhkan oleh Juice Shop. Proses tersebut dilakukan menggunakan npm.

npm install

Proses instalasi berhasil dilakukan. Selama proses berlangsung terdapat beberapa pesan deprecated. Pesan tersebut merupakan warning dari dependency tertentu dan tidak menghentikan proses instalasi.

⚠️ Catatan:
Pesan deprecated tidak selalu berarti instalasi gagal. Yang perlu diperhatikan adalah apakah proses instalasi berhenti karena error atau tetap selesai dengan berhasil.

Menjalankan OWASP Juice Shop

Setelah seluruh dependency selesai dipasang, Juice Shop dapat dijalankan menggunakan perintah npm start.

npm start

Pada percobaan awal, aplikasi berjalan menggunakan port 3000. Untuk kebutuhan praktik, port kemudian diubah menjadi 3001.

PORT=3001 npm start

Setelah perintah tersebut dijalankan, Juice Shop berhasil aktif pada port 3001 dan dapat diakses melalui browser. Pada tahap ini, aplikasi sudah siap digunakan sebagai lingkungan pembelajaran keamanan web.

Gambar 1. OWASP Juice Shop yang berhasil dijalankan pada Debian 13.

Dari Tampilan Website ke Risiko di Balik Layar

Ketika membuka Juice Shop, pengguna mungkin hanya melihat sebuah website dengan berbagai menu dan fitur. Namun, jika dilihat dari sudut pandang Cyber Security, terdapat banyak hal yang dapat dipelajari. Setiap kali pengguna melakukan login, mengirimkan data, membuka halaman tertentu, atau melakukan transaksi, aplikasi harus memproses berbagai informasi.

Alurnya dapat digambarkan secara sederhana:

Pengguna → Aplikasi Web → Server → Database → Informasi

Setiap bagian dalam alur tersebut membutuhkan perlindungan. Jika aplikasi memiliki kelemahan, masalah tersebut dapat memengaruhi data yang diproses oleh sistem.

Authentication: Lapisan Awal dalam Keamanan

Authentication menjadi salah satu konsep penting dalam keamanan aplikasi web. Authentication digunakan untuk memastikan identitas pengguna sebelum sistem memberikan akses. Dalam aplikasi nyata, proses authentication berkaitan dengan username, email, password, session, token, dan berbagai mekanisme lainnya. Pada Juice Shop, authentication juga menjadi bagian dari berbagai challenge yang tersedia pada Score Board. Salah satu challenge yang dapat digunakan untuk mempelajari konsep ini adalah challenge yang berkaitan dengan proses login.

💡 Apa hubungannya dengan data?
Authentication memastikan bahwa sistem mengenali pengguna yang sedang mengakses aplikasi. Namun, keberhasilan login belum menjamin bahwa pengguna tersebut dapat mengakses seluruh data.

Karena itu, authentication perlu dilengkapi dengan mekanisme authorization atau access control.

Access Control: Ketika Data Tidak Seharusnya Bisa Diakses Semua Pengguna

Bagian ini menjadi salah satu pengujian yang menarik karena berhubungan langsung dengan data pengguna. Dalam aplikasi belanja, misalnya, setiap pengguna seharusnya hanya dapat melihat basket miliknya sendiri. Jika seorang pengguna memiliki basket dengan ID tertentu, aplikasi seharusnya melakukan pemeriksaan sebelum memberikan data basket tersebut. Pada praktik ini, pengujian dilakukan menggunakan challenge View Basket yang berkaitan dengan konsep Broken Access Control.

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 →

Menemukan Basket ID

Langkah awal pengujian adalah melihat informasi basket yang digunakan oleh akun. Dari proses pemeriksaan yang dilakukan, ditemukan nilai bid sebesar:

bid: 6

Nilai tersebut menunjukkan ID basket yang berkaitan dengan akun yang sedang digunakan.

Menguji Endpoint Basket

Selanjutnya dilakukan pengujian terhadap endpoint basket dengan ID yang berbeda:

/rest/basket/5

Pada awal pengujian, request tanpa token authentication menghasilkan respons:

401 Unauthorized
No Authorization header was found

Respons tersebut menunjukkan bahwa endpoint membutuhkan authentication. Pengujian kemudian dilakukan dengan menyertakan token yang diperoleh setelah login.

Authorization: Bearer <token>

Setelah token disertakan, endpoint tersebut memberikan respons yang berisi data basket dengan ID 5.

{ “status”: “success”, “data”: { “id”: 5 } }

Gambar 2. Hasil pengujian endpoint /rest/ basket/5 ID menggunakan token authentication.

Respons tersebut menjadi bagian penting dari pengujian karena akun yang digunakan memiliki bid 6, tetapi request dapat memperoleh data basket dengan ID 5. Dengan kata lain, authentication berhasil mengenali pengguna, tetapi pemeriksaan terhadap hak akses objek yang diminta perlu diperhatikan lebih lanjut.

Apa yang Menjadi Masalah?

Masalah pada pengujian ini bukan terletak pada proses login. Pengguna memang berhasil melakukan authentication dan memiliki token yang valid. Yang menjadi perhatian adalah bagaimana server memeriksa hubungan antara pengguna yang sedang login dengan objek yang diminta. Sistem seharusnya tidak hanya bertanya:

“Apakah pengguna sudah login?”

Tetapi juga:

“Apakah basket yang diminta memang milik pengguna tersebut?”

Jika pemeriksaan tersebut tidak dilakukan dengan benar, pengguna dapat memperoleh informasi dari objek yang seharusnya tidak menjadi haknya. Kondisi seperti ini berkaitan dengan Broken Access Control dan dapat menjadi contoh masalah Broken Object Level Authorization (BOLA).

Authentication vs Access Control

AspekPertanyaanTujuan
AuthenticationSiapa kamu?Memastikan identitas pengguna
Access ControlApa yang boleh kamu akses?Membatasi akses berdasarkan hak pengguna

Pengujian View Basket menunjukkan mengapa kedua konsep tersebut harus berjalan bersama. Authentication yang berhasil tidak otomatis berarti authorization sudah aman. Token memang dapat membuktikan bahwa pengguna telah login, tetapi server tetap perlu memastikan bahwa objek yang diminta memang boleh diakses oleh pengguna tersebut.

Apa Dampaknya terhadap Keamanan Data?

Jika kelemahan seperti ini terjadi pada aplikasi nyata, dampaknya dapat menjadi lebih serius. Data dalam basket mungkin terlihat sederhana, tetapi tetap merupakan informasi yang diproses oleh sistem. Jika pola kelemahan yang sama terdapat pada endpoint lain, objek yang dapat diakses tanpa izin mungkin bukan hanya basket. Data yang berpotensi terdampak dapat mencakup informasi transaksi, profil pengguna, atau informasi pribadi lainnya.

  • Melihat data pengguna lain.
  • Mengetahui informasi transaksi.
  • Mengakses informasi yang seharusnya bersifat pribadi.
  • Memanfaatkan informasi untuk serangan lanjutan.

Karena itu, access control harus diterapkan pada setiap objek dan setiap request yang membutuhkan pembatasan akses.

Jadi, Apa yang Sebenarnya Kita Pelajari?

Praktik menggunakan Juice Shop bukan sekadar menyelesaikan challenge dan mendapatkan tanda keberhasilan. Hal yang lebih penting adalah memahami mengapa sebuah kerentanan dapat terjadi.

Dari authentication, kita belajar bahwa identitas pengguna perlu diverifikasi dengan benar. Dari pengujian View Basket, kita belajar bahwa keberhasilan login saja belum cukup. Sistem juga harus memastikan bahwa pengguna hanya dapat mengakses objek yang memang menjadi haknya.

Pengujian sederhana terhadap bid 6 dan endpoint /rest/basket/5 memberikan gambaran bagaimana kelemahan pada access control dapat berhubungan langsung dengan keamanan data.

Keamanan Tidak Berhenti di Halaman Login

Pengujian ini menunjukkan satu hal penting: keamanan aplikasi tidak berhenti pada halaman login.

Sebuah aplikasi dapat memiliki authentication yang berjalan dengan baik, tetapi masih memiliki kelemahan jika authorization atau access control tidak diterapkan secara tepat. Karena itu, keamanan perlu dipikirkan dari berbagai sisi, mulai dari aplikasi, server, database, hingga pengaturan hak akses.

🔒 Prinsip sederhananya:

Berhasil login bukan berarti pengguna boleh mengakses semua data. Setiap request tetap perlu diperiksa berdasarkan identitas, kepemilikan objek, dan hak akses pengguna.

Bagaimana Perlindungan Data Diterapkan di Dunia Nyata?

Konsep yang dipelajari dari Juice Shop sebenarnya tidak berhenti pada aplikasi latihan. Prinsip yang sama dapat ditemukan pada berbagai layanan digital.

LingkunganContoh Perlindungan
WebsiteAuthentication dan session security
DatabaseUser privilege dan access control
ServerPermission dan konfigurasi keamanan
JaringanFirewall dan komunikasi terenkripsi
CloudAccess control dan monitoring

Artinya, keamanan data bukan hanya tanggung jawab satu orang. Developer, administrator server, database administrator, bahkan pengguna memiliki peran masing-masing dalam menjaga informasi tetap aman.

Kesimpulan

Perkembangan teknologi membuat data semakin bernilai. Hampir setiap layanan digital memproses informasi pengguna, sehingga perlindungan terhadap informasi tersebut menjadi bagian yang tidak dapat dipisahkan dari Cyber Security. Melalui OWASP Juice Shop, konsep keamanan aplikasi dapat dipelajari secara langsung melalui lingkungan yang memang dibuat untuk pembelajaran. Pada praktik ini, Juice Shop berhasil dijalankan pada Debian 13 menggunakan Node.js dan npm, kemudian digunakan untuk melakukan pengujian terhadap mekanisme access control. Pengujian View Basket menunjukkan bahwa authentication dan access control merupakan dua hal yang berbeda tetapi saling berkaitan. Pengguna dapat memiliki token yang valid, tetapi server tetap harus memastikan bahwa objek yang diminta memang menjadi hak pengguna tersebut. Yang paling penting dari praktik ini bukan sekadar menjalankan aplikasi atau menemukan sebuah challenge. Kita belajar melihat hubungan antara request, token, endpoint, hak akses, dan data. Pada akhirnya, keamanan data membutuhkan pendekatan berlapis. Semakin banyak data yang diproses oleh sebuah layanan digital, semakin penting pula penerapan authentication dan access control yang tepat sejak awal.

🚀 Inti Pembahasan

Cyber Security bukan hanya tentang mencari celah pada sistem. Memahami bagaimana celah tersebut bekerja membantu kita memahami cara membangun sistem yang lebih aman. Authentication memastikan siapa pengguna, sedangkan Access Control memastikan apa yang boleh diakses pengguna.

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 →

Tags: Access ControlAuthenticationCyber SecurityDebian13Ethical HackingKeamanan WebNode.jsOWASP Juice ShopWeb Application Securityweb security
Previous Post

Post comment

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Mengenal dan Menguji Keamanan Web dengan OWASP Juice Shop
  • Mengenal dan Menguji Keamanan Web dengan OWASP Juice Shop
  • Laporan Analisis Data: Struktur dan Format Profesional
  • Cara Validasi Hasil Query SQL dengan Python
  • Data Cleaning dengan Pandas: Membersihkan Dataset dengan Python

Arsip

  • August 2026
  • July 2026
  • June 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP python security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2025 | Privacy Policy | Site Map | Portfolio Magang | Butuh tim kami langsung yang mengerjakan? Lihat layanan implementasi →

All Right Reserved

WhatsApp us