Skip to content

Cross-Site Scripting (XSS) via Unencoded User Input

Description

The application is vulnerable to Cross-Site Scripting (XSS) attacks due to unencoded user input being used within application scripts. This allows an attacker to inject malicious code, potentially leading to unauthorized access, data theft, or other malicious activities.

Examples

Insecure Code

c#
StringBuilder script = new StringBuilder(); script.Append(Request.QueryString["name"]);

Secure Code

c#
StringBuilder script = new StringBuilder(); script.Append(System.Web.HttpUtility.HtmlEncode(Request.QueryString["name"]));

Remediation

Encode user input using the appropriate encoder (e.g., HtmlEncoder, JavaScriptEncoder, UrlEncoder) depending on the output context, and consider using built-in framework capabilities for automatic encoding.

Rule Details

FieldValue
IDCODE-0460
CategoryWeb
SeverityMEDIUM
CWECWE-79
ConfidenceHIGH
ImpactHIGH
LikelihoodMEDIUM
ExploitabilityEASY
TagsXSS, Cross-Site Scripting
OWASPN/A