Chrome 18 anti-XSS bypass

# Exploit Title: Chrome 18 anti-XSS bypass
# Date: 2012-05-31
# Author: k3170makan
# Vendor or Software Link: [download link if available]
# Version: 18.0.1025.162
# Category:: local
# Google dork: N/A
# Tested on: Ubuntu 10.04
# Demo site: N/A

Chrome 18---and possibly 19--- versions anti-XSS filter or XSSAuditor as
its called does not pick up certain XSS vectors.
Its possible to by pass the XSSAuditor by fooling it into believing that
the javascript you inject is commented out.
To do this you need to use both in line and multiline comment tags after
one another in the injection:

Code Snippet:

else if (startsMultiLineCommentAt(string, startPosition)) {
 if ((foundPosition = string.find("*/", startPosition)) != notFound)
 startPosition = foundPosition + 2; /*<--- skips 2 chars here*/

Because the Auditor skips two chars you can fool it by add another
slash to an inline incomment that succeeds a multiline comment e.g

So you need to make sure that in your injection---before any actual
javascript syntax---you include "/*///" and make sure to close the comment
as well
Some examples would be:

<script>/*///*/alert(1);</script> #it will pick up the multiline comment
here and skip to the next 2 chars, which will again be comments, so the
check will pass leaving the javascript alone!
you can add whatever chars you want to the vector after the '/*///' part as
long as you close the comment obviously.

Chrome Issue track --->

gr33ts Telspace Systems ;)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s