<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>danielmiessler.com &#187; CSRF</title>
	<atom:link href="http://danielmiessler.com/categories/csrf/feed" rel="self" type="application/rss+xml" />
	<link>http://danielmiessler.com</link>
	<description>grep understanding</description>
	<lastBuildDate>Thu, 24 May 2012 04:36:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Neal Poole » Google Vulnerability Reward Program: Google Calendar CSRF</title>
		<link>http://danielmiessler.com/blog/neal-poole-%c2%bb-google-vulnerability-reward-program-google-calendar-csrf</link>
		<comments>http://danielmiessler.com/blog/neal-poole-%c2%bb-google-vulnerability-reward-program-google-calendar-csrf#comments</comments>
		<pubDate>Wed, 01 Dec 2010 08:11:39 +0000</pubDate>
		<dc:creator>Daniel Miessler</dc:creator>
				<category><![CDATA[CSRF]]></category>
		<category><![CDATA[Web Application Security]]></category>

		<guid isPermaLink="false">http://danielmiessler.com/blog/neal-poole-%c2%bb-google-vulnerability-reward-program-google-calendar-csrf</guid>
		<description><![CDATA[Summary Google Calendar was vulnerable to a series of CSRF vulnerabilities. In two separate instances, I found that existing countermeasures (CSRF tokens) were not being validated by the application. via nealpoole.com Interesting stuff. Posted via email from danielmiessler.com &#124; posterous Related ContentGoogle To Launch Amazon S3 Competitor ‘Google Storage’ At I/OGoogle as DoS/Bandwidth Weapon &#124; [...]]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'><div class="posterous_bookmarklet_entry"> <blockquote class="posterous_long_quote"><h3>Summary</h3>  <p>Google Calendar was vulnerable to a series of CSRF vulnerabilities. In two separate instances, I found that existing countermeasures (CSRF tokens) were not being validated by the application.</p></blockquote>    <div class="posterous_quote_citation">via <a href="http://nealpoole.com/blog/2010/11/google-vulnerability-reward-program-google-calendar-csrf/">nealpoole.com</a></div> <p>Interesting stuff.</p></div>      <p style="font-size: 10px;">  <a href="http://posterous.com">Posted via email</a>   from <a href="http://posterous.danielmiessler.com/neal-poole-google-vulnerability-reward-progra">danielmiessler.com | posterous</a>  </p>  </div>
<div id="crp_related"><h3>Related Content</h3><ul><li><a href="http://danielmiessler.com/blog/google-to-launch-amazon-s3-competitor-%e2%80%98google-storage%e2%80%99-at-io" rel="bookmark" class="crp_title">Google To Launch Amazon S3 Competitor ‘Google Storage’ At I/O</a></li><li><a href="http://danielmiessler.com/blog/google-as-dosbandwidth-weapon-security-affairs" rel="bookmark" class="crp_title">Google as DoS/Bandwidth Weapon | Security Affairs</a></li><li><a href="http://danielmiessler.com/blog/decision-2008-google-apps-vs-apples-mobileme" rel="bookmark" class="crp_title">Decision 2008: Google Apps vs. Apple&#8217;s MobileMe</a></li><li><a href="http://danielmiessler.com/blog/official-google-blog-a-new-approach-to-china" rel="bookmark" class="crp_title">Official Google Blog: A new approach to China</a></li><li><a href="http://danielmiessler.com/blog/memcache-top-google-code" rel="bookmark" class="crp_title">memcache-top | Google Code</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://danielmiessler.com/blog/neal-poole-%c2%bb-google-vulnerability-reward-program-google-calendar-csrf/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Difference Between CSRF and Clickjacking</title>
		<link>http://danielmiessler.com/blog/the-difference-between-csrf-and-clickjacking</link>
		<comments>http://danielmiessler.com/blog/the-difference-between-csrf-and-clickjacking#comments</comments>
		<pubDate>Thu, 09 Oct 2008 19:12:39 +0000</pubDate>
		<dc:creator>Daniel Miessler</dc:creator>
				<category><![CDATA[CSRF]]></category>
		<category><![CDATA[Information Security]]></category>

		<guid isPermaLink="false">http://dmiessler.com/?p=3575</guid>
		<description><![CDATA[This might be obvious to those most familiar with CSRF and Clickjacking, but for those just getting a handle on it, here&#8217;s a short explanation of a fundamental difference between the two issues. &#8211; CSRF is your browser doing things on your behalf, without you clicking on something directly. A good example of this is [...]]]></description>
			<content:encoded><![CDATA[<p>This might be obvious to those most familiar with CSRF and Clickjacking, but for those just getting a handle on it, here&#8217;s a short explanation of a fundamental difference between the two issues.</p>

<p>&#8211;</p>

<p>CSRF is your browser doing things on your behalf, without you clicking on something directly. A good example of this is your browser loading every image on a hostile website, and having one of those images be an &#8220;action&#8221; rather than an image. The point is that with CSRF you didn&#8217;t really do anything except load the page, and the <em>browser</em> then takes over from there to manifest the vulnerability.</p>

<p>With Clickjacking the user actually does actively interact with something, but the action itself can be &#8220;hijacked&#8221; by placing a layer between the user and the legitimate action. So imagine that you in a room with an apple on a pedestal, and as you reach for the apple you break an infrared laser beam and open a trap door.</p>

<p>You really did go for the apple with your own hand (unlike CSRF), but in the process you transparently triggered another action that you may not like. The trick for the attacker (using that analogy) is rigging up different types of triggers (infrared lasers) and actions (trapdoor).</p>

<h3>Links</h3>

<p><a href="http://ha.ckers.org/blog/20081007/clickjacking-details/">http://ha.ckers.org/blog/20081007/clickjacking-details/</a></p>
<div id="crp_related"><h3>Related Content</h3><ul><li><a href="http://danielmiessler.com/blog/restful-programming-and-csrf" rel="bookmark" class="crp_title">RESTful Programming and CSRF</a></li><li><a href="http://danielmiessler.com/blog/csrf-is-wicked" rel="bookmark" class="crp_title">CSRF is Wicked</a></li><li><a href="http://danielmiessler.com/blog/neal-poole-%c2%bb-google-vulnerability-reward-program-google-calendar-csrf" rel="bookmark" class="crp_title">Neal Poole » Google Vulnerability Reward Program: Google Calendar CSRF</a></li><li><a href="http://danielmiessler.com/blog/csrf-is-wicked-2" rel="bookmark" class="crp_title">CSRF is Wicked</a></li><li><a href="http://danielmiessler.com/blog/three-powerful-safari-features-that-few-people-use" rel="bookmark" class="crp_title">Three Powerful Safari Features That Few People Use</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://danielmiessler.com/blog/the-difference-between-csrf-and-clickjacking/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>RESTful Programming and CSRF</title>
		<link>http://danielmiessler.com/blog/restful-programming-and-csrf</link>
		<comments>http://danielmiessler.com/blog/restful-programming-and-csrf#comments</comments>
		<pubDate>Sat, 29 Mar 2008 18:44:34 +0000</pubDate>
		<dc:creator>Daniel Miessler</dc:creator>
				<category><![CDATA[CSRF]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Security]]></category>

		<guid isPermaLink="false">http://dmiessler.com/blog/restful-programming-and-csrf</guid>
		<description><![CDATA[[ Edit: Disregard this post. It was written by an evil, stupid man impersonating me. No, not really. It's just wrong. The focus of REST is HTTP verbs, not actions within URLs. I knew that, but mentally pooped myself while writing this. ] I just realized something while on the Twitter site. Shouldn&#8217;t sites built [...]]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://dmiessler.com/wp-content/uploaded_content/2008/03/digital-hacking2.jpg" alt="digital_hacking" /></center></p>

<p class="post_update">[ <strong>Edit: Disregard this post. It was written by an evil, stupid man impersonating me. No, not really. It's just wrong. The focus of REST is HTTP verbs, not actions within URLs. I knew that, but mentally pooped myself while writing this.</strong>  ]</p>

<p>I just realized something while on the Twitter site. Shouldn&#8217;t sites built using <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer" title="Representational State Transfer - Wikipedia, the free encyclopedia">REST</a> principles be more susceptible to <a href="http://en.wikipedia.org/wiki/Cross-site_request_forgery" title="Cross-site request forgery - Wikipedia, the free encyclopedia">CSRF</a> attacks? I&#8217;ve only studied REST concepts for a few minutes when building a little sample <a href="http://www.rubyonrails.org/" title="Ruby on Rails">Rails</a> app, so I could be totally off here, but follow me for a second.</p>

<h2>REST</h2>

<p>The concept here is for URLs to both indicate functionality to users, as well as provide that functionality. So a URL like:</p>

<p><strong>http://acme.com/products/cart/display</strong></p>

<p>&#8230;would display the contents of your cart. Nice, right?</p>

<p>And a URl like:</p>

<p><strong>http://acme.com/account/delete</strong></p>

<p>&#8230;would nuke your account. Again, as you would expect from reading the URL.</p>

<h2>CSRF</h2>

<p><a href="http://en.wikipedia.org/wiki/Cross-site_request_forgery" title="Cross-site request forgery - Wikipedia, the free encyclopedia">Cross Site Request Forgery (Sea Surf)</a> works by getting people to follow links, via a number of methods such as embedding links in IMG tags or just plain getting them to click them via social engineering.</p>

<p><span style="margin: 5px; float: right"><script type="text/javascript"><!-- google_ad_client = "pub-2677272500934866"; /* Study_Content_125x125 */ google_ad_slot = "4415911560"; google_ad_width = 125; google_ad_height = 125; //--> </script>
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
</span>The trick is that if you can get someone&#8217;s browser (or them) to follow a URL, while they&#8217;re logged into a given site, the &#8220;action&#8221; associated with that URL will be executed <strong>using their credentials</strong>. By credentials I usually mean a valid cookie. When your browser sends requests (even for images) to remote websites, and you happen to have a cookie for that site on your system, that cookie will be sent with ALL requests to that site. It&#8217;s kind of scary, really.</p>

<p>I did <a href="http://dmiessler.com/development/csrf_poc.php" title="dmiessler.com | development | CSRF POC">a proof of concept on this over at DSLR</a> recently, where just by visiting a page I could log you out of your account there. I did that via the IMG tag trick. An image on the page pointed to the logout URL, so if you had a cookie for DSLR and loaded the fake image (which the browse does for you without your knowledge), you were logged out.</p>

<h2>How It Would Work</h2>

<p>So that&#8217;s the thing &#8212; RESTful URLs are associated with <em>actions</em>, and CSRF is based on getting you to visit URLs that have actions associated with them. Imagine a CSRF campaign against ACME company where tons of links are emailed out to ACME users with the following URLs in them:</p>

<p><strong>http://somesite.com/product/1234/purchase

http://somecause.com/campaign/donate


http://favoritesite.com/account/terminate</strong></p>

<p>Remember that if any of the people following those links have valid cookies for those sites, they could automatically have those things happen. And if the attacker uses the IMG trick like I demonstrated, the user wouldn&#8217;t even know anything took place because it would have been <em>their browser</em> that performed the action, not them.</p>

<p>Anyway, just a thought. Maybe something to think about when working with RESTful designs.:</p>
<div id="crp_related"><h3>Related Content</h3><ul><li><a href="http://danielmiessler.com/blog/csrf-is-wicked-2" rel="bookmark" class="crp_title">CSRF is Wicked</a></li><li><a href="http://danielmiessler.com/blog/csrf-is-wicked" rel="bookmark" class="crp_title">CSRF is Wicked</a></li><li><a href="http://danielmiessler.com/blog/the-difference-between-csrf-and-clickjacking" rel="bookmark" class="crp_title">The Difference Between CSRF and Clickjacking</a></li><li><a href="http://danielmiessler.com/blog/cookie-stealing-with-cross-site-scripting-explained-hp-application-security-blog" rel="bookmark" class="crp_title">Cookie Stealing With Cross-Site Scripting Explained | HP Application Security Blog</a></li><li><a href="http://danielmiessler.com/blog/the-connected-web-why-its-time-for-strong-authentication" rel="bookmark" class="crp_title">The Connected Web: Why It&#8217;s Time For Strong Authentication</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://danielmiessler.com/blog/restful-programming-and-csrf/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

