Web Application Penetration Testing Lab Using Docker
Deskripsi Mata Praktikum
Praktikum ini bertujuan membekali peserta dengan keterampilan teknis dalam membangun environment lab pentesting menggunakan Docker serta melakukan eksploitasi berbagai jenis kerentanan web application secara aman menggunakan aplikasi vulnerable (DVWA, Juice Shop, WebGoat, dll).
Capaian Pembelajaran (Learning Outcomes)
Setelah mengikuti praktikum ini, peserta mampu:
- Menginstall dan mengelola Docker untuk lab pentesting.
- Menjalankan berbagai vulnerable web application.
- Mengidentifikasi dan mengeksploitasi celah keamanan web.
- Memahami jenis-jenis vulnerability (OWASP Top 10).
- Melakukan dokumentasi hasil pengujian (reporting).
Struktur Silabus Praktikum
Pertemuan 1: Pengenalan Web Pentesting & Docker
Materi:
- Konsep Penetration Testing
- Vulnerable Web Applications
- Etika & legalitas pentesting
- Pengenalan Docker & Container
Praktikum:
- Install Docker & Docker Compose
- Verifikasi instalasi
Pertemuan 2: Setup DVWA (Damn Vulnerable Web App)
Materi:
- SQL Injection
- XSS
- Security Level (Low–Impossible)
Praktikum:
- Deploy DVWA via Docker
- Konfigurasi database
- Login & reset DB
- Eksplor modul vulnerability
Pertemuan 3: OWASP Juice Shop
Materi:
- OWASP Top 10 vulnerabilities
- Client-side & server-side attack
Praktikum:
- Install Juice Shop
- Eksploitasi:
- Broken Authentication
- XSS
- IDOR
- Injection
Pertemuan 4: OWASP VulnApp
Materi:
- File Inclusion
- Command Injection
- Authentication flaw
Praktikum:
- Deploy VulnApp
- Uji beberapa vulnerability
Pertemuan 5: OWASP WebGoat
Materi:
- Authorization
- Session management
- Input validation
Praktikum:
- Menyelesaikan lesson WebGoat:
- Authentication Flaws
- Access Control
- SQL Injection
Pertemuan 6: SQLi-Labs
Materi:
- Error-based SQLi
- Blind SQLi
- Time-based SQLi
- Stacked queries
Praktikum:
- Install SQLi-Labs
- Selesaikan challenge Page 1–3
Pertemuan 7: bWAPP
Materi:
- Brute force
- File upload vulnerability
- CSRF
Praktikum:
- Install bWAPP
- Eksploitasi 3–5 vulnerability
Pertemuan 8: OWASP Mutillidae II
Materi:
- Advanced web attack scenario
- Multi-step exploitation
Praktikum:
- SQLi
- XSS
- LFI/RFI
Pertemuan 9: GraphQL Security (DVGA)
Materi:
- GraphQL vulnerability
- Introspection abuse
- Authorization bypass
Praktikum:
- Deploy DVGA
- Query manipulation
Pertemuan 10: REST API Security (DV RESTaurant API)
Materi:
- API authentication flaw
- Broken Object Level Authorization (BOLA)
Praktikum:
- Testing endpoint API
- Swagger abuse
Pertemuan 11: SSRF Lab
Materi:
- Server Side Request Forgery
- Internal service access
Praktikum:
- Exploit SSRF
- Access internal metadata
Pertemuan 12: PyGoat & Pixi
Materi:
- Python web vulnerabilities
- Authentication & authorization flaw
Praktikum:
- Login bypass
- Injection testing
Pertemuan 13: VulnBank / VulnLab / Zero Health
Materi:
- Realistic web attack scenario
- Banking & healthcare simulation
Praktikum:
- End-to-end pentest
- Multi vulnerability chain
Pertemuan 14: Reporting & Final Project
Materi:
- Pentest report structure
- CVSS scoring
- Risk analysis
Praktikum:
- Buat laporan pentest:
- Target
- Vulnerability
- Proof of Concept
- Mitigation
Metode Pembelajaran
- Praktikum langsung (hands-on)
- Diskusi
- Demo eksploitasi
- Mini CTF
- Project akhir
Penilaian
| Komponen | Bobot |
|---|---|
| Kehadiran & partisipasi | 20% |
| Praktikum mingguan | 30% |
| UTS (challenge) | 20% |
| Project akhir (laporan pentest) | 30% |
Tools yang Digunakan
- Docker & Docker Compose
- Browser
- Burp Suite
- SQLMap (opsional)
- curl / Postman
- Linux terminal

