<?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>The Thinking Lemur &#187; Windows</title>
	<atom:link href="http://thinkinglemur.com/index.php/category/thinking/windows/feed/" rel="self" type="application/rss+xml" />
	<link>http://thinkinglemur.com</link>
	<description>from the mind of Donnie Bachan</description>
	<lastBuildDate>Fri, 06 Jan 2012 10:42:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Open multiple windows in Excel 2007</title>
		<link>http://thinkinglemur.com/index.php/2010/09/open-multiple-windows-in-excel-2007/</link>
		<comments>http://thinkinglemur.com/index.php/2010/09/open-multiple-windows-in-excel-2007/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 09:53:17 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[Excel]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=392</guid>
		<description><![CDATA[Some of the design choices in Office 2007 really baffle me. Some simple tasks just cannot be completed without jumping through so many hoops. I can't understand why this isn't on every website in the entire world! But, I hope this helps some of you out: Go To: My Computer &#62; Tools &#62; Folder Options &#62; File Types [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2010%2F09%2Fopen-multiple-windows-in-excel-2007%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2010%2F09%2Fopen-multiple-windows-in-excel-2007%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Some of the design choices in Office 2007 really baffle me. Some simple tasks just cannot be completed without jumping through so many hoops. I can't understand why this isn't on every website in the entire world! But, I hope this helps some of you out:</p>
<ol>
<li>Go To: My Computer &gt; Tools &gt; Folder Options &gt; File Types</li>
<li>Choose XLS (Repeat for XLSX)</li>
<li>Click Advanced</li>
<li>Uncheck "browse in same window" in advanced window.</li>
<li>Then highlight Open</li>
<li>Click Edit</li>
<li>Make sure in the Action box it says &amp;Open</li>
<li>Make sure in the application used to perform action it says: "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" "%1"</li>
<li>Check the box next to use DDE</li>
<li>Remove anything that is in DDE Message box</li>
<li>Remove anything that is in DDE Application Not Running box</li>
<li>Make sure the application box says: EXCEL</li>
<li>And in the Topic box it says: System</li>
</ol>
<p>The original tip can be found:</p>
<p><a href="http://techrepublic.com.com/5208-6230-0.html?forumID=8&amp;threadID=195249&amp;messageID=2254006&amp;tag=content;leftCol">http://techrepublic.com.com/5208-6230-0.html?forumID=8&amp;threadID=195249&amp;messageID=2254006&amp;tag=content;leftCol</a></p>
<p>This allows you to have multiple independent Excel windows open. Very handy if you have multiple monitors.</p>
<p>This has been tested on Windows XP and Excel 2007.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2010/09/open-multiple-windows-in-excel-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting secure attribute of JSESSIONID cookie in ColdFusion 8</title>
		<link>http://thinkinglemur.com/index.php/2009/02/setting-secure-attribute-of-jsessionid-cookie-in-coldfusion-8/</link>
		<comments>http://thinkinglemur.com/index.php/2009/02/setting-secure-attribute-of-jsessionid-cookie-in-coldfusion-8/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 10:57:55 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[PCI]]></category>
		<category><![CDATA[SSL]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=177</guid>
		<description><![CDATA[As part of PCI compliance our servers were run through third party security auditing and one warning we received was "Missing Secure Attribute in an Encrypted Session (SSL) Cookie". This warning referred to the JSESSIONID cookie being set in our SSL enabled pages not having the SECURE attribute set. In ColdFusion there is no way [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Fsetting-secure-attribute-of-jsessionid-cookie-in-coldfusion-8%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Fsetting-secure-attribute-of-jsessionid-cookie-in-coldfusion-8%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>As part of PCI compliance our servers were run through third party security auditing and one warning we received was "Missing Secure Attribute in an Encrypted Session (SSL) Cookie". This warning referred to the JSESSIONID cookie being set in our SSL enabled pages not having the SECURE attribute set. In ColdFusion there is no way for you to do this programatically (since you would not explicitly create the JSESSIONID cookie) or even via the administrator. After a lot of searching and reading I found the solution thanks to comment on this post:</p>
<p><a href="http://www.bennadel.com/blog/785-Ask-Ben-Hiding-Encrypting-ColdFusion-CFID-And-CFTOKEN-Values.htm">http://www.bennadel.com/blog/785-Ask-Ben-Hiding-Encrypting-ColdFusion-CFID-And-CFTOKEN-Values.htm</a></p>
<p>The solution is quite simple, add:</p>
<blockquote><p>&lt;cookie-config&gt;<br />
&lt;cookie-secure&gt;true&lt;/cookie-secure&gt;<br />
&lt;/cookie-config&gt;</p></blockquote>
<p>after the &lt;/persistence-config&gt; element in your jrun-web.xml file which is usually located in C:\JRun4\servers\yourservername\cfusion-ear\cfusion-war\WEB-INF\jrun-web.xml. If you are running in multiserver mode of CF Enterprise and have multiple application instances, you must add this to the jrun-web.xml of every application instance.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2009/02/setting-secure-attribute-of-jsessionid-cookie-in-coldfusion-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web data security paranoia</title>
		<link>http://thinkinglemur.com/index.php/2009/02/web-data-security-paranoia/</link>
		<comments>http://thinkinglemur.com/index.php/2009/02/web-data-security-paranoia/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 13:41:48 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=174</guid>
		<description><![CDATA[My recent experiences with several hacking attacks has made me think more about application and data security on the web. In today's world nothing can be taken for granted and security should be of the highest concern, no mater how simple you think your application or trivial the data you store. Many web applications are [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Fweb-data-security-paranoia%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Fweb-data-security-paranoia%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>My recent experiences with several hacking attacks has made me think more about application and data security on the web. In today's world nothing can be taken for granted and security should be of the highest concern, no mater how simple you think your application or trivial the data you store. Many web applications are hosted on shared servers or virtual private servers where the first line of defense is often left to the hosting provider. The first line of defense is perimeter security such as hardware firewalls and other network related prevention. You are also at the hands of the hosting provider when it comes to software security, that is, your operating system, web server, application servers and scripting languages and ftp patches.</p>
<p>The first thing that and good security plan should have is a proper review of these basic things. Contact your hosting provider and find out about patch management and other security options that may be their responsibility. If you manage your own server then you need to be aware of firewalls (software or hardware), antivirus, patch management and user security.</p>
<p>Now, on to your web application security. In my previous article on <a href="http://thinkinglemur.com/index.php/2009/02/preventing-sql-injection-attacks-in-coldfusion/">preventing sql injection attacks in coldfusion</a>  there are quite a few tips for securing the applications. One other place developers tend to ignore is the transmission of data to and storage of data in the database. So let's look at some of the options for securing data.</p>
<p><strong>Database access:</strong></p>
<p>If your budget supports it, the first thing that should be implemented would be to have your database on a separate physical machine from your application server or public web server. This has two positive effects. Firstly, moving the database server to another machine will take the load off the web server or application server which can only be a good thing. Secondly, you public web server would be the first machine to be attacked, thus if a breach were to occur having the database on another machine would add some level of defense.</p>
<p>Ensure that the web application database user has the bare minimum rights to the database. That is, if the web application has no need to add tables or drop tables then the user should not have CREATE or DROP rights. Ensure, under no circumstances that your web application uses ROOT, SA or any other master login to access your database. Create a separate user for each application and give it the required rights.</p>
<p>One other thing I like to do is limit remote access to the database, if you can get SSH/RDP access to the server limit that to specific IP addresses. This causes remote administration to be a pain but the security benefits outweight the inconvenience.</p>
<p> </p>
<p><strong>Data storage:</strong></p>
<p>Now, once you have the correct rights on your database and secured it from web access the next step would be to secure the actual data being stored. You will want to ensure that the forms that submit information are secured with a valid strong SSL certificate. Now, you may not be interested in using SSL encryption for all forms on  your site but it is a good practice to secure forms such as registration, login, shopping carts and checkout forms. Basically, any form that has any user information should be secured.</p>
<p>This same thinking should extend to storing the data in the database. Many developers encrypt passwords and store them in the database, but I think other things like usernames, email addresses and any other information that can potential be regarded as sensitive information should be encrypted and stored in the database. There are two options for this. Let the database encrypt the data for you or let your application encrypt the data before it is inserted in the database.</p>
<p>In SQL Server 2005, you can achieve this using some special functions. You can read more about this method in the following articles:</p>
<blockquote><p><a href="http://www.sql-server-performance.com/articles/dev/encryption_2005_1_p1.aspx">http://www.sql-server-performance.com/articles/dev/encryption_2005_1_p1.aspx</a></p>
<p><a href="http://www.sql-server-performance.com/articles/dev/encryption_2005_2_p1.aspx">http://www.sql-server-performance.com/articles/dev/encryption_2005_2_p1.aspx</a></p></blockquote>
<p>Other popular databases would have similar features.</p>
<p>The other option would be to encrypt the data before storing it in the database and then decrypting it when it needs to be used. In ColdFusion, this can be achieved using the encrypt and decrypt functions. These functions allow you to choose and encryption algorithm (SHA1, Blowfish etc) and a security key. The major drawback to this method is speed. This would slow down the communication of data between the web application and the user, however I think this is a fair trade off for the security concious.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2009/02/web-data-security-paranoia/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Preventing SQL Injection attacks in ColdFusion</title>
		<link>http://thinkinglemur.com/index.php/2009/02/preventing-sql-injection-attacks-in-coldfusion/</link>
		<comments>http://thinkinglemur.com/index.php/2009/02/preventing-sql-injection-attacks-in-coldfusion/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 14:17:32 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=143</guid>
		<description><![CDATA[This is an article I came across on Ben Forta's blog. This gives some very good tips on preventing SQL  injection attacks and provides some excellent best practices.  http://www.adobe.com/devnet/coldfusion/articles/sql_injection.html When I took up my current position we had to do a vulnerability scan to become PCI compliant and well we originally failed horribly. After much [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Fpreventing-sql-injection-attacks-in-coldfusion%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Fpreventing-sql-injection-attacks-in-coldfusion%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>This is an article I came across on <a href="http://www.forta.com">Ben Forta's blog</a>. This gives some very good tips on preventing SQL  injection attacks and provides some excellent best practices.</p>
<blockquote><p> <a href="http://www.adobe.com/devnet/coldfusion/articles/sql_injection.html">http://www.adobe.com/devnet/coldfusion/articles/sql_injection.html</a></p></blockquote>
<p>When I took up my current position we had to do a vulnerability scan to become PCI compliant and well we originally failed horribly. After much work we got it compliant and fixed all of the security holes identified. The article above gives some ColdFusion specific items but also defines some techniques that can be applied to other languages. A few things that are of note are:</p>
<ul>
<li>Database user privileges</li>
<li>Use of stored procedures</li>
<li>Use of dynamic table names</li>
</ul>
<p>These three points are usually overlooked by the average developer and should really be implemented. </p>
<p> </p>
<p>Database User Access:</p>
<p>Only give the user the minimum rights required to perform the task. So if your user only needs to perform select and update operations they should not have delete, create or other rights.</p>
<p> </p>
<p>Stored Procedures:</p>
<p>Stored procedures provide a very good way to abstract and hide database logic from your code. This is a problem with many of the frameworks that use Active Record patterns like Rails and CakePHP or ORM systems like Reactor in ColdFusion but stored procedures can provide significant performance improvements as well as having security benefits.</p>
<p> </p>
<p>Dynamic Table Names:</p>
<p>By prefixing your database tables with a custom string, you can build queries that use a dynamic string for accessing the table information instead of hardcoding the table name. This is another good idea since many systems use generic table names like users, categories, groups etc which can be easily guessed.</p>
<p> </p>
<p>It is very important to analyse every section of code and perform a security audit ensuring that all forms are protected since this is the first place that attackers target.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2009/02/preventing-sql-injection-attacks-in-coldfusion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HostMySite security breach</title>
		<link>http://thinkinglemur.com/index.php/2009/02/hostmysite-security-breach/</link>
		<comments>http://thinkinglemur.com/index.php/2009/02/hostmysite-security-breach/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 15:08:01 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[malware]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=115</guid>
		<description><![CDATA[I recently posted an article about a security breach on my web server which was as a result of my own stupidity but when a site that I manage and host on HostMySite.com is breached twice in 4 days I get extremely peeved. The incident occurred on their ColdFusion shared hosting plan and an attacker [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Fhostmysite-security-breach%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Fhostmysite-security-breach%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I recently posted an article about <a href="http://thinkinglemur.com/index.php/2009/01/security-is-important/">a security breach </a>on my web server which was as a result of my own stupidity but when a site that I manage and host on HostMySite.com is breached twice in 4 days I get extremely peeved. The incident occurred on their ColdFusion shared hosting plan and an attacker was able to successfully inject code into all index files for the site. I noticed the first breach and after cleaning the site alerted HMS. Several hours later I was alerted that there was a problem with the permissions on the site and that it was patch and the files were cleaned (even though I had already removed all the malicious code from the files). </p>
<p>I decided to forgive this faux pas even though I have seen this before some time ago on a site hosted by HMS, that site however was using LAMP and the breach was caused by a vulnerability in the PHP version. The affected site was flagged up in Google as containing malware, this time however, <a href="http://thinkinglemur.com/index.php/2009/02/the-day-google-stood-still/">Google was telling the truth</a>! However, this morning, the site was once again compromised and code injected into the index files. After cleaning and submitting a bitter support ticket I received a response stating some nonsense about permissions being reapplied. I am amazed at some of these responses sometimes, since they are deliberately written to sound more impressive than they are. I am not a newbie and I understand very well what happened.</p>
<p>I am sorely disappointed in HMS, there have been numerous problems on their shared hosting environment with ColdFusion crashes, site time outs and now security breaches. This makes me look stupid to my client and it is costing me in support because I have to get it fixed, for FREE! I have never forgiven Dell for shipping a server with cables disconnected and I don't think HMS will have any business going forward. You simply cannot say you are providing a service, say you are the best at it then allow things like this to happen, it is simply not acceptable!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2009/02/hostmysite-security-breach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>File upload timeouts on IIS 6</title>
		<link>http://thinkinglemur.com/index.php/2009/02/file-upload-timeouts-on-iis-6/</link>
		<comments>http://thinkinglemur.com/index.php/2009/02/file-upload-timeouts-on-iis-6/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 12:59:00 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=106</guid>
		<description><![CDATA[Scenario: Simple file upload application using ColdFusion 8 on IIS 6 and Windows 2003 server. The application allows for large files to be uploaded to the server for backend processing. File sizes range from 10MB - 300 MB.   Problem: File upload fails for files greater than 30MB.   Analysis: Several options were investigated including [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Ffile-upload-timeouts-on-iis-6%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Ffile-upload-timeouts-on-iis-6%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Scenario:</strong></p>
<p>Simple file upload application using ColdFusion 8 on IIS 6 and Windows 2003 server. The application allows for large files to be uploaded to the server for backend processing. File sizes range from 10MB - 300 MB.</p>
<p> </p>
<p><strong>Problem:</strong></p>
<p>File upload fails for files greater than 30MB.</p>
<p> </p>
<p><strong>Analysis:</strong></p>
<p>Several options were investigated including the following:</p>
<p> </p>
<ul>
<li>Maximum upload file size in ColdFusion (located in the CF administrator)</li>
<li>IIS time out settings </li>
<li>IIS minbytespersec settings in the Metabase.xml file</li>
</ul>
<p> </p>
<p>None of these worked. We also spoke with the ISP regarding throttling on the firewall, which was not the issue.</p>
<p> </p>
<p><strong>Resolution:</strong></p>
<p>The server was locked down as part of our security policy with UrlScan installed to mask certain server information. One of the settings in options in urlscan.ini is MaxAllowedContentLength which is set to 30MB by defualt. Here is an excerpt from the Technet article:</p>
<blockquote>
<div>MaxAllowedContentLength=30000000<br />
The MaxAllowedContentLength enforces a maximum value, in bytes, on the content length. It does not actually prevent the server from reading more data than what this value is set to. For example, if a client makes a chunk transfer encoded POST, this option does not track the size of the entity in the request. The default value is 30000000</div>
</blockquote>
<p>Increasing this value to 300MB allowed the uploads to work correctly. The full article can be found at <a href="http://technet.microsoft.com/en-us/library/cc751376.aspx">http://technet.microsoft.com/en-us/library/cc751376.aspx</a></p>
<p>Thanks goes to Rackspace UK technical support, even thought they didn't identify the exact problem, their input helped tremendously in finding a solution. Rackspace UK is the best dedicated hosting solution ever!</p>
<p>Happy Coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2009/02/file-upload-timeouts-on-iis-6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Folder permission not inherited by uploaded file in PHP/IIS</title>
		<link>http://thinkinglemur.com/index.php/2009/02/folder-permission-not-inherited-by-uploaded-file-in-phpiis/</link>
		<comments>http://thinkinglemur.com/index.php/2009/02/folder-permission-not-inherited-by-uploaded-file-in-phpiis/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 10:21:43 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=102</guid>
		<description><![CDATA[Scenario: The web application has two components, a private upload area and a public download area. To upload a file you must be logged in via HTTP Authentication in IIS (v6 on Windows 2003). The file is uploaded to a non-web accessible uploads folder. Downloads are public and are allowed for anyone who has the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Ffolder-permission-not-inherited-by-uploaded-file-in-phpiis%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F02%2Ffolder-permission-not-inherited-by-uploaded-file-in-phpiis%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Scenario:</strong></p>
<p>The web application has two components, a private upload area and a public download area. To upload a file you must be logged in via HTTP Authentication in IIS (v6 on Windows 2003). The file is uploaded to a non-web accessible uploads folder. Downloads are public and are allowed for anyone who has the unique file key that identifies a specific uploaded file. The IIS web user (the account that PHP uses) has full access to the uploads directory.</p>
<p> </p>
<p><strong>Problem:</strong></p>
<p>Files that are uploaded by authorised users cannot be downloaded in the public area.</p>
<p> </p>
<p><strong>Analysis:</strong></p>
<p>After close examination, it was noticed that the IIS user has no access to the uploaded files even though the user has full access to the uploads directory.</p>
<p> </p>
<p><strong>Resolution:</strong></p>
<p>By default PHP uploads all files to a directory identified by the upload_tmp_dir entry in php.ini, which on Windows systems defaults to C:\Windows\Temp, when the upload is completed the file is then moved to the target directory as specified by the upload script. The problem is actually with the way Windows handles security, the uploaded file gets the permissions of the Temp directory, when copied to the final directory, it keeps the permissions of the Temp directory and not the permissions of the final directory. That is, if the file is uploaded to Temp and the IIS web user does not have permissions on the Temp folder, when the file is copied to the uploads directory the IIS web user will still NOT have permissions on the file. The solution to the problem is actually quite simple, give the IIS web user the required permissions on the directory specified by upload_tmp_dir.</p>
<p> </p>
<p>I cannot take credit for this solution, however, I can't find the post that had this solution again. I will keep looking and post the link to the original post when I find it again.</p>
<p>Happy Coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2009/02/folder-permission-not-inherited-by-uploaded-file-in-phpiis/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Security is important!</title>
		<link>http://thinkinglemur.com/index.php/2009/01/security-is-important/</link>
		<comments>http://thinkinglemur.com/index.php/2009/01/security-is-important/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 10:45:35 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[Antivirus]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[conficker]]></category>
		<category><![CDATA[downandup]]></category>
		<category><![CDATA[trojan]]></category>
		<category><![CDATA[virus]]></category>
		<category><![CDATA[worm]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=78</guid>
		<description><![CDATA[I am guilty of an unforgiveable crime. I deployed an unsecured webserver and in IT that is THE ULTIMATE IN STUPIDITY! I am sorry and will not let it happen again. As a result the server was infected and became a zombie covertly attacking other servers.  The machine was infected with the Downandup/Conficker trojan. This [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F01%2Fsecurity-is-important%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F01%2Fsecurity-is-important%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I am guilty of an unforgiveable crime. I deployed an unsecured webserver and in IT that is THE ULTIMATE IN STUPIDITY! I am sorry and will not let it happen again. As a result the server was infected and became a zombie covertly attacking other servers. </p>
<p>The machine was infected with the Downandup/Conficker trojan. This attacks unpatched Windows servers deploys software that prevents the machine from visiting security related websites and running security software. The software also disabled automatic updates on the server, which is a big deal! It was very difficult to remove. In the end tools from McAfee, Norton, Microsoft got rid of the infection. See a list of software that was used to clean the machine below.</p>
<p>So here is a little information on securing a webserver on the cheap. Even though this is not the idea solution it will prevent all but the most determined attacks. All of these solutions are software based. I would recommend a hardware firewall but again, this is the el cheapo solution.</p>
<ul>
<li>Ensure that automatic updates are enabled and that the machine is currently updated with the latest OS patches.</li>
<li>Install a firewall. I've reviewed a few options but chose the Outpost Pro Firewall (<a href="http://www.agnitum.com/products/outpost/">http://www.agnitum.com/products/outpost/)</a> which was easy to set up, extremely intuitive, had a very good learning mode and was very affordable. It also includes an antispy and web protect component. The web component is used for web surfing, since this is for a web server, no one should be browsing the net from this machine! One configuration setting that is important is to set the firewall to run in stealth mode so it makes it look like the computer simply isn't there.</li>
<li>Install an antivirus program. This is optional in my opinion, if you are starting with a clean machine and have sufficiently protected it. However, it is a good idea to periodically run virus scans on the machine.</li>
</ul>
<div>These are very simple steps to help protect the machine but is by no means a perfect solution. Other things that need to be considered is web application security, which I will cover in another post. </div>
<p>A list of the software used to remove the infection:</p>
<ul>
<li>http://download.microsoft.com/download/4/A/A/4AA524C6-239D-47FF-860B-5B397199CBF8/windows-kb890830-v2.6.exe (Microsoft Malicious Software Removal Tool)</li>
<li><a href="http://www.symantec.com/security_response/writeup.jsp?docid=2008-112203-2408-99">http://www.symantec.com/security_response/writeup.jsp?docid=2008-112203-2408-99</a></li>
<li>CSI Prevx - This is a paid for tool, however, it detects an EXE file that is related to the infection that the above tools did not detect. In the free mode you can detect the file and manually delete it once you have run the products listed above.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2009/01/security-is-important/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Computer Security: Learning about botnets</title>
		<link>http://thinkinglemur.com/index.php/2009/01/computer-security-learning-about-botnets/</link>
		<comments>http://thinkinglemur.com/index.php/2009/01/computer-security-learning-about-botnets/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 15:21:50 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[Antivirus]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=76</guid>
		<description><![CDATA[TechRepublic had an interesting article on Botnets and Hosts file pharming. This is something that most people are unaware of while their computers are being silently used by remote attackers.  http://blogs.techrepublic.com.com/security/?p=738&#38;tag=nl.e036 There are a few tools that I would recommend getting Kaspersky Antivirus 2009 which is a pretty comprehensive threat protection suite.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F01%2Fcomputer-security-learning-about-botnets%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2009%2F01%2Fcomputer-security-learning-about-botnets%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>TechRepublic had an interesting article on Botnets and Hosts file pharming. This is something that most people are unaware of while their computers are being silently used by remote attackers. </p>
<p><a href="http://blogs.techrepublic.com.com/security/?p=738&amp;tag=nl.e036">http://blogs.techrepublic.com.com/security/?p=738&amp;tag=nl.e036</a></p>
<p>There are a few tools that I would recommend getting Kaspersky Antivirus 2009 which is a pretty comprehensive threat protection suite.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2009/01/computer-security-learning-about-botnets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows XP Professional does not load explorer.exe</title>
		<link>http://thinkinglemur.com/index.php/2008/09/windows-xp-professional-does-not-load-explorerexe/</link>
		<comments>http://thinkinglemur.com/index.php/2008/09/windows-xp-professional-does-not-load-explorerexe/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 21:49:35 +0000</pubDate>
		<dc:creator>Donnie Bachan</dc:creator>
				<category><![CDATA[Antivirus]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[windows virus removal sdfix xp malware trojan horse]]></category>

		<guid isPermaLink="false">http://thinkinglemur.com/?p=44</guid>
		<description><![CDATA[As one of two technical people at my company I am one of the people who gets called on whenever there is a hardware or software issue of any kind. We have tried to school our users on the dangers of attachments and have implemented software to attempt to prevent viruses entering the network but [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2008%2F09%2Fwindows-xp-professional-does-not-load-explorerexe%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fthinkinglemur.com%2Findex.php%2F2008%2F09%2Fwindows-xp-professional-does-not-load-explorerexe%2F&amp;source=thinkinglemur&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>As one of two technical people at my company I am one of the people who gets called on whenever there is a hardware or software issue of any kind. We have tried to school our users on the dangers of attachments and have implemented software to attempt to prevent viruses entering the network but sometimes they do slip through. Today I had a tough time diagnosing a problem with one of the machines running Windows XP Professional. </p>
<p>Initially, the computer was just very slow and started with pop ups so I followed the tried and true method of cleaning using Spybot Search &amp; Destroy, AdAware and HiJack This!. After running these three programs and restarting the desktop (i.e. explorer.exe) would not load at all, not even in Safe Mode. Needless to say, panic started to set in! We were running ClamWin on that specific machine and well, I hate to say this but, it is crap. It does not protect the computer actively and cannot remove many of the infections that were found on the system. So I put a proper antivirus program on there, Kaspersky 2009. This was able to find infections but could not remove a particularly troublesome one that was disguised as svchost.exe. So after browsing Google for a while I was able to find a reference to <a href="http://www.bleepingcomputer.com/forums/topic131299.html">SDFix.exe</a> which solved most of my problems. After downloading and following the instructions the desktop once again loaded and Kaspersky was able to destroy the other infections.</p>
<p>So I'm going to add SDFix to my arsenal of spyware removal tools and so should you!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinglemur.com/index.php/2008/09/windows-xp-professional-does-not-load-explorerexe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

