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
m (→XSS Prevention Overview) |
m |
||
| Line 1: | Line 1: | ||
| + | = DRAFT CHEAT SHEET - WORK IN PROGRESS = | ||
| + | = Introduction = | ||
| + | |||
| + | Cross site scripting is the most common web vulnerability. It represents a serious threat because cross site scripting allows evil attacker code to run in a victim’s browser. More details about XSS can be found here: [https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29] | ||
| + | |||
= XSS Prevention Overview = | = XSS Prevention Overview = | ||
| Line 69: | Line 74: | ||
| TODO | | TODO | ||
|} | |} | ||
| + | |||
| + | = Output Encoding Types = | ||
| + | |||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! Encoding Type | ||
| + | ! Encoding Mechanism | ||
| + | |- | ||
| + | | HTML Entity Encoding | ||
| + | | & --> &amp;<br/>< --> &lt;<br/>> --> &gt;<br/>" --> &quot;<br/>' --> &#x27; ' is not recommended<br/>/ --> &#x2F; forward slash is included as it helps end an HTML entity | ||
| + | |- | ||
| + | | HTML Attribute Encoding | ||
| + | | TODO | ||
| + | |- | ||
| + | | URL Encoding | ||
| + | | TODO | ||
| + | |- | ||
| + | | JavaScript HEX Encoding | ||
| + | | TODO | ||
| + | |- | ||
| + | | CSS Hex Encoding | ||
| + | | TODO | ||
| + | |} | ||
| + | |||
| + | = Related Articles = | ||
| + | |||
| + | {{Cheatsheet_Navigation}} | ||
| + | |||
| + | = Authors and Primary Editors = | ||
| + | |||
| + | Jim Manico - jim [at] owasp.org<br/> | ||
| + | Jeff Williams - jeff [at] aspectsecurity.com | ||
| + | |||
| + | [[Category:Cheatsheets]] | ||
Revision as of 11:35, 16 November 2011
DRAFT CHEAT SHEET - WORK IN PROGRESS
Introduction
Cross site scripting is the most common web vulnerability. It represents a serious threat because cross site scripting allows evil attacker code to run in a victim’s browser. More details about XSS can be found here: https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29
XSS Prevention Overview
| Data Type | Context | Code Sample | Defense |
|---|---|---|---|
| String | HTML Body | <span>UNTRUSTED DATA</span> | |
| String | "safe" HTML Attributes | <input type="text" name="fname" value="UNTRUSTED DATA"> |
|
| String | GET Parameter | <a href="/site/search?value=UNTRUSTED DATA">clickme</a> | |
| String | Untrusted URL rendered in an HREF tag (or other HTML link context) |
<a href="UNTRUSTED DATA">clickme</a> <iframe src="UNTRUSTED DATA" /> |
|
| String | CSS | <div style="width: UNTRUSTED DATA;">Selection</div> |
|
| String | JavaScript | <script>var currentValue='UNTRUSTED DATA';</script> |
|
| String | HTML Comment | <!-- UNTRUSTED DATA--> | TODO |
| String | JavaScript Comment | /* UNTRUSTED DATA */ |
TODO |
| HTML Text | HTML Body | <span>UNTRUSTED HTML</span> | |
| String | DOM XSS | TODO | |
| String | AJAX/JSON Parsing | TODO |
|
| String | AJAX/XML Parsing | TODO | TODO |
Output Encoding Types
| Encoding Type | Encoding Mechanism |
|---|---|
| HTML Entity Encoding | & --> & < --> < > --> > " --> " ' --> ' ' is not recommended / --> / forward slash is included as it helps end an HTML entity |
| HTML Attribute Encoding | TODO |
| URL Encoding | TODO |
| JavaScript HEX Encoding | TODO |
| CSS Hex Encoding | TODO |
Related Articles
OWASP Cheat Sheets Project Homepage
Authors and Primary Editors
Jim Manico - jim [at] owasp.org
Jeff Williams - jeff [at] aspectsecurity.com