Direct innerHTML Assignment with User Input
Directly assigning user input to innerHTML bypasses browser security mechanisms and allows arbitrary HTML and JavaScript execution. This is one of the most common DOM-based XSS vulnerabilities.
Preview example – JAVASCRIPT
// VULNERABLE: Direct innerHTML assignment
function displayUserContent(content) {
// Directly inserting user content - XSS risk!
document.getElementById('user-content').innerHTML = content;
}
// Attack: content = "<script>alert('XSS')</script>"
// Attack: content = "<img src=x onerror='steal_cookies()'>"