[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Full-disclosure] Pros and cons of 'Access-Control-Allow-Origin' header?
- To: full-disclosure@xxxxxxxxxxxxxxxxx
- Subject: Re: [Full-disclosure] Pros and cons of 'Access-Control-Allow-Origin' header?
- From: Michele Orru <antisnatchor@xxxxxxxxx>
- Date: Thu, 23 Feb 2012 00:25:04 +0100
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Michal Zalewski wrote:
>> Does 'Access-Control-Allow-Origin' header provide any benefits in
>> defending against cross site scripting attacks?
>
> No. It's a mechanism to control cross-origin XMLHttpRequests (and some
> other peripheral things), and adding it does not reduce the likelihood
> or exploitability of XSS bugs.
>
> If you use it incorrectly, you may end up removing most of the
> security assurances provided by the same-origin policy, but that's a
> separate topic.
>
>> Doesn't 'Access-Control-Allow-Origin' header make any XSS flaw
>> trivially exploitable? For example, if an attacker finds an XSS flaw
>> in a web application, he can now inject a JavaScript with
>> XMLHttpRequest that sends a request to attacker's web server which
>> serves resources with the HTTP header "Access-Control-Allow-Origin:
>> *". The browser would see this header and fetch the resource from the
>> attacker's web server.
>
> If you have an XSS vulnerability, there are many simpler ways to relay
> data to an attacker-controlled site without the need to use CORS.
@DavidBlanc what Michal said is what I meant before, and what we're
actually doing in BeEF :-)
If you have an XSS of whatever of the 3 types, you are already pwned,
meaning that whoever exploits the XSS loading an external JS is
controlling your browser across the whole domain of the vulnerable
webapp (SOP restrictions applied, unless you don't have a 0day, use
CORS, etc..)
Specifically in BeEF we use Access-Control-Allow-Origin with a wildcard
just because we cannot know in advance all the browsers that will be hooked.
BTW, not to re-quote mz, but his latest book is a great resource to
clarify your questions :D
Cheers
antisnatchor
>
> /mz
>
> _______________________________________________
> Full-Disclosure - We believe in it.
> Charter: http://lists.grok.org.uk/full-disclosure-charter.html
> Hosted and sponsored by Secunia - http://secunia.com/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJPRXlQAAoJEBgl8Z+oSxe4uxQH/04wZ4Rl1GLiLs+CrV19KqKF
9Ymjs2Rn5gvR5vSjTpIDEcfuw/NX52lxHBkempaXau/i021N4TTUgv2LX3BRo4YT
oUyK3QzN1JuPfGclL+xRalV+3Kl67Kvdngm72Prm5V1Om4zcF4aCGXpCF/iMpp+4
nNRlFK3XKPCT6dZFeV2Skwy9EDVGwGNrEXmFT6xYfUjzAxDxBKr92dGs3icQiWDK
BahWu2Zi70F+wszUPEMDzkw16savz1ra+STVx6uge7797cspvY8HP090CVkPrT4u
PVDfiWSAKPE9xt5u52en98p43Gw+nBeJNThTwdSw/f9gAgPKYtf8WjkvceR+LXU=
=0N+e
-----END PGP SIGNATURE-----
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/