<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: sanitization</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/sanitization.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2008-08-29T02:01:48+00:00</updated><author><name>Simon Willison</name></author><entry><title>Coding Horror: Protecting Your Cookies: HttpOnly</title><link href="https://simonwillison.net/2008/Aug/29/coding/#atom-tag" rel="alternate"/><published>2008-08-29T02:01:48+00:00</published><updated>2008-08-29T02:01:48+00:00</updated><id>https://simonwillison.net/2008/Aug/29/coding/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.codinghorror.com/blog/archives/001167.html"&gt;Coding Horror: Protecting Your Cookies: HttpOnly&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Jeff Atwood discovers the hard way that writing an HTML sanitizer is significantly harder than you would think. HttpOnly cookies aren’t the solution though: they’re potentially useful as part of a defense in depth strategy, but fundamentally if you have an XSS hole you’re going to get 0wned, HttpOnly cookies or not. Auto-escape everything on output and be extremely cautious with things like HTML sanitizers.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/html"&gt;html&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/httponly"&gt;httponly&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jeff-atwood"&gt;jeff-atwood&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sanitization"&gt;sanitization&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xss"&gt;xss&lt;/a&gt;&lt;/p&gt;



</summary><category term="html"/><category term="httponly"/><category term="javascript"/><category term="jeff-atwood"/><category term="sanitization"/><category term="security"/><category term="xss"/></entry><entry><title>Javascript protocol fuzz results</title><link href="https://simonwillison.net/2008/Jun/30/fuzz/#atom-tag" rel="alternate"/><published>2008-06-30T15:57:36+00:00</published><updated>2008-06-30T15:57:36+00:00</updated><id>https://simonwillison.net/2008/Jun/30/fuzz/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.thespanner.co.uk/2008/06/30/javascript-protocol-fuzz-results/"&gt;Javascript protocol fuzz results&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
If your HTML sanitizer uses blacklisting rather than whitelisting here are a few more weird ways of injecting javascript: in to a link that you need to worry about—but you should really switch to whitelisting http:// and https:// instead.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/blacklisting"&gt;blacklisting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/firefox"&gt;firefox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/fuzztesting"&gt;fuzztesting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/html"&gt;html&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sanitization"&gt;sanitization&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/whitelisting"&gt;whitelisting&lt;/a&gt;&lt;/p&gt;



</summary><category term="blacklisting"/><category term="firefox"/><category term="fuzztesting"/><category term="html"/><category term="javascript"/><category term="sanitization"/><category term="security"/><category term="whitelisting"/></entry></feed>