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:40, 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?=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
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