<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: The usual suspects and what to do about them</title>
	<atom:link href="http://www.greebo.net/2007/01/28/the-usual-suspects-and-what-to-do-about-them/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.greebo.net/2007/01/28/the-usual-suspects-and-what-to-do-about-them/</link>
	<description>mostly useless crap from me</description>
	<pubDate>Thu, 04 Dec 2008 20:04:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>By: dre</title>
		<link>http://www.greebo.net/2007/01/28/the-usual-suspects-and-what-to-do-about-them/#comment-6208</link>
		<dc:creator>dre</dc:creator>
		<pubDate>Tue, 20 Feb 2007 05:16:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=395#comment-6208</guid>
		<description>For Java, consider this for strong input validation:
http://jakarta.apache.org/commons/validator/

Also - I assess J2EE environments a lot and usually have more (specifically XSS) findings than what you give credit for.

And add that other guy's HTML Purifier to your PHP strong functions http://www.greebo.net/?p=399

Maybe add some other languages... but I really like your basic representation of the data.  Put this up on OWASP!</description>
		<content:encoded><![CDATA[<p>For Java, consider this for strong input validation:<br />
<a href="http://jakarta.apache.org/commons/validator/" rel="nofollow">http://jakarta.apache.org/commons/validator/</a></p>
<p>Also - I assess J2EE environments a lot and usually have more (specifically XSS) findings than what you give credit for.</p>
<p>And add that other guy&#8217;s HTML Purifier to your PHP strong functions <a href="http://www.greebo.net/?p=399" rel="nofollow">http://www.greebo.net/?p=399</a></p>
<p>Maybe add some other languages&#8230; but I really like your basic representation of the data.  Put this up on OWASP!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vanderaj</title>
		<link>http://www.greebo.net/2007/01/28/the-usual-suspects-and-what-to-do-about-them/#comment-6047</link>
		<dc:creator>vanderaj</dc:creator>
		<pubDate>Mon, 05 Feb 2007 13:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=395#comment-6047</guid>
		<description>Stephen,

The Microsoft AntiXSS libraries encode pretty much everything BUT approximately A-Z, a-z, 0-9 and space. I consider this strong encoding. 

I must admit not having much experience with RoR, and thus I didn't consider it when writing this entry. 

Andrew</description>
		<content:encoded><![CDATA[<p>Stephen,</p>
<p>The Microsoft AntiXSS libraries encode pretty much everything BUT approximately A-Z, a-z, 0-9 and space. I consider this strong encoding. </p>
<p>I must admit not having much experience with RoR, and thus I didn&#8217;t consider it when writing this entry. </p>
<p>Andrew</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephen dv</title>
		<link>http://www.greebo.net/2007/01/28/the-usual-suspects-and-what-to-do-about-them/#comment-6045</link>
		<dc:creator>Stephen dv</dc:creator>
		<pubDate>Mon, 05 Feb 2007 08:52:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=395#comment-6045</guid>
		<description>Hi Andrew,

The &#60;%= order.comment %&#62; format used by default in Ruby on Rails is also vulnerable to XSS attack.  To encode it, there is a convenience form:
&#60;%= h(order.comment) %&#62;.

Could you explain a bit more about what you mean by "strong functions"?  

Stephen</description>
		<content:encoded><![CDATA[<p>Hi Andrew,</p>
<p>The &lt;%= order.comment %&gt; format used by default in Ruby on Rails is also vulnerable to XSS attack.  To encode it, there is a convenience form:<br />
&lt;%= h(order.comment) %&gt;.</p>
<p>Could you explain a bit more about what you mean by &#8220;strong functions&#8221;?  </p>
<p>Stephen</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dagfinn ReiersÃ¸l</title>
		<link>http://www.greebo.net/2007/01/28/the-usual-suspects-and-what-to-do-about-them/#comment-5949</link>
		<dc:creator>Dagfinn ReiersÃ¸l</dc:creator>
		<pubDate>Wed, 31 Jan 2007 13:16:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=395#comment-5949</guid>
		<description>How about pushing to make the major PHP template engines XSS safe by default? Some of them are, but Smarty, in particular, isn't. Maybe it's not a "real solution" but it would help. Get it on people's radar screens. Recommend using a "safe" template engine.</description>
		<content:encoded><![CDATA[<p>How about pushing to make the major PHP template engines XSS safe by default? Some of them are, but Smarty, in particular, isn&#8217;t. Maybe it&#8217;s not a &#8220;real solution&#8221; but it would help. Get it on people&#8217;s radar screens. Recommend using a &#8220;safe&#8221; template engine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vanderaj</title>
		<link>http://www.greebo.net/2007/01/28/the-usual-suspects-and-what-to-do-about-them/#comment-5924</link>
		<dc:creator>vanderaj</dc:creator>
		<pubDate>Mon, 29 Jan 2007 08:22:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=395#comment-5924</guid>
		<description>Sam, 

It's ironic that on a post about XSS and how hard it is to be right whilst still allowing safe output encoding that even a mature app like WordPress 2.1 still has problems encoding user output in a recognizable and safe way. 

Andrew</description>
		<content:encoded><![CDATA[<p>Sam, </p>
<p>It&#8217;s ironic that on a post about XSS and how hard it is to be right whilst still allowing safe output encoding that even a mature app like WordPress 2.1 still has problems encoding user output in a recognizable and safe way. </p>
<p>Andrew</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam</title>
		<link>http://www.greebo.net/2007/01/28/the-usual-suspects-and-what-to-do-about-them/#comment-5922</link>
		<dc:creator>Sam</dc:creator>
		<pubDate>Mon, 29 Jan 2007 04:14:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=395#comment-5922</guid>
		<description>Dang. I was hoping WordPress would just encode the pointy brackets. What's missing from the above is "${person.name} instead of [c:out]". And "disable it entirely with [scripting-invalid]."</description>
		<content:encoded><![CDATA[<p>Dang. I was hoping WordPress would just encode the pointy brackets. What&#8217;s missing from the above is &#8220;${person.name} instead of [c:out]&#8220;. And &#8220;disable it entirely with [scripting-invalid].&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam</title>
		<link>http://www.greebo.net/2007/01/28/the-usual-suspects-and-what-to-do-about-them/#comment-5921</link>
		<dc:creator>Sam</dc:creator>
		<pubDate>Mon, 29 Jan 2007 04:10:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.greebo.net/?p=395#comment-5921</guid>
		<description>Using JSTL or JSF, proper encoding may be the default, but in JSTL that's only if you use  consistently. Considering that it's far easier to just use straight EL (${person.name} instead of ), doing the right thing does take a bit of extra work, enough to make developers grumble. And the EL-only alternative, ${fn:escapeXml(person.name)} is just no fun at all. So it isn't as much a default as we'd hope. I still regularly face resistance from coworkers to using the longer forms, even from experienced developers and contractors who I expect to know better.

Maybe this is nitpicking, because I still think your basic premise is correct.

I like the idea of issuing warnings when scriptlets are used. You can even disable it entirely with . I'd like to do the same for bare EL -- or better yet, make encoding on bare EL the default.</description>
		<content:encoded><![CDATA[<p>Using JSTL or JSF, proper encoding may be the default, but in JSTL that&#8217;s only if you use  consistently. Considering that it&#8217;s far easier to just use straight EL (${person.name} instead of ), doing the right thing does take a bit of extra work, enough to make developers grumble. And the EL-only alternative, ${fn:escapeXml(person.name)} is just no fun at all. So it isn&#8217;t as much a default as we&#8217;d hope. I still regularly face resistance from coworkers to using the longer forms, even from experienced developers and contractors who I expect to know better.</p>
<p>Maybe this is nitpicking, because I still think your basic premise is correct.</p>
<p>I like the idea of issuing warnings when scriptlets are used. You can even disable it entirely with . I&#8217;d like to do the same for bare EL &#8212; or better yet, make encoding on bare EL the default.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
