Aplikasi Juice Shop merupakan sebuah aplikasi yang dirancang untuk melatih keterampilah para praktisi cyber security, dalam aplikasi tersebut terdapat vulnerability yang sengaja dibuat untuk dipecahkan oleh para praktisi untuk melatih kemampuan, atau sekedar untuk belajar cyber security.
Berikut adalah daftar beberapa kerentanan umum yang ada di Juice Shop :
1. Injection Vulnerabilities
- SQL Injection : Memanipulasi kueri SQL dengan memasukkan kode berbahaya melalui inputan pengguna.
- NoSQL : Serangan pada database NoSQL yang mirip dengan SQL Injection tetapi targetnya adalah database NoSQL
- Command Injection : Menjalankan perintah sistem yang tidak diotorisasi melalui aplikasi.
2. Cross-Site Scripting (XSS)
- Stored XSS : Penyisihan skrip berbahaya yang disimpan di server dan dijalankan saat halaman dimuat.
- Reflected XSS : Skrip berbahaya yang dikirim sebagai bagian dari permintaan dan dieksekusi saat respons diterima.
- DOM-based XSS : Kerentanan di mana skrip berbahaya dimanipulasi dalam Document Object Model (DOM) aplikasi.
3. Cross-Site Request Forgery (CSRF)
- Memungkinkan penyerang untuk memaksa pengguna yang terauthentikasi untuk melakukan tindakan yang tidak diinginkan pada aplikasi web.
4. Broken Authentication and Session management
- Insecure Login Forms: Formulir login yang tidak dienkripsi atau lemah dalam menangani kredensial.
- Session Hijacking: Mengambil alih sesi pengguna yang sah melalui pengambil alihan cookie atau token.
5. Sensitive Data Exposure
- Insecure Storage : Penyimpanan data sensitif seperti kata sandi atau informasi kartu kredit tanpa enkripsi
- Data Leaked : Data sensitif yang secara tidak sengaja terungkap melalui API atau log.
6. Security Misconfiguration
- Default Credential : Penggunaan kredensial default yang mudah ditebak
- Verbose Error Message : Pesan kesalahan yang memberikan informasi terlalu banyak tentang aplikasi atau server
7. Broken Access Control
- Horizontal Privilege Escalation : Pengguna biasa mengakses data atau fungsi pengguna lain.
- Vertical Privilege Escalation : Pengguna biasa mendapatkan akses tingkat administrator
8. Insecure Deserialization
- Deserialization of Untrusted Data : Membiarkan data yang tidak dipercaya untuk dideserialisasi dapat menyebabkan eksekusi kode atau serangan lainnya.
9. Insufficient Logging and Monitoring
- Lack of Audit Logs : Tidak adanya pencatatan aktivitas penting yang dapat membantu dalam mendeteksi serangan.
- Inefficient Monitoring : Tidak adanya sistem pemantauan yang dapat mendeteksi aktivitas mencurigakan atau serangan.
10. Using Components with Known Vulnerability
- Outdated Libraries : Menggunakan pustaka atau komponen perangkat lunak yang memiliki kerentanan yang dikenal.
11. Unvalidated Redirects and Forwards
- Open Redirects : Memungkinkan pengalihan pengguna ke situs berbahaya tanpa validasi yang tepat.
12. Server-Side Request Forgery (SSRF)
- Memungkinkan penyerang untuk mengirimkan permintaan ke sistem internal dari server aplikasi.
13. File Upload Vulnerabilities
- Untrestricted File Upload : Mengizinkan pengunggahan file tanpa validasi jenis atau isi file.
14. Business Logic Vulnerabilities
- Logic Flaws : Kerentanan yang berasal dari kesalahan dalam logika aplikasi yang memungkinkan pelanggaran aturan bisnis.
15. Cryptographic Failures
- Weak Encryption : Penggunaan algoritma enkripsi yang lemah atau kesalahan implementasi yang dapat dieksploitasi.
Mengatasi Kerentanan Ini
Setiap Kerentanan ini biasanya disertai dengan tantangan di Juice Shop yang bertujuan untuk mengajari pengguna cara menemukannya dan metode mitigasi yang sesuai.
Berikut adalah langkah - langkah umum untuk mengatasi kerentanan :
- Validasi Input : Selalu validasi dan sanitasi input pengguna.
- Penggunaan Prepared Statements : Gunakan prepared statements untuk kueri database.
- Enkripsi Data Sensitif : Enkripsi data sensitif baik saat ditransmisikan maupun disimpan.
- Pengelolas Sesi yang Aman : Gunakan token sesi yang aman dan kelola sesi dengan baik.
- Konfigurasi Keamanan yang Kuat : Pastikan aplikasi dan server dikonfigurasi dengan aman.
- Pemantauan dan Logging : Implementasikan logging dan monitoring yang efektif untuk mendeteksi dan merespon insiden keamanan.
Dengan mempelajari dan memahami kerentanan ini pada Juice Shop kita dapat meningkatkan keterampilan keamanan aplikasi web secara signifikan.
Komentar
Posting Komentar