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 30: Line 30:
 
| HTML Attribute, unquoted
 
| HTML Attribute, unquoted
 
| [https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#RULE_.232_-_Attribute_Escape_Before_Inserting_Untrusted_Data_into_HTML_Common_Attributes Aggressive HTML Entity Encoding]
 
| [https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#RULE_.232_-_Attribute_Escape_Before_Inserting_Untrusted_Data_into_HTML_Common_Attributes Aggressive HTML Entity Encoding]
 +
| &lt;span id=<span style="color:red;">UNTRUSTED DATA</span>>&lt;/span>
 
|-
 
|-
 
| String
 
| String
 
| GET Parameter
 
| GET Parameter
 
| [https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#RULE_.235_-_URL_Escape_Before_Inserting_Untrusted_Data_into_HTML_URL_Parameter_Values URL Encoding]
 
| [https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#RULE_.235_-_URL_Escape_Before_Inserting_Untrusted_Data_into_HTML_URL_Parameter_Values URL Encoding]
 +
| &lt;a href="/site/search?=<span style="color:red;">UNTRUSTED DATA&lt;/span>">clickme&lt;/a>
 
|-
 
|-
 
| String
 
| String

Revision as of 08:39, 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?=UNTRUSTED DATA</span>">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
String CSS Strict structural validation, CSS Hex encoding, good design
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