Questions about this topic? Sign up to ask in the talk tab.

Difference between revisions of "CSRF"

From NetSec
Jump to: navigation, search
Line 1: Line 1:
{{expand}}{{info|Needs example}}
 
 
<b>C</b>ross-<b>S</b>ite <b>R</b>eferral <b>F</b>orgery  
 
<b>C</b>ross-<b>S</b>ite <b>R</b>eferral <b>F</b>orgery  
 +
 +
=Synopsis=
  
 
CSRF can occur when a web form does not properly check its [[HTTP referrer]] information to ensure that a browser came from its own site.  This can be especially dangerous to users of a site with a form like this.  CSRF is likely one of the most prominent vulnerabilities today.   
 
CSRF can occur when a web form does not properly check its [[HTTP referrer]] information to ensure that a browser came from its own site.  This can be especially dangerous to users of a site with a form like this.  CSRF is likely one of the most prominent vulnerabilities today.   
  
The result of a successful CSRF attack is performing actions in the context of a user's session.  If a user is logged into one site, and clicks a link to another, the other site's code may control what the logged-in user does on the original site.  
+
The result of a successful CSRF attack is performing actions in the context of a user's session.  If a user is logged into one site, and clicks a link to another, the other site's code may control what the logged-in user does on the original site.
 +
 
 +
=Example=
 +
 
 +
The following html may display a broken image:
 +
 
 +
<syntaxhighlight lang="html">
 +
<img src="http://domain.tld/logout.php">
 +
</syntaxhighlight>
 +
 
 +
If a user logged into '''domain.tld''' loads a page with this html, it may log them out of their session on the affected domain.  The browser still makes a request to logout.php in the context of the authenticated session.  More advanced implementations of this include javascripts to fill out forms and perform more complex actions as the user loading the page.
  
 
When mixed with [[XSS]], this attack becomes the much more dangerous [[XSRF]].
 
When mixed with [[XSS]], this attack becomes the much more dangerous [[XSRF]].

Revision as of 09:53, 10 November 2011

Cross-Site Referral Forgery

Synopsis

CSRF can occur when a web form does not properly check its HTTP referrer information to ensure that a browser came from its own site. This can be especially dangerous to users of a site with a form like this. CSRF is likely one of the most prominent vulnerabilities today.

The result of a successful CSRF attack is performing actions in the context of a user's session. If a user is logged into one site, and clicks a link to another, the other site's code may control what the logged-in user does on the original site.

Example

The following html may display a broken image:

<syntaxhighlight lang="html"> <img src="http://domain.tld/logout.php"> </syntaxhighlight>

If a user logged into domain.tld loads a page with this html, it may log them out of their session on the affected domain. The browser still makes a request to logout.php in the context of the authenticated session. More advanced implementations of this include javascripts to fill out forms and perform more complex actions as the user loading the page.

When mixed with XSS, this attack becomes the much more dangerous XSRF.



CSRF
is part of a series on

Web Exploitation

Visit the Web Exploitation Portal for complete coverage.