<?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>Skypher &#187; Opera</title>
	<atom:link href="http://skypher.com/index.php/category/browsers/opera/feed/" rel="self" type="application/rss+xml" />
	<link>http://skypher.com</link>
	<description>The blog for absolutely nothing!</description>
	<lastBuildDate>Fri, 16 Jul 2010 08:26:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Apple QuickTime memory corruption when loading BMP file</title>
		<link>http://skypher.com/index.php/2010/04/12/apple-quicktime-memory-corruption-when-loading-bmp-file/</link>
		<comments>http://skypher.com/index.php/2010/04/12/apple-quicktime-memory-corruption-when-loading-bmp-file/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 11:53:01 +0000</pubDate>
		<dc:creator>SkyLined</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[PoC]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://skypher.com/?p=455</guid>
		<description><![CDATA[<p>From <a href="http://support.apple.com/kb/HT4104">http://support.apple.com/kb/HT4104</a>:
CVE-ID: CVE-2010-0536</p>
<p>Impact: Opening a maliciously crafted BMP image may lead to an unexpected application termination or arbitrary code execution</p>
<p>Description: A memory corruption issue exists in the handling of BMP images...]]></description>
			<content:encoded><![CDATA[<p>From <a href="http://support.apple.com/kb/HT4104">http://support.apple.com/kb/HT4104</a>:<br />
CVE-ID: CVE-2010-0536</p>
<p>Impact: Opening a maliciously crafted BMP image may lead to an unexpected application termination or arbitrary code execution</p>
<p>Description: A memory corruption issue exists in the handling of BMP images. Opening a maliciously crafted BMP image may lead to an unexpected application termination or arbitrary code execution. This update addresses the issue by performing additional validation of BMP images.</p>
<p>More details here:<br />
<a href="http://code.google.com/p/skylined/issues/detail?id=11">http://code.google.com/p/skylined/issues/detail?id=11</a></p>
]]></content:encoded>
			<wfw:commentRss>http://skypher.com/index.php/2010/04/12/apple-quicktime-memory-corruption-when-loading-bmp-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cross browser parallel asynchronous XMLHttpRequests with timeout.</title>
		<link>http://skypher.com/index.php/2009/09/29/cross-browser-parallel-asynchronous-xmlhttprequests-with-timeout/</link>
		<comments>http://skypher.com/index.php/2009/09/29/cross-browser-parallel-asynchronous-xmlhttprequests-with-timeout/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 20:50:33 +0000</pubDate>
		<dc:creator>SkyLined</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">http://skypher.com/?p=232</guid>
		<description><![CDATA[<p>AsyncXMLHttpRequest is an extension of XMLHttpRequest with the following improvements:

   Uniform behavior on multiple different browsers (Apple Safari, Google Chrome, Microsoft Internet Explorer, Mozilla Firefox and Opera).
   Event handlers are called with the AsyncXMLHttpRequest object to which they apply as the first argument...]]></description>
			<content:encoded><![CDATA[<p><B>AsyncXMLHttpRequest</B> is an extension of <B>XMLHttpRequest</B> with the following improvements:<br />
<UL><br />
  <LI> Uniform behavior on multiple different browsers (Apple Safari, Google Chrome, Microsoft Internet Explorer, Mozilla Firefox and Opera).</LI><br />
  <LI> Event handlers are called with the <B>AsyncXMLHttpRequest</B> object to which they apply as the first argument. This makes it easy to have multiple parallel requests because there is no need to find out for which object an event has fired.</LI><br />
  <LI> A <B>timeout</B> attribute can be set to a number of milliseconds , the request is aborted if it didn&#8217;t complete within the given number of milliseconds after calling <B>send()</B>.</LI><br />
  <LI> A <B>timedout</B> attribute has been added that is <B>false</B> as long as the request has not been aborted because of a time out and <B>true</B> when it has.</LI><br />
  <LI> Arguments passed to the <B>open()</B> and <B>send()</B> methods are saved in attributes of the object for later reference. These attributes are: <B>method</B>, <B>url</B>, <B>user</B> and <B>password</B> for <B>open()</B> and <B>body</B> for <B>send()</B>.</LI><br />
  <LI> Three additional events have been added: <B>onload</B>, <B>onerror</B> and <B>ontimeout</B>. These are called when the <B>readyState</B> has changed to 4 and the request has, respectively, succeeded (no timeout, <B>status</B> == 2xx), failed (no timeout, <B>status</B> != 2xx) or has timed out.</LI><br />
</UL></p>
<p><BIG><B> Cross Browser Uniform Behavior </B></BIG><br />
To make <B>AsyncXMLHttpRequest</B> work uniformly across different browsers, it catches and handles some exceptions that are throw in some browsers, but not in others. Specifically, Firefox, MSIE and Opera throw exceptions when calling the <B>open()</B> and <B>send()</B> methods for certain invalid or cross-origin urls. If any of these exceptions are caught and handled, the request will fail similar to other browser by having <B>status</B> == 0 after the <B>readyState</B> has changed to 4.</p>
<p><BIG><B> Parallel Requests </B></BIG><br />
To allow any number of parallel requests to take place and still keep track of which request is in what state, all event handlers are passed the <B>AsyncXMLHttpRequest</B> object to which they apply. In other words, when a certain <B>AsyncXMLHttpRequest</B> object is done (<B>readyState</B> == 4), the <B>onreadystatechange</B> event handler is called with the <B>AsyncXMLHttpRequest</B> object to which it applies as the first argument of the call.</p>
<p><BIG><B> Source </B></BIG><br />
Available through <A href="http://code.google.com/p/asyncxmlhttprequest/">Google code</A>.</p>
<p><BIG><B> Example </B></BIG><br />
This example shows that you can create any number of parallel requests (the browser or OS may have a built in limit) without having to keep track of which object an event is firing for because it is passes as an argument to the event handler:</p>
<p><CODE><br />
&lt;HTML&gt;<br />
  &lt;BODY onload=&#8221;go()&#8221;&gt;&lt;/BODY&gt;<br />
  &lt;SCRIPT src=&#8221;AsyncXMLHttpRequest.js&#8221;&gt;&lt;/SCRIPT&gt;<br />
  &lt;SCRIPT&gt;<br />
    function go() {<br />
      for (var i = 0; i &lt; 30; i++) {<br />
        request(location + &#8220;?&#8221; + i);<br />
      }<br />
    }<br />
    function request(url) {<br />
      span = document.createElement(&#8220;DIV&#8221;);<br />
      document.body.appendChild(span);<br />
      span.innerHTML = &#8220;&lt;B&gt;&#8221; + url + &#8220;&lt;/B&gt;&#8221;;<br />
      xmlhttp = new AsyncXMLHttpRequest();<br />
      xmlhttp.span = span;<br />
      xmlhttp.onload = load;<br />
      xmlhttp.onerror = error;<br />
      xmlhttp.ontimeout = timeout;<br />
      xmlhttp.timeout = 1000;<br />
      xmlhttp.onreadystatechange = rs;<br />
      xmlhttp.open(&#8220;GET&#8221;, url);<br />
      xmlhttp.send();<br />
    }<br />
    function rs(xmlhttp) {<br />
      xmlhttp.span.innerHTML += &#8221; rs:&#8221; + xmlhttp.readyState;<br />
    }<br />
    function load(xmlhttp) {<br />
      xmlhttp.span.innerHTML += &#8221; load:&#8221; + xmlhttp.status;<br />
    }<br />
    function error(xmlhttp) {<br />
      xmlhttp.span.innerHTML += &#8221; error:&#8221; + xmlhttp.status;<br />
    }<br />
    function timeout(xmlhttp) {<br />
      xmlhttp.span.innerHTML += &#8221; timeout:&#8221; + xmlhttp.status;<br />
    }<br />
  &lt;/SCRIPT&gt;<br />
&lt;/HTML&gt;<br />
&nbsp;<br />
</CODE></p>
]]></content:encoded>
			<wfw:commentRss>http://skypher.com/index.php/2009/09/29/cross-browser-parallel-asynchronous-xmlhttprequests-with-timeout/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Security contacts</title>
		<link>http://skypher.com/index.php/2008/12/10/security-contacts/</link>
		<comments>http://skypher.com/index.php/2008/12/10/security-contacts/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 17:52:49 +0000</pubDate>
		<dc:creator>SkyLined</dc:creator>
				<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[contact information]]></category>
		<category><![CDATA[security team]]></category>
		<category><![CDATA[software vendors]]></category>

		<guid isPermaLink="false">http://skypher.com/?p=78</guid>
		<description><![CDATA[<p>I&#8217;ve created a table with contact information for security teams for mayor software vendors. I&#8217;m hoping you&#8217;ll find the information useful when you&#8217;re trying to report a vulnerability...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve created a table with contact information for security teams for mayor software vendors. I&#8217;m hoping you&#8217;ll find the information useful when you&#8217;re trying to report a vulnerability. If you have any more contact information or find an error in the list, <a title="mail me" href="mailto:berendjanwever@gmail.com" target="_blank">let me know</a>.</p>
<p>The list is here:<br />
<span><a href="http://skypher.com/wiki/index.php?title=List_of_security_teams_contact_information">http://skypher.com/wiki/index.php?title=List_of_security_teams_contact_information</a><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://skypher.com/index.php/2008/12/10/security-contacts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fuzzing Opera browser: how to get rid of the &#8220;start-up dialog&#8221; after a crash</title>
		<link>http://skypher.com/index.php/2008/10/23/fuzzing-opera-browser-how-to-get-rid-of-the-start-up-dialog-after-a-crash/</link>
		<comments>http://skypher.com/index.php/2008/10/23/fuzzing-opera-browser-how-to-get-rid-of-the-start-up-dialog-after-a-crash/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 15:50:19 +0000</pubDate>
		<dc:creator>SkyLined</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[batch scripts]]></category>
		<category><![CDATA[Opera Fuzzing Chimera]]></category>

		<guid isPermaLink="false">http://skypher.com/?p=61</guid>
		<description><![CDATA[<p>If you want to automate running Opera to run fuzzers, you&#8217;ll find that once you&#8217;ve crashed Opera, it does not start as normal the next time you run it...]]></description>
			<content:encoded><![CDATA[<p>If you want to automate running Opera to run fuzzers, you&#8217;ll find that once you&#8217;ve crashed Opera, it does not start as normal the next time you run it. Opera had provided a &#8220;<a title="Opera start-up dialog help" href="http://help.opera.com/Windows/9.60/en/dialogs.html#startup" target="_blank">start-up dialog</a>&#8221; for your convenience that shows up after you&#8217;ve crashed it. Also, Opera has a session restore feature that can cause problems when you start Opera using the command-line to open a URL; it will open the pages from the previous session as well. Unfortunately, I was unable to find configuration settings to disabled either one of these features. </p>
<p>To get around these problems I&#8217;ve created a program that will modify the &#8220;Opera.ini&#8221; file as well as delete the session folder. If you run this program, it will remove all traces of a crash that cause Opera to open the start-up dialog and restore the previous session. After running it, you can start Opera as usual.</p>
<p>On the off chance that you&#8217;ve encountered this problem, I&#8217;ve made the program available <a title="Download dirtyOperaHack.zip" href="http://skypher.com/SkyLined/download/Opera/dirtyOperaHack.zip" target="_self">here</a>. The program is called &#8220;dirtyOperaHack.cmd&#8221;. It is a <a title="Skypher wiki on Chimera files" href="http://skypher.com/wiki/index.php?title=Chimera_code#BATCH_script_.26_JavaScript" target="_blank">chimera file</a>; part JavaScript, part batch-file. I&#8217;ve also included the individual source files from which it was created for your convenience. You can run &#8220;make.cmd&#8221; to create &#8221;dirtyOperaHack.cmd&#8221; from the individual source files.</p>
<p><B>UPDATE</B><br />
Opera 10 seems to have changed the paths for some of these settings. I have an updated version of my &#8220;Dirty Opera Hack&#8221; script available <A href="http://skypher.com/SkyLined/download/Opera/dirtyOperaHack2.zip" target="_self">here</A>.</p>
]]></content:encoded>
			<wfw:commentRss>http://skypher.com/index.php/2008/10/23/fuzzing-opera-browser-how-to-get-rid-of-the-start-up-dialog-after-a-crash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
