This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "Abridged XSS Prevention Cheat Sheet"

From OWASP
Jump to: navigation, search
m (XSS Prevention)
m (XSS Prevention)
Line 45: Line 45:
 
| CSS
 
| CSS
 
| [https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#RULE_.234_-_CSS_Escape_And_Strictly_Validate_Before_Inserting_Untrusted_Data_into_HTML_Style_Property_Values Strict structural validation, CSS Hex encoding, good design]
 
| [https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#RULE_.234_-_CSS_Escape_And_Strictly_Validate_Before_Inserting_Untrusted_Data_into_HTML_Style_Property_Values Strict structural validation, CSS Hex encoding, good design]
| &lt;div style="width: <span style="color:red;">UNTRUSTED DATA</span>;">Mouse over&lt;/div>
+
| &lt;div style="width: <span style="color:red;">UNTRUSTED DATA</span>;">Selection&lt;/div>
 
|-
 
|-
 
| HTML Text
 
| HTML Text

Revision as of 08:43, 15 November 2011

Introduction

The following table briefly describes how to defeat Cross Site Scripting in a variety of different contexts.

XSS Prevention

Data Type Context Defense Code Sample
Numeric, Type safe language Any Context Cast to Numeric
String HTML Body HTML Entity Encoding <span>UNTRUSTED DATA</span>
String HTML Attribute, quoted HTML Entity Encode single and double quotes <span id="UNTRUSTED DATA"></span>
String HTML Attribute, unquoted Aggressive HTML Entity Encoding <span id=UNTRUSTED DATA></span>
String GET Parameter URL Encoding <a href="/site/search?value=UNTRUSTED DATA">clickme</a>
String Untrusted URL rendered in an HREF tag (or equivalent) URL Validation
reject javascript: URL’s
Whitelist http, https and other safe URL types
Attribute encoding
safe URL verification
<a href="UNTRUSTED DATA">clickme</a>
String CSS Strict structural validation, CSS Hex encoding, good design <div style="width: UNTRUSTED DATA;">Selection</div>
HTML Text HTML Body HTML Validation (JSoup, AnMSamy, HTML Sanitizer)
String DOM XSS DOM_based XSS Prevention Cheat Sheet

Related Articles

OWASP Cheat Sheets Project Homepage


Authors and Primary Editors

Jim Manico - jim [at] owasp.org