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

Abridged XSS Prevention Cheat Sheet

From OWASP
Revision as of 08:42, 15 November 2011 by Jmanico (talk | contribs) (XSS Prevention)

Jump to: navigation, search

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;">Mouse over</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