Mengenal HTML Injection (HTMLi): Kerentanan Low Severity yang Tetap Menghasilkan Bounty
HTML Injection (HTMLi) adalah kerentanan web yang terjadi ketika aplikasi menampilkan input dari user tanpa melakukan sanitasi atau encoding yang benar. Hal ini memungkinkan attacker untuk menyisipkan kode HTML ke dalam halaman web.
Walaupun sering dikategorikan sebagai Low Severity, HTML Injection tetap merupakan kerentanan valid dan sering mendapatkan bounty, terutama jika ditemukan pada halaman sensitif seperti dashboard, profile, atau sistem notifikasi.
Apa Itu HTML Injection?
HTML Injection terjadi ketika input user dimasukkan langsung ke dalam DOM tanpa di-escape.
Contoh kode vulnerable:
Jika user memasukkan input:
Maka browser akan merender:
Tag akan dirender sebagai HTML, bukan sebagai teks biasa.
Penyebab HTML Injection
- Tidak melakukan HTML escaping
- Menggunakan innerHTML tanpa sanitasi
- Tidak melakukan output encoding
- Input user langsung dimasukkan ke DOM
Contoh vulnerable JavaScript:
Contoh aman:
Contoh Perbandingan Vulnerable vs Tidak Vulnerable
Input user:
Vulnerable
Hasil:
test → teks menjadi miring karena dirender sebagai HTML
Tidak Vulnerable (Aman)
Hasil:
<i>test</i> → ditampilkan sebagai teks biasa
Dampak HTML Injection
- Manipulasi tampilan website
- Phishing form injection
- Defacement ringan
- Social engineering
Dimana HTML Injection Biasanya Ditemukan?
- Comment form
- Profile name
- Search field
- Feedback form
- Chat system
- Notification system
- Poll dan voting
Cara Mitigasi
- Gunakan textContent, bukan innerHTML
- Lakukan output encoding
- Gunakan sanitization
- Jangan percaya input user
Kesimpulan
HTML Injection adalah kerentanan sederhana namun valid. Walaupun sering dikategorikan sebagai Low Severity, vulnerability ini tetap penting dan sering menghasilkan bounty.
Bagi bug bounty hunter, HTML Injection merupakan salah satu kerentanan yang mudah ditemukan dan tetap bernilai.
Saran saya, selalu tempel payload HTMLi pada semua kolom input yang ada pada target Bug Bounty kalian, bisa saja hal kecil seperti itu bisa berubah jadi $$$🤑.