<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Securing your JSON</title>
	<atom:link href="http://solutoire.com/2007/03/13/securing-your-json/feed/" rel="self" type="application/rss+xml" />
	<link>http://solutoire.com/2007/03/13/securing-your-json/</link>
	<description>Publicing platform</description>
	<lastBuildDate>Thu, 11 Mar 2010 19:44:05 +0100</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Diego Perini</title>
		<link>http://solutoire.com/2007/03/13/securing-your-json/comment-page-1/#comment-1571</link>
		<dc:creator>Diego Perini</dc:creator>
		<pubDate>Sat, 14 Apr 2007 14:18:47 +0000</pubDate>
		<guid isPermaLink="false">http://solutoire.com/2007/03/13/securing-your-json/#comment-1571</guid>
		<description>A new IFRAME also means a new &quot;window&quot; and a new &quot;document&quot; apart new fresh constructors for Array, Object and Function etc...
Think to the IFRAME as a completely new and different scope, and a namespace. Seen this, it seems to me a little more &quot;secure&quot; if your application is loaded and executed in a newly created IFRAME instead of trying to do the opposite and &quot;fishing&quot; fresh methods and object from it.
You can still allow/disallow comunication between IFRAMEs, and the browser should implement at a minimum it&#039;s domain restriction policies.
This is not 100% secure, I also have come to know..., but who cares, the Internet itself is not a secure place...so things are matching well :-)</description>
		<content:encoded><![CDATA[<p>A new IFRAME also means a new &#8220;window&#8221; and a new &#8220;document&#8221; apart new fresh constructors for Array, Object and Function etc&#8230;<br />
Think to the IFRAME as a completely new and different scope, and a namespace. Seen this, it seems to me a little more &#8220;secure&#8221; if your application is loaded and executed in a newly created IFRAME instead of trying to do the opposite and &#8220;fishing&#8221; fresh methods and object from it.<br />
You can still allow/disallow comunication between IFRAMEs, and the browser should implement at a minimum it&#8217;s domain restriction policies.<br />
This is not 100% secure, I also have come to know&#8230;, but who cares, the Internet itself is not a secure place&#8230;so things are matching well :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stefan</title>
		<link>http://solutoire.com/2007/03/13/securing-your-json/comment-page-1/#comment-1549</link>
		<dc:creator>stefan</dc:creator>
		<pubDate>Fri, 13 Apr 2007 18:15:07 +0000</pubDate>
		<guid isPermaLink="false">http://solutoire.com/2007/03/13/securing-your-json/#comment-1549</guid>
		<description>it&#039;s not a bad solution, but keep in mind that document.createElement and a multitude of other native objects/functions can be overwritten to get around this in a variety of ways.  the only real solution is to parse any and all data which comes from outside sources.  we also need real namespaces in javascript so that external sources can provide executable code without any possibility of access to the global and other private namespaces...</description>
		<content:encoded><![CDATA[<p>it&#8217;s not a bad solution, but keep in mind that document.createElement and a multitude of other native objects/functions can be overwritten to get around this in a variety of ways.  the only real solution is to parse any and all data which comes from outside sources.  we also need real namespaces in javascript so that external sources can provide executable code without any possibility of access to the global and other private namespaces&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: morganusvitus</title>
		<link>http://solutoire.com/2007/03/13/securing-your-json/comment-page-1/#comment-1209</link>
		<dc:creator>morganusvitus</dc:creator>
		<pubDate>Thu, 05 Apr 2007 13:38:22 +0000</pubDate>
		<guid isPermaLink="false">http://solutoire.com/2007/03/13/securing-your-json/#comment-1209</guid>
		<description>The site looks great ! Thanks for all your help ( past, present and future !)</description>
		<content:encoded><![CDATA[<p>The site looks great ! Thanks for all your help ( past, present and future !)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ajax Girl</title>
		<link>http://solutoire.com/2007/03/13/securing-your-json/comment-page-1/#comment-904</link>
		<dc:creator>Ajax Girl</dc:creator>
		<pubDate>Fri, 23 Mar 2007 20:14:22 +0000</pubDate>
		<guid isPermaLink="false">http://solutoire.com/2007/03/13/securing-your-json/#comment-904</guid>
		<description>[...] insecurity of JSON and put two and two together with Dean Edwards Array hack to provide an idea on securing your JSON. PLAIN TEXT [...]</description>
		<content:encoded><![CDATA[<p>[...] insecurity of JSON and put two and two together with Dean Edwards Array hack to provide an idea on securing your JSON. PLAIN TEXT [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Willison</title>
		<link>http://solutoire.com/2007/03/13/securing-your-json/comment-page-1/#comment-822</link>
		<dc:creator>Simon Willison</dc:creator>
		<pubDate>Fri, 16 Mar 2007 22:10:48 +0000</pubDate>
		<guid isPermaLink="false">http://solutoire.com/2007/03/13/securing-your-json/#comment-822</guid>
		<description>I&#039;m not too happy about being called ignorant. The exploit I explained in my comment is NOT the same as the one you talked about as &quot;The downside&quot; - you had suggested that your method could work provided you applied the fix at exactly the right moment, whereas I was pointing out that the attacker could modify document.createElement to prevent your fix from working no matter when it was applied.</description>
		<content:encoded><![CDATA[<p>I&#8217;m not too happy about being called ignorant. The exploit I explained in my comment is NOT the same as the one you talked about as &#8220;The downside&#8221; &#8211; you had suggested that your method could work provided you applied the fix at exactly the right moment, whereas I was pointing out that the attacker could modify document.createElement to prevent your fix from working no matter when it was applied.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kourge</title>
		<link>http://solutoire.com/2007/03/13/securing-your-json/comment-page-1/#comment-813</link>
		<dc:creator>kourge</dc:creator>
		<pubDate>Thu, 15 Mar 2007 14:52:25 +0000</pubDate>
		<guid isPermaLink="false">http://solutoire.com/2007/03/13/securing-your-json/#comment-813</guid>
		<description>If you issue a &lt;code&gt;delete x;&lt;/code&gt; statement, the Array object will be restored to its prestige state, at least in Firefox.</description>
		<content:encoded><![CDATA[<p>If you issue a <code>delete x;</code> statement, the Array object will be restored to its prestige state, at least in Firefox.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bas</title>
		<link>http://solutoire.com/2007/03/13/securing-your-json/comment-page-1/#comment-805</link>
		<dc:creator>Bas</dc:creator>
		<pubDate>Wed, 14 Mar 2007 15:24:32 +0000</pubDate>
		<guid isPermaLink="false">http://solutoire.com/2007/03/13/securing-your-json/#comment-805</guid>
		<description>It&#039;s very ignorant when people don&#039;t read the article and comments very well. If you read the chapter &#039;The downside&#039; and my previous comment you can see you&#039;re almost rephrasing me.. Now I&#039;m definitely going to update this article because the fix I wrote about is not a fool proof way to secure json from being read by Mr. Evil. Just like Joe told us, using unpredictable urls is the best security one can have right now.

Cheers</description>
		<content:encoded><![CDATA[<p>It&#8217;s very ignorant when people don&#8217;t read the article and comments very well. If you read the chapter &#8216;The downside&#8217; and my previous comment you can see you&#8217;re almost rephrasing me.. Now I&#8217;m definitely going to update this article because the fix I wrote about is not a fool proof way to secure json from being read by Mr. Evil. Just like Joe told us, using unpredictable urls is the best security one can have right now.</p>
<p>Cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Willison</title>
		<link>http://solutoire.com/2007/03/13/securing-your-json/comment-page-1/#comment-804</link>
		<dc:creator>Simon Willison</dc:creator>
		<pubDate>Wed, 14 Mar 2007 14:51:15 +0000</pubDate>
		<guid isPermaLink="false">http://solutoire.com/2007/03/13/securing-your-json/#comment-804</guid>
		<description>Your applyArrayFix() function can be easily disabled by an attacker simply redefining document.createElement before your function is called. You&#039;re putting yourself in an arms race with an attacker, but the attacker has the advantage of knowing exactly how your code works (you on the other hand don&#039;t know the details of theirs). As such, your solution can&#039;t work.</description>
		<content:encoded><![CDATA[<p>Your applyArrayFix() function can be easily disabled by an attacker simply redefining document.createElement before your function is called. You&#8217;re putting yourself in an arms race with an attacker, but the attacker has the advantage of knowing exactly how your code works (you on the other hand don&#8217;t know the details of theirs). As such, your solution can&#8217;t work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bas</title>
		<link>http://solutoire.com/2007/03/13/securing-your-json/comment-page-1/#comment-800</link>
		<dc:creator>Bas</dc:creator>
		<pubDate>Wed, 14 Mar 2007 11:49:03 +0000</pubDate>
		<guid isPermaLink="false">http://solutoire.com/2007/03/13/securing-your-json/#comment-800</guid>
		<description>I completely agree with you that unpredictable urls are the best security one can have right now. We can&#039;t control what happens on the clientside. In example, when MR. Evil changes the iframe Array object before we apply our fix we&#039;re doomed too... What&#039;s described on this page is just a way one can improve security, not making a app invulnerable to data theft... Maybe I should update the article about this...</description>
		<content:encoded><![CDATA[<p>I completely agree with you that unpredictable urls are the best security one can have right now. We can&#8217;t control what happens on the clientside. In example, when MR. Evil changes the iframe Array object before we apply our fix we&#8217;re doomed too&#8230; What&#8217;s described on this page is just a way one can improve security, not making a app invulnerable to data theft&#8230; Maybe I should update the article about this&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Walker</title>
		<link>http://solutoire.com/2007/03/13/securing-your-json/comment-page-1/#comment-799</link>
		<dc:creator>Joe Walker</dc:creator>
		<pubDate>Wed, 14 Mar 2007 11:01:10 +0000</pubDate>
		<guid isPermaLink="false">http://solutoire.com/2007/03/13/securing-your-json/#comment-799</guid>
		<description>I hate to be a pain, but I think you are fighting a losing battle. For example, the follow-up was to &lt;a href=&quot;http://getahead.org/blog/joe/2007/03/06/json_is_not_as_safe_as_people_think_it_is_part_2.html&quot; rel=&quot;nofollow&quot;&gt;steal data from Objects too&lt;/a&gt;. In the end you can&#039;t trust the environment that you are sending the data to, so you should only send data to people you trust, and that means having URLs that are not predictable.</description>
		<content:encoded><![CDATA[<p>I hate to be a pain, but I think you are fighting a losing battle. For example, the follow-up was to <a href="http://getahead.org/blog/joe/2007/03/06/json_is_not_as_safe_as_people_think_it_is_part_2.html" rel="nofollow">steal data from Objects too</a>. In the end you can&#8217;t trust the environment that you are sending the data to, so you should only send data to people you trust, and that means having URLs that are not predictable.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
