Praktikum Keamanan Aplikasi Web

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:

  1. Menginstall dan mengelola Docker untuk lab pentesting.
  2. Menjalankan berbagai vulnerable web application.
  3. Mengidentifikasi dan mengeksploitasi celah keamanan web.
  4. Memahami jenis-jenis vulnerability (OWASP Top 10).
  5. 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