# Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') (CWE-79) The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. **Stack:** Python - Prevalence: Hoch Häufig ausgenutzt - Impact: Kritisch 1 Regeln mit kritischem Schweregrad - Prevention: Dokumentiert 4 Fix-Beispiele **OWASP:** Injection (A03:2021-Injection) - #3 ## Description Cross-site scripting (XSS) vulnerabilities occur when untrusted data enters a web application and is sent to a web browser without proper validation or encoding. XSS allows attackers to execute scripts in the victim's browser which can hijack user sessions, deface web sites, or redirect the user to malicious sites. ## Prevention Präventionsstrategien für Cross-Site Scripting (XSS) basierend auf 1 Shoulder-Erkennungsregeln. ### Python Use template rendering with auto-escaping or html.escape() for manual escaping ## Warning Signs - [HIGH] untrusted user input being rendered in HTML responses without proper escaping ## Consequences - Nicht autorisierten Code ausführen - Schutzmechanismus umgehen - Anwendungsdaten lesen - Anwendungsdaten ändern ## Mitigations - Verwende eine geprüfte Bibliothek oder ein Framework, das diese Schwachstelle nicht zulässt - Verstehe den Kontext, in dem deine Daten verwendet werden, und das erwartete Encoding - Verwende Content Security Policy (CSP), um die Auswirkungen zu mindern ## Detection - Total rules: 4 - Critical: 1 - Languages: javascript, typescript, python ## Rules by Language ### Python (1 rules) - **Cross-Site Scripting (XSS) in Templates** [HIGH]: Detects untrusted user input being rendered in HTML responses without proper escaping. - Remediation: Use template rendering with auto-escaping, or escape manually with html.escape(). ```python import html safe_text = html.escape(user_input) ``` Learn more: https://shoulder.dev/learn/python/cwe-79/xss