<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.3" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Blacklisting, XSS filter evasion and other resources</title>
	<link>http://www.tssci-security.com/archives/2007/11/15/blacklisting-xss-filter-evasion-and-other-resources/</link>
	<description>top secret/secure computing information</description>
	<pubDate>Sat, 11 Oct 2008 12:48:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.3</generator>

	<item>
		<title>By: Arshan Dabirsiaghi</title>
		<link>http://www.tssci-security.com/archives/2007/11/15/blacklisting-xss-filter-evasion-and-other-resources/#comment-2795</link>
		<dc:creator>Arshan Dabirsiaghi</dc:creator>
		<pubDate>Tue, 04 Dec 2007 17:13:57 +0000</pubDate>
		<guid>http://www.tssci-security.com/archives/2007/11/15/blacklisting-xss-filter-evasion-and-other-resources/#comment-2795</guid>
		<description>Samy got to take a quick crack at AntiSamy before it was released and he couldn't find anything because the normal attack vectors just don't work - not that he had a whole lot of time. Samy beat a very good blacklist to death, and most of the other XSS tricks are based on canonicalization or recursion, i.e. script&#62;, etc.

I've had some strong industry people look at AntiSamy including Jeremiah Grossman, Tom Stracener and others, and we haven't had any XSS discovered yet. I sincerely hope that's because it's secure, but of course I'm not claiming it's 100% reliable. 

