CYBERKIT LAB V2 — SENGAJA RENTAN, HANYA LOCALHOST
Jangan ekstrak atau jalankan di hosting publik. Jangan tunnel, bind 0.0.0.0/::, atau port forward. Semua data fiktif. Gunakan komputer sendiri dengan izin.
Python 3 desktop. Tidak ada pip/dependency eksternal.
1. Terminal pada folder ini. python --version (Windows bisa py; Linux bisa python3).
2. Lab aman: python server_aman.py. Buka http://127.0.0.1:8000/health.
3. Lab rentan: python lab_web.py --enable-local-training. Buka http://127.0.0.1:8765/.
4. Pilih mode vulnerable atau fixed. Rute /api/profile adalah JSON; ubah query mode/id di address bar. Mode default fixed.
5. python test_lab.py menguji fungsi lokal, bukan eksekusi browser. WEB19 memerlukan observasi browser untuk judul tab.
6. Ctrl+C menghentikan. Data search dibuat di SQLite memori, tidak ada database disk. Tidak ada akun sungguhan/session.
Target lab: /search q (SQLi), /echo q (XSS), /note id (IDOR; aktor Alice), /login user/password (simulasi autentikasi), /api/profile id (field berlebihan).
Demo login: user demo, password latihan-lokal. Nilai hardcoded hanya demonstrasi; bukan contoh penyimpanan password produksi. GET tidak cocok untuk password produksi. Log lab hanya mencetak path.
Mode fixed hanya memperbaiki kelemahan yang diajarkan; bukan aplikasi aman siap produksi. Session, JWT, CSRF, upload dan SSRF adalah latihan desain di materi, bukan endpoint rentan tambahan.
Kendala: address already in use = port dipakai, hentikan lab sebelumnya. Connection refused = proses mati/alamat salah. 403 Localhost only = Host/origin luar ditolak. Intercept proxy harus dimatikan jika halaman tertahan. Tidak perlu sertifikat TLS untuk HTTP loopback.
Validasi lintas perangkat belum lengkap. Android/Termux tergantung versi dan kebijakan proses latar. Jangan menonaktifkan keamanan OS untuk memaksa latihan berjalan.
