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
| Field | Value |
|---|---|
| ID | CODE-0460 |
| Category | Web |
| Severity | MEDIUM |
| CWE | CWE-79 |
| Confidence | HIGH |
| Impact | HIGH |
| Likelihood | MEDIUM |
| Exploitability | EASY |
| Tags | XSS, Cross-Site Scripting |
| OWASP | N/A |