# 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: Wysoka Często wykorzystywana - Impact: Krytyczny 1 reguł o krytycznym poziomie - Prevention: Udokumentowane 4 przykładów poprawek **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 Strategie zapobiegania dla Cross-Site Scripting (XSS) oparte na 1 regułach detekcji Shoulder. ### 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 - Wykonanie nieautoryzowanego kodu - Obejście mechanizmu ochrony - Odczyt danych aplikacji - Modyfikacja danych aplikacji ## Mitigations - Stosuj sprawdzoną bibliotekę lub framework, który nie pozwala na tę słabość - Zrozum kontekst, w którym dane będą używane, oraz oczekiwane kodowanie - Stosuj Content Security Policy (CSP), aby zmniejszyć skutki ataku ## 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