If you want to help us improve the policy file, take a crack at the test page I setup for anyone to access:
http://i8jesus.com:9080/AntiSamyDemoWebApp/test.jsp</description>
		<content:encoded><![CDATA[<p>Samy got to take a quick crack at AntiSamy before it was released and he couldn&#8217;t find anything because the normal attack vectors just don&#8217;t work - not that he had a whole lot of time. Samy beat a very good blacklist to death, and most of the other XSS tricks are based on canonicalization or recursion, i.e. script&gt;, etc.</p>
<p>I&#8217;ve had some strong industry people look at AntiSamy including Jeremiah Grossman, Tom Stracener and others, and we haven&#8217;t had any XSS discovered yet. I sincerely hope that&#8217;s because it&#8217;s secure, but of course I&#8217;m not claiming it&#8217;s 100% reliable. </p>
<p>If you want to help us improve the policy file, take a crack at the test page I setup for anyone to access:<br />
<a href="http://i8jesus.com:9080/AntiSamyDemoWebApp/test.jsp"  onclick="javascript:urchinTracker ('/outbound/comment/i8jesus.com:9080');">http://i8jesus.com:9080/AntiSamyDemoWebApp/test.jsp</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dre</title>
		<link>http://www.tssci-security.com/archives/2007/11/15/blacklisting-xss-filter-evasion-and-other-resources/#comment-2623</link>
		<dc:creator>dre</dc:creator>
		<pubDate>Sat, 24 Nov 2007 06:17:38 +0000</pubDate>
		<guid>http://www.tssci-security.com/archives/2007/11/15/blacklisting-xss-filter-evasion-and-other-resources/#comment-2623</guid>
		<description>Marcin, I thought we already went over the RSnake HTML obfuscation.  When you sent it to me, the first thing I did was load Web Developer Toolbar under Firefox with both View Source and View Generated Source options.  The rest (besides RTL) becomes apparent almost immediately, including the character `I' which he turns white, as well as the useless HRM, FONT, and TABLE tags.

Of recent note is Gareth Heyes' Hackvertor XSS tool (I consider it a cross between .mario's PHP Charset Encoder and the FishNet Security HTMangLe tool), the &lt;a href="http://dean.edwards.name/packer/" rel="nofollow"&gt;packer tool&lt;/a&gt; made available by Dean Edwards (I found out about this in the Web Application Hacker's Handbook), and the &lt;a href="http://www.owasp.org/index.php/AntiSamy" rel="nofollow"&gt;Anti-Samy project&lt;/a&gt; at OWASP.  I also just noticed Gareth Heyes has a new project, a &lt;a href="http://www.businessinfo.co.uk/labs/taginspector/taginspector.php" rel="nofollow"&gt;JS/HTML Tag Inspector&lt;/a&gt;, which just gave me an idea on how to improve the &lt;a href="http://rgaucher.info/pub/scriptmapping.html" rel="nofollow"&gt;WASC Script Mapping project&lt;/a&gt;.

One of my best resources for finding XSS has been the ASP.NET Content Encoding reference Excel spreadsheet that comes with the companion content from the Microsoft Press book, &lt;a href="http://www.microsoft.com/mspress/companion/0-7356-2187-X/" rel="nofollow"&gt;Hunting Security Bugs&lt;/a&gt;.  If you have WAHH available, you can also check pages 580-581 for insight into using source code to find XSS vulnerabilities.  Of special interest is to note that by knowing the framework and having the source code can be extremely useful for finding XSS, some of which may be nearly impossible to find through manual/automated black-box testing.

I've noticed a growing trend that people tend to think less of manual code review or automated source code security scanners, such as the recent GrumpySecurityGuy article on &lt;a href="http://www.grumpysecurityguy.com/source-code-scanning-is-dead/" rel="nofollow"&gt;Source Code Scanning is Dead&lt;/a&gt; that you pointed me to.  People also think that both source code and black-box scanners find "low hanging fruit", especially XSS.  I've met people who still feel that XSS is a medium or low rated vulnerability, to be included in reports "when nothing else can be found".  XSS isn't taken seriously yet, and it's considered to be "dealt-with" by using a secure framework.  Most people would classify a framework "secure" just because it uses something like the Java Commons Validator.  All of this is the farthest thing from the truth.

XSS is a highly critical issue.  One only needs to look at AttackAPI or BeEF to realize the seriousness of this issue, and worse compare it to the number of active websites that have an XSS vulnerability.  What's funny is that after reading WAHH, I have a much lower opinion of DOM-based XSS, and an even higher opinion of reflected-XSS (although stored-XSS remains the nastiest vector of all of them).  I also feel that no framework (not even HDIV) is going to prevent XSS throughout the entire application.  Sure, improper validation can be the "root-cause" of SQLi and XSS - but these problems can't be fixed by WAF's or secure frameworks alone.  They need to be fixed in the source, by using parameterized queries for all SQL, and proper-use of a validator on every application input along with proper validation/encoding on every application output (to combat all XSS).  Then this needs to be verified with manual code review, regardless of the pen-testing involved..  In cases like MySpace where user-submitted HTML is allowed - there are projects like AntiSamy available, but these are not yet a panacea.  Samy himself said that he already had ideas about how to beat AntiSamy, and I'm sure others are already charging their lasers.</description>
		<content:encoded><![CDATA[<p>Marcin, I thought we already went over the RSnake HTML obfuscation.  When you sent it to me, the first thing I did was load Web Developer Toolbar under Firefox with both View Source and View Generated Source options.  The rest (besides RTL) becomes apparent almost immediately, including the character `I&#8217; which he turns white, as well as the useless HRM, FONT, and TABLE tags.</p>
<p>Of recent note is Gareth Heyes&#8217; Hackvertor XSS tool (I consider it a cross between .mario&#8217;s PHP Charset Encoder and the FishNet Security HTMangLe tool), the <a href="http://dean.edwards.name/packer/" rel="nofollow" onclick="javascript:urchinTracker ('/outbound/comment/dean.edwards.name');">packer tool</a> made available by Dean Edwards (I found out about this in the Web Application Hacker&#8217;s Handbook), and the <a href="http://www.owasp.org/index.php/AntiSamy" rel="nofollow" onclick="javascript:urchinTracker ('/outbound/comment/www.owasp.org');">Anti-Samy project</a> at OWASP.  I also just noticed Gareth Heyes has a new project, a <a href="http://www.businessinfo.co.uk/labs/taginspector/taginspector.php" rel="nofollow" onclick="javascript:urchinTracker ('/outbound/comment/www.businessinfo.co.uk');">JS/HTML Tag Inspector</a>, which just gave me an idea on how to improve the <a href="http://rgaucher.info/pub/scriptmapping.html"  onclick="javascript:urchinTracker ('/outbound/comment/rgaucher.info');">WASC Script Mapping project</a>.</p>
<p>One of my best resources for finding XSS has been the ASP.NET Content Encoding reference Excel spreadsheet that comes with the companion content from the Microsoft Press book, <a href="http://www.microsoft.com/mspress/companion/0-7356-2187-X/"  onclick="javascript:urchinTracker ('/outbound/comment/www.microsoft.com');">Hunting Security Bugs</a>.  If you have WAHH available, you can also check pages 580-581 for insight into using source code to find XSS vulnerabilities.  Of special interest is to note that by knowing the framework and having the source code can be extremely useful for finding XSS, some of which may be nearly impossible to find through manual/automated black-box testing.</p>
<p>I&#8217;ve noticed a growing trend that people tend to think less of manual code review or automated source code security scanners, such as the recent GrumpySecurityGuy article on <a href="http://www.grumpysecurityguy.com/source-code-scanning-is-dead/"  onclick="javascript:urchinTracker ('/outbound/comment/www.grumpysecurityguy.com');">Source Code Scanning is Dead</a> that you pointed me to.  People also think that both source code and black-box scanners find &#8220;low hanging fruit&#8221;, especially XSS.  I&#8217;ve met people who still feel that XSS is a medium or low rated vulnerability, to be included in reports &#8220;when nothing else can be found&#8221;.  XSS isn&#8217;t taken seriously yet, and it&#8217;s considered to be &#8220;dealt-with&#8221; by using a secure framework.  Most people would classify a framework &#8220;secure&#8221; just because it uses something like the Java Commons Validator.  All of this is the farthest thing from the truth.</p>
<p>XSS is a highly critical issue.  One only needs to look at AttackAPI or BeEF to realize the seriousness of this issue, and worse compare it to the number of active websites that have an XSS vulnerability.  What&#8217;s funny is that after reading WAHH, I have a much lower opinion of DOM-based XSS, and an even higher opinion of reflected-XSS (although stored-XSS remains the nastiest vector of all of them).  I also feel that no framework (not even HDIV) is going to prevent XSS throughout the entire application.  Sure, improper validation can be the &#8220;root-cause&#8221; of SQLi and XSS - but these problems can&#8217;t be fixed by WAF&#8217;s or secure frameworks alone.  They need to be fixed in the source, by using parameterized queries for all SQL, and proper-use of a validator on every application input along with proper validation/encoding on every application output (to combat all XSS).  Then this needs to be verified with manual code review, regardless of the pen-testing involved..  In cases like MySpace where user-submitted HTML is allowed - there are projects like AntiSamy available, but these are not yet a panacea.  Samy himself said that he already had ideas about how to beat AntiSamy, and I&#8217;m sure others are already charging their lasers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: .mario</title>
		<link>http://www.tssci-security.com/archives/2007/11/15/blacklisting-xss-filter-evasion-and-other-resources/#comment-2473</link>
		<dc:creator>.mario</dc:creator>
		<pubDate>Sat, 17 Nov 2007 00:43:59 +0000</pubDate>
		<guid>http://www.tssci-security.com/archives/2007/11/15/blacklisting-xss-filter-evasion-and-other-resources/#comment-2473</guid>
		<description>I meant:
&#x3c;&#x69;&#x6d;&#x67;&#x2f;&#x73;&#x72;&#x63;&#x20;&#x6f;&#x6e;&#x65;&#x72;&#x72;&#x6f;&#x72;&#x3d;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;&#x3e;

The form ate up the markup...</description>
		<content:encoded><![CDATA[<p>I meant:<br />
&#x3c;&#x69;&#x6d;&#x67;&#x2f;&#x73;&#x72;&#x63;&#x20;&#x6f;&#x6e;&#x65;&#x72;&#x72;&#x6f;&#x72;&#x3d;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;&#x3e;</p>
<p>The form ate up the markup&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: .mario</title>
		<link>http://www.tssci-security.com/archives/2007/11/15/blacklisting-xss-filter-evasion-and-other-resources/#comment-2472</link>
		<dc:creator>.mario</dc:creator>
		<pubDate>Sat, 17 Nov 2007 00:41:54 +0000</pubDate>
		<guid>http://www.tssci-security.com/archives/2007/11/15/blacklisting-xss-filter-evasion-and-other-resources/#comment-2472</guid>
		<description>Why not leaving the quotes away?  works too :)

Greetings,
.mario</description>
		<content:encoded><![CDATA[<p>Why not leaving the quotes away?  works too :)</p>
<p>Greetings,<br />
.mario</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Domber</title>
		<link>http://www.tssci-security.com/archives/2007/11/15/blacklisting-xss-filter-evasion-and-other-resources/#comment-2458</link>
		<dc:creator>Domber</dc:creator>
		<pubDate>Fri, 16 Nov 2007 13:18:39 +0000</pubDate>
		<guid>http://www.tssci-security.com/archives/2007/11/15/blacklisting-xss-filter-evasion-and-other-resources/#comment-2458</guid>
		<description>Nice! The one with the onerror=alert is a nice option ... well done! ;-)</description>
		<content:encoded><![CDATA[<p>Nice! The one with the onerror=alert is a nice option &#8230; well done! ;-)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.174 seconds -->
