HTML InjectionUNSOLVEDReward: +100 XP
Lab 5: HTML Injection into user profile bio allowing phishing overlay
Kolom Bio Profil Pengguna dirender menggunakan innerHTML tanpa penyaringan elemen markup.
TARGET OBJECTIVE & BRIEFING
Objective:
Suntikkan elemen tag HTML khusus seperti form login palsu atau dialog overlay untuk melakukan serangan phishing.
Aplikasi sosial pengguna mengizinkan penyesuaian teks deskripsi diri (Bio). Namun, komponen tampilan menggunakan penempelan DOM innerHTML langsung tanpa sanitasi markup.
PENTESTING METHODOLOGY
1. Buka form pengeditan profil bio.
2. Masukkan struktur tag HTML seperti `<h3>[SESSION EXPIRED]</h3><form><input placeholder="Ketik Password"></form>`.
3. Simpan profil dan perhatikan tampilan bio yang berubah menjadi form phishing interaktif.
4. Penetrasi berhasil dan Flag akan ditampilkan.
CODE SECURITY INSPECTION
HTML Injection terjadi jika masukan mentah pengguna disisipkan ke struktur DOM. CodeBook memperlakukan seluruh input teks pengguna sebagai textContent polos.
VULNERABLE CODE
// KODE RENTAN (Raw DOM Manipulation)
document.getElementById('bio-container').innerHTML = userSubmittedBio;SECURE CODEBOOK IMPLEMENTATION
// KODE AMAN CODEBOOK STANDARD (Text Node Assignment)
document.getElementById('bio-container').textContent = userSubmittedBio;