Kembali ke Roadmap
// PHASE 1 · HTML, CSS & JavaScript Basics

HTML, CSS & JavaScript Basics

Kenapa HTML/CSS/JS Penting untuk Bug Hunter?

Bug hunter yang memahami frontend bisa menemukan bug yang tidak terdeteksi scanner otomatis. XSS, client-side injection, dan DOM-based vulnerability hanya bisa ditemukan jika kamu mengerti cara kerja browser.

HTML — Struktur Halaman

HTML membentuk struktur halaman web. Yang perlu diperhatikan bug hunter:

<!-- Form — sering jadi entry point bug --> <form action="/login" method="POST"> <input type="text" name="username"> <input type="hidden" name="csrf_token" value="abc123"> </form> <!-- Hidden input — sering menyimpan data sensitif --> <input type="hidden" name="price" value="99000">
Hidden input fields adalah target klasik. Nilai di dalamnya bisa diubah oleh user — jika server tidak memvalidasi ulang, ini bisa menghasilkan price manipulation atau privilege escalation.

JavaScript — Client-Side Logic

JavaScript menjalankan logika di browser. Bug hunter perlu memahami JS untuk:

// Contoh JS yang mengandung info sensitif const API_KEY = "sk-prod-abc123secret"; // ← Bug! const baseUrl = "/api/v2/internal"; // ← Endpoint tersembunyi // DOM XSS vulnerable code document.getElementById('output').innerHTML = location.hash; // ← DOM XSS!

DOM — Document Object Model

DOM adalah representasi HTML sebagai objek yang bisa dimanipulasi JavaScript. Memahami DOM penting untuk menemukan DOM-based XSS.

Sumber Data Berbahaya (Sources)

Sink Berbahaya (Tempat data dieksekusi)

Developer Tools — Teman Terbaik Bug Hunter

Tab DevToolsFungsi untuk Bug Hunter
NetworkLihat semua HTTP request/response
ConsoleEksekusi JS, lihat error
Elements/InspectorLihat & edit HTML/CSS live
SourcesBaca semua file JS
ApplicationLihat cookies, localStorage, session
// CEK PEMAHAMAN
Kode JavaScript mana yang rentan terhadap DOM XSS?
Adocument.getElementById("x").textContent = location.hash
Bdocument.getElementById("x").innerHTML = location.hash
Cconsole.log(location.hash)
DJSON.parse(location.hash)
HTTP/HTTPS Protocol Networking Basics