<?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>Ebusiness Technology &#187; Security</title>
	<atom:link href="http://www.ebusiness-technology.net/category/security/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ebusiness-technology.net</link>
	<description>Web development and Internet business technology</description>
	<lastBuildDate>Tue, 04 Oct 2011 19:18:42 +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>Are Social Bookmarking Buttons Hijacking AdSense Publisher IDs?</title>
		<link>http://www.ebusiness-technology.net/2010/security/are-social-bookmarking-buttons-hijacking-adsense-publisher-ids</link>
		<comments>http://www.ebusiness-technology.net/2010/security/are-social-bookmarking-buttons-hijacking-adsense-publisher-ids#comments</comments>
		<pubDate>Sun, 25 Apr 2010 23:10:02 +0000</pubDate>
		<dc:creator>annabelt</dc:creator>
				<category><![CDATA[Adsense]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Fraud]]></category>
		<category><![CDATA[Free Scripts]]></category>
		<category><![CDATA[Malware]]></category>
		<category><![CDATA[Third Party Javascript]]></category>

		<guid isPermaLink="false">http://www.ebusiness-technology.net/?p=218</guid>
		<description><![CDATA[Something has been hijacking the Adsense Publisher ID on some of my pageloads, inserting someone else's ID in the Google ads instead of mine and stealing Adsense revenue.  I've been investigating this with some members of the Google Help forums and the Fiddler HTTP debugger.]]></description>
			<content:encoded><![CDATA[<p>Something has been hijacking the Adsense Publisher ID on some of my pageloads, inserting someone else&#8217;s ID in the Google ads instead of mine.  I&#8217;ve been investigating this with some members of the Google Help forums and an HTTP debugger.<br />
<span id="more-218"></span><br />
It seemed to me as if a popular plugin for social bookmarking buttons was hijacking the Adsense IDs.  However, the jury is still out on who or what the cause is, because since publishing my original post, I have been in contact with AddToAny, who told me this:</p>
<blockquote style="font-weight: bold;"><p>
I can say with absolute certainty that AddToAny doesn&#8217;t run 3rd party<br />
ads at all (never has), and I think it&#8217;s unlikely that someone would<br />
try to hijack vicariously through our widget in particular.<br />
Technically, it wouldn&#8217;t work unless you&#8217;re using forked AddToAny<br />
code, but your requests seem to be from our CDN.
</p></blockquote>
<p>In which case, sorry AddToAny.  </p>
<p>So the investigation is continuing: something is hijacking publisher IDs and stealing Adsense. </p>
<p>I installed the AddToAny social bookmarking plugin on a different website about a month ago.  I would really like this not to be the culprit, because is it so useful. Here&#8217;s what happened:</p>
<p>A few weeks after installing it, I noticed something odd in <a href="http://www.statcounter.com">Statcounter</a>: under the &#8216;Exit Link Activity&#8217; option, Adsense exit links were showing up with someone else&#8217;s Adsense Publisher ID.  The rogue Adsense ID I found was this one: <code style="font-weight: bold;">ca-pub-7957824725474864</code></p>
<p>I checked in Adsense, and obviously the clicks from my site with the other publisher id had not been recorded there.</p>
<p>Here is a screenshot from Statcounter (sitename removed), showing the beginning of the exit link with someone else&#8217;s publisher ID: </p>
<div id="attachment_234" class="wp-caption aligncenter" style="width: 609px"><a href="http://www.ebusiness-technology.net/2010/e-business/adsense/are-social-bookmarking-buttons-hijacking-adsense-publisher-ids/attachment/statcounter-exit-links/" rel="attachment wp-att-234"><img src="http://www.ebusiness-technology.net/wp-content/uploads/2010/04/statcounter-exit-links.gif" alt="Statcounter exit links showing the rogue Adsense Publisher ID" title="Statcounter exit links showing the rogue Adsense Publisher ID" width="599" height="35" class="size-full wp-image-234" /></a><p class="wp-caption-text">Statcounter exit links showing the rogue Adsense Publisher ID</p></div>
<p>The visitor had come in from a normal Google search to a landing page on my website, and appeared to have left from a page on my website, as opposed to a page that was saved to someone&#8217;s desktop.</p>
<p>I went to the page itself and reloaded it a few times to check the Adsense, but everything looked normal, both on the page and in the HTML source code.</p>
<p>Next I checked the Adsense code that was set up on my website, but again, everything was as normal.</p>
<p>So I did a search to see if anyone else had experienced this, and found <a href="http://www.google.com/support/forum/p/AdSense/thread?tid=21e2dbb9b2c631e5&#038;hl=en">this thread on Google Help forums</a>.  Not only was someone else experiencing the same thing, but with the same other person&#8217;s Adsense publisher ID.</p>
<p>Like the original poster, I reported this to Google AdSense.  They replied that any extra ads on my site were placed without their knowledge, I should take security precautions (which I have) and that they would investigate this, but wouldn&#8217;t be able to tell me any of the results they found.</p>
<p>Meanwhile, on the Google forums, people were very helpful.  Various causes were suggested for the rogue ID, including:</p>
<ul>
<li>stealware in browser toolbars and third party applications on the visitors&#8217; PCs (see <a href="http://www.afterdawn.com/news/article.cfm/2002/09/30/kazaa_bearshare_morpheus_and_limewire_are_stealing_from_websites"> this post</a> about stealware in peer to peer file sharing programs, </li>
<li>pages loading in iframes, </li>
<li>adsense and banner advertising manager programs, </li>
<li>and third party javascript scripts.  </li>
</ul>
<p>Apparently it is well known for &#8216;stealware&#8217; programs to hijack ids for affiliate marketing, although I could not find a reference to them hijacking Adsense.</p>
<p>There was a link to the <a href="http://www.jensense.com/">Jensense Adsense blog</a>, describing a Tell a Friend script that was inserting Adsense ads at the bottom of web pages: <a href="http://www.jensense.com/archives/2005/07/using_a_third_p.html">http://www.jensense.com/archives/2005/07/using_a_third_p.html</a> </p>
<p>The original poster and I established that our websites were running on different software (one WordPress, one Joomla), with different advertising programs (Advertising Manager and Banners Manager).  The original poster had uninstalled Advertising Manager a month ago and had not seen the rogue ID since then, but I was not using Advertising Manager.  However, one thing we did have in common (apart from Statcounter and Adsense) was the AddToAny social bookmarking code.  The original poster had the AddToAny WordPress plugin, and I had the version for other websites.</p>
<p>Although it is very popular, this plugin had also been criticised in the WordPress forums for nondisclosure of privacy issues: <a href=" http://wordpress.org/support/topic/364390?replies=17">http://wordpress.org/support/topic/364390?replies=17</a>, and in Futtta&#8217;s technology blog post &#8216;<a href="http://blog.futtta.be/2010/01/22/add-to-any-removed-from-here/">AddtoAny Removed from here</a>&#8216;.</p>
<p>So because of the timing, with it being the most recent thing I had installed, the privacy concerns and because it was one of only three scripts our sites had in common (Adsense, AddToAny and Statcounter), we were starting to wonder about it.  But I was still not convinced it was a script on the page, because I hadn&#8217;t seen it in action, apart from exit clicks reported after the fact in Statcounter.</p>
<p>One of the helpful people who answered on the thread suggested reloading the page 5 or 10 times and checking the source code, as many third party scripts are up to similar tricks.  So I tried, and found nothing, then tried again while running the <a href="http://www.fiddler2.com/Fiddler2/version.asp">Fiddler HTTP debugging tool</a>, and I found something very very sneaky.  </p>
<p>On the fifth pageload, the HTTP requests appeared the same at first.  I could see the adsense loading with my own publisher ID.  I could see the AddToAny button code loading, then Google Analytics, which I don&#8217;t use on that website, and then something from media6degrees.com, the website discussed in the WordPress privacy thread.  All of these sources were the same each time the page loaded, but on the fifth pageload, after the last line of that code there was a new line, inserting Google Adsense code with the rogue publisher ID.  Here is the section with the AddToAny HTTP requests:</p>
<p><strong>The HTTP request URLs:</strong></p>
<div id="attachment_235" class="wp-caption aligncenter" style="width: 524px"><a href="http://www.ebusiness-technology.net/2010/e-business/adsense/are-social-bookmarking-buttons-hijacking-adsense-publisher-ids/attachment/http-requests/" rel="attachment wp-att-235"><img src="http://www.ebusiness-technology.net/wp-content/uploads/2010/04/http-requests.gif" alt="HTTP Debugging: URLs requested" title="HTTP Debugging: URLs requested" width="514" height="123" class="size-full wp-image-235" /></a><p class="wp-caption-text">HTTP Debugging: URLs requested</p></div>
<p>The bottom line shows Adsense being reloaded with someone else&#8217;s publisher ID instead of mine.</p>
<p><strong>The body size, caching and content types:</strong></p>
<p>Next I wanted to compare the caching and content types for the rogue adsense with my genuine adsense, to see if there were any more clues there.</p>
<p>(The first line on the white background below is from my genuine adsense, to show how the rogue version (the last line in blue) is comparable in size and content):</p>
<div id="attachment_236" class="wp-caption aligncenter" style="width: 635px"><a href="http://www.ebusiness-technology.net/2010/e-business/adsense/are-social-bookmarking-buttons-hijacking-adsense-publisher-ids/attachment/body-caching-content/" rel="attachment wp-att-236"><img src="http://www.ebusiness-technology.net/wp-content/uploads/2010/04/body-caching-content.gif" alt="HTTP Debugging: Content types and caching" title="HTTP Debugging: Content types and caching" width="625" height="161" class="size-full wp-image-236" style="border: 1px solid black;" /></a><p class="wp-caption-text">HTTP Debugging: Content types and caching</p></div>
<p>Both have a same day expiry date, type of &#8216;text/html&#8217; and size of around 4300.<br />
From the similarities between the two requests, it looks as if Adsense is being completely reloaded, with the other publisher ID.</p>
<p><strong>The URLs (my site and directory names changed):</strong></p>
<p>Here are the full URLs requested in that section,  (names changed again):</p>
<div style="margin: 15px; padding: 15px; border: 1px solid black; font-size: 90%;">
<code>http://static.addtoany.com/buttons/share_save_171_16.png</code><br />
<code>http://static.addtoany.com/menu/transparent.gif</code><br />
<code>http://static.addtoany.com/menu/sm1.html</code><br />
<code>http://static.addtoany.com/menu/icons_19.png</code><br />
<code>http://www.google-analytics.com/__utm.gif?&#038;utmwv=4.6.5&#038;a2a&#038;utmn=4149404286&#038;utmhn=www.mysite.co.uk&#038;utmt=event&#038;utme=5(Share%20menu*TestHit1)&#038;utmcs=iso-8859-1&#038;utmsr=1280x1024&#038;utmsc=32-bit&#038;utmul=en-us&#038;utmdt=Weddings%20-%20Special%20Events%20-%20My%20Directory&#038;utmhid=4149404286&#038;utmr=-&#038;utmp=/mysitedirectory/special-events/weddings/&#038;utmac=UA-1244922-3&#038;utmcc=__utma%3D3411996521.1303784683.1272227757.1272228778.1272229292.5%3B%2B__utmz%3D3411996521.1272229292.5.1.utmcsr%3D(direct)<br />%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B</code><br />
<code>http://map.media6degrees.com/orbserv/hbpix?pixId=2869&#038;curl=http%3A%2F%2Fwww.mysite.co.uk%2Fmysitedirectory%2Fspecial-events%2Fweddings%2F<br />
</code><br />
<strong>The inserted adsense:</strong><br />
<code>http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-7957824725474864&#038;format=468x60_as&#038;output=html&#038;h=60&#038;w=468&#038;lmt=1272229292&#038;channel=2542620937&#038;ad_type=text_image&#038;color_bg=FFFFFF&#038;color_border=FFFFFF&#038;color_link=191970&#038;color_text=000000&#038;color_url=006644&#038;flash=10.0.32.18&#038;url=http%3A%2F%2Fwww.mysite.co.uk%2Fmysitedirectory%2Fspecial-events%2Fweddings%2F&#038;ui=undefined&#038;dt=1272229292156&#038;shv=r20100414&#038;correlator=1272229287250&#038;frm=0&#038;ga_vid=1774231493.1272229290&#038;ga_sid=1272229290&#038;ga_hid=582968367&#038;ga_fc=0&#038;u_tz=-420&#038;u_his=0&#038;u_java=1&#038;u_h=1024&#038;u_w=1280&#038;u_ah=994&#038;u_aw=1280&#038;u_cd=32&#038;u_nplug=0&#038;u_nmime=0&#038;biw=1259&#038;bih=800&#038;fu=0&#038;ifi=1&#038;dtd=109&#038;xpc=ZtxUdmoqKN&#038;p=http%3A//www.mysite.co.uk</code>
</div>
<p>It looked suspicious to me, seeing the Adsense being reloaded like that right after the AddToAny code, as if either AddToAny was doing it, or something was hijacking AddToAny for this purpose, or something else was hiding itself by appearing immediately afterwards to look like part of the AddToAny code.</p>
<p>The sneakiest thing was that when I looked in my HTML source file, everything still looked normal: the rogue ID was not there.  So many people who had concerns about missing Adsense clicks or strange exit links would check the HTML view of their page and not see anything.</p>
<p>But I have no doubt that if I clicked on that ad, the rogue ID would appear in the exit link in Statcounter and nothing would show up in my adsense account. </p>
<p>I spent some time trying to get it to show up again so that I could test that out (after all it wouldn&#8217;t technically be an invalid click would it!). When I was testing the rogue ads didn&#8217;t appear again, but then looking back through the Fiddler logs I saw that sometimes they appeared later, after a second call to Google Analytics (which I don&#8217;t use on that site), so there may be an occasional time delayed attack as well.</p>
<p>I also checked my server access logs for the visit when the rogue link was clicked, but nothing unusual showed up, presumably because it was all requested from other websites.  In any case, I did not see anything else unusual going on.</p>
<p>Next I wondered if this was something I had missed that was authorised somewhere in the AddToAny terms, although I know I checked them at the time.  Google forum member Steven G had seen such provisions for hijacking publisher IDs left out of the agreements by third party scripts, but listed in FAQs, or even the manual (as he put it, a great place to hide it!).  Steven G discusses this more in his <a href="http://thepayperclickblogger.blogspot.com/2010/04/has-your-earnings-been-hijacked-by.html">pay per click blog</a>.</p>
<p>Checking the AddToAny terms, there is nothing mentioned about <a href="http://www.ebusiness-technology.net/category/e-business/adsense/">Adsense</a>, or revenue sharing.  I couldn&#8217;t find the manual, but in their FAQ it specifically states:  </p>
<blockquote><p>
<strong>Does this service cost anything?</strong><br />
AddToAny is free, and always will be.
</p></blockquote>
<p>AddToAny also confirmed to me that they do not run third party advertising, and they did not believe that their plugin could have been hijacked in this way.</p>
<p>Well it&#8217;s true that it&#8217;s free, as are all the scripts on that website, but if any free script is the culprit, it is certainly costing me something, along with many of its other users. </p>
<p>As Steven G put it,<br />
<blockquote>As long as people monetize their sites and have no choice but to trust the scripts they install to do certain things, there will be programmers to offer their scripts that hijack a portion of your earnings.</p></blockquote>
<p> &#8211; and also hackers taking advantage of another doorway into your system: cross site scripting only works if there is a way in.</p>
<p>In the case of some scripts, the user base is enormous, eg here are the download statistics for AddToAny&#8217;s WordPress plugin:</p>
<div id="attachment_261" class="wp-caption aligncenter" style="width: 574px"><a href="http://www.ebusiness-technology.net/2010/e-business/adsense/are-social-bookmarking-buttons-hijacking-adsense-publisher-ids/attachment/addtoany-wordpress-plugin/" rel="attachment wp-att-261"><img src="http://www.ebusiness-technology.net/wp-content/uploads/2010/04/addtoany-wordpress-plugin.png" alt="AddToAny WordPress Plugin Download Statistics" title="AddToAny WordPress Plugin Download Statistics" width="564" height="699" class="size-full wp-image-261" /></a><p class="wp-caption-text">AddToAny WordPress Plugin has been downloaded 880,378 times in the last 2 years</p></div>
<p>The annoying thing is that if I knew one of the scripts was going to do this (and only this), as long as it was ok with the Google Adsense terms, it would have been ok with me. They could have been upfront about some kind of <a href="http://www.ebusiness-technology.net/2009/web-trends/web-2-0/sharing-profit-from-adsense-on-a-community-website/">Adsense revenue sharing arrangement</a>, and I would probably have agreed to it, for a useful plugin.  But as it is, I don&#8217;t know what else it might come up with, because whatever is happening here is dishonest.  </p>
<p>However, having been in contact with AddToAny, I don&#8217;t believe they are the ones who are being dishonest, in spite of the coincidences implicating their button code, or other services it uses.  </p>
<p>But there are still other possibilities.</p>
<p>Firstly, the two remaining scripts should be considered, ie Google Adsense and Statcounter.</p>
<h3>Statcounter</h3>
<p>It&#8217;s obvious that Statcounter itself is not doing this: for one thing, if they were, they would be able to hide it from the website statistics!</p>
<p>It does not seem very likely to me that Statcounter is involved via hijacking either, firstly because their code loaded after the rogue Adsense, and secondly because the reloaded Adsense always appeared after a call to Google Analytics.  Why would something that hijacked Statcounter make itself more noticeable by calling Google Analytics, which would probably not be installed if Statcounter was there.</p>
<p>Also, the other site owner had posted in Statcounter forums, including the rogue Adsense ID.</p>
<h3>Google Adsense </h3>
<p>The final script that my site had in common with the other site that found the rogue Adsense Publisher ID was Google Adsense itself, and as a third party script that loads code from another website into the page, it also has to be considered.</p>
<p>Obviously there&#8217;s no way Google itself is doing this.  It just wouldn&#8217;t make sense for Google to be jeopardising the service it provides to its Adwords customers by fraudulently loading Adsense units twice on one pageload.</p>
<p>Would it make sense for an Adsense ad to include a script that inserted a different publisher ID?  Well it wouldn&#8217;t make sense to do it with their own ads, since they&#8217;d be paying more for the user to click it than they&#8217;d get for having it fraudulently clicked.  </p>
<p>But would they make a profit if their ad caused Adsense to reload with a different ad including a publisher ID that they would profit from?  They would have a lot of impressions, with no clicks on their own ads, and profit from clicks on other ads that should have been earned by the website owner.  I just can&#8217;t see them getting away with that from Google.</p>
<h3>Ads Serving Malware</h3>
<p>There have been security bulletins for a long time warning of malware being hidden in Flash adverts and other hotlinked graphics files, exploiting unpatched vulnerabilities in certain software and browser plugins.</p>
<p>Over the last few weeks, there have also been discussions online about malware being served through third party ad networks provided through Adsense.</p>
<p>Here&#8217;s a post from six weeks ago about <a href="http://www.sitesecuritymonitor.com/blog/?Tag=google+adsense">malware being served by ad networks</a>, including ad networks including Google Adsense, Adultadwords, and Adbrite.  There&#8217;s also a Google Help forum thread from today about websites and visitors being attacked by malware served by advertisers in third party networks supplied by Adsense. <a href="http://www.google.com/support/forum/p/AdSense/thread?tid=420c791905c1c74d&#038;hl=en">http://www.google.com/support/forum/p/AdSense/thread?tid=420c791905c1c74d&#038;hl=en </a></p>
<p>The <a href="http://www.anti-malvertising.com/">Anti-Malvertising</a>  website (http://www.anti-malvertising.com/) is a useful resource for those dealing with malware and malvertising.</p>
<h3>Browser Vulnerabilities</h3>
<p>Another possibility to consider is unpatched vulnerabilities in Internet Explorer 8, since all the rogue exit links were clicked by visitors with Internet Explorer 8.  However, many visitors do use Internet Explorer 8, and the number of rogue exit links we have visitor data for is too small to generalise from.  I&#8217;ve also only been able to use the HTTP debugger with IE 8.  So it&#8217;s a possibility to consider, but not at all conclusive (as it seems to be with all the options so far).</p>
<p>In the meantime, I have uninstalled the AddToAny code and disabled third party ad serving networks through Adsense (this is done by disabling image ads via your Adsense &#8216;My Account&#8217; page).  I am continuing to monitor my pageloads, so if I see the rogue ID without these being installed I will post it here immediately.</p>
<p>If anyone has found similar exit link activity, found this publisher ID elsewhere, or has more suggestions about this, please do post a comment below.</p>
<p><a href="http://www.ebusiness-technology.net/2010/e-business/adsense/are-social-bookmarking-buttons-hijacking-adsense-publisher-ids/#respond">(Click for comments)</a><!--more--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ebusiness-technology.net/2010/security/are-social-bookmarking-buttons-hijacking-adsense-publisher-ids/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>My Joomla Website was Hacked &#8211; Here&#8217;s What I Did Next</title>
		<link>http://www.ebusiness-technology.net/2010/security/my-joomla-website-was-hacked-heres-what-i-did-next</link>
		<comments>http://www.ebusiness-technology.net/2010/security/my-joomla-website-was-hacked-heres-what-i-did-next#comments</comments>
		<pubDate>Tue, 05 Jan 2010 07:52:36 +0000</pubDate>
		<dc:creator>annabelt</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[hacked]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[website security]]></category>

		<guid isPermaLink="false">http://www.ebusiness-technology.net/?p=136</guid>
		<description><![CDATA[When my Joomla website was hacked with rogue javascript, it was done unobtrusively: no massive deleting of files, or 'pwned' claims on the home page.  So it was obviously done for a hidden, longer term purpose, rather than to take the site down, and that worried me.  Could it be rescued?]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 1em;">
When my Joomla website was hacked with rogue javascript, it was done unobtrusively: no massive deleting of files, or &#8216;pwned&#8217; claims on the home page.
</p>
<p>So it was obviously done for a hidden, longer term purpose, rather than to take the site down, and that worried me too.  Could it be rescued?</p>
<p>This is a long post, detailing the steps I took to trace the problem, minimise the damage and rescue the website, so the steps I took are linked in <a href="http://www.ebusiness-technology.net/2010/security/my-joomla-website-was-hacked-heres-what-i-did-next/#step-by-step">this step-by-step list</a>:<br />
<span id="more-136"></span></p>
<div style="clear: left; margin-top: 30px; padding: 10px; border: 1px solid #999;">
<h3 style="margin-top: 1em;" id="step-by-step">Hacked Joomla Website: What I Did, Step-by-Step</h3>
<ol id="step-by-step" style="margin-top: 1em;">
<li><a href="#discover-website-hacked">How I noticed something was wrong</a></li>
<li><a href="#microsoft-security-warning">What is Microsoft &#8216;Remote Data Services Data Control&#8217;?</a></li>
<li><a href="#http-debugging">HTTP Debugging with Fiddler</a></li>
<li><a href="#fake-websites">&#8216;Yourgoogleanalytics&#8217; and &#8216;Statscounter&#8217;??</a></li>
<li><a href="#rogue-javascript">Checking the Javascript files</a></li>
<li><a href="#minimise-damage">Preventing further infection</a></li>
<li><a href="#web-hosting">Telling the Web Hosting Provider</a></li>
<li><a href="#virus-checking">Checking my Desktop PC</a></li>
<li><a href="#web-hosting-security">Securing the Web Hosting Account</a></li>
<li><a href="#tracing-hacking-attempts">Tracking Down Hacking Attempts</a></li>
<li><a href="#test-website-online">Online Tests for Malware in a Website</a></li>
<li><a href="#google-malware-warning">Removing Google&#8217;s &#8216;This site may harm your computer&#8217; Warning</a></li>
<li><a href="#website-security-links">Links: Website Security</a></li>
<li><a href="#joomla-security-links">Joomla Security Links</a></li>
</ol>
</div>
<h3 id="discover-website-hacked">How I noticed something was wrong</h3>
<p>Because I usually use Firefox, which hadn&#8217;t had any problems with the site, I only realised my site was hacked when I tested a new page in Internet Explorer 8.  There was an error message I hadn&#8217;t seen before.</p>
<p>The message said, &#8216;This website wants to run the following add-on: &#8216;Remote Data Services Data Control&#8217; from &#8216;Microsoft Corporation&#8217;. If you trust the website and the add-on and want to allow it to run, click here&#8217;.</p>
<p><img class="size-full wp-image-153" title="remote-data-services-message" src="http://www.ebusiness-technology.net/wp-content/uploads/2010/01/remote-data-services-message.gif" alt="Microsoft Remote Data Services Data Control message" width="550" height="34" /></p>
<p>Now this website and I have been through stormy times together. If I&#8217;ve ever made a lot of sales calls, spent a whole day cold calling at trade shows, or I&#8217;m at home with flu and a hyperactive toddler, that&#8217;s the day the site will crash.  True to form, I had just applied to some new affiliate programs and was about to stop work for the day and start cooking for my son&#8217;s 4th birthday party.  So did I trust this website?  Erm&#8230;</p>
<p>At first, I thought maybe there was a script I hadn&#8217;t noticed in some content I had just added from Wikipedia, so I checked the source code, but I didn&#8217;t see anything unusual there. I browsed to other pages on the same website, and then back again, and didn&#8217;t see it again.  I wondered if it was something left over from my MSN Internet Explorer home page, so I went back to that and it wasn&#8217;t there.  Then I went back to the same page, and there it was again.</p>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="microsoft-security-warning">What is Microsoft &#8216;Remote Data Services Data Control&#8217;?</h3>
<p>I tried searching for &#8216;Remote Data Services Data Control&#8217;, assuming it was some kind of Microsoft script, and found a post on <a href="http://groups.google.com/group/microsoft.public.security/msg/8e77eeb2dfb16064?dmode=source&amp;pli=1">a Microsoft Security newsgroup</a> leading to this <a href="http://msmvps.com/blogs/hostsnews/archive/2007/09/13/can-you-spot-the-fake.aspx">&#8216;Can You Spot the Fake?&#8217; post on Hosts News</a>, warning, </p>
<blockquote><p>&#8216;any time you see that warning &#8220;Remote Data Services Data Control&#8221; watch out! &#8230; this is NOT from Microsoft! This is the generic warning IE7 throws up when an exploit is trying to enter the system.&#8217;</p></blockquote>
<p>Starting to feel alarmed, I following a trackback from Hosts News to the post that saved my day (though ruining my night first <img src='http://www.ebusiness-technology.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  ) : the Little Big Tomatoes post <a href="http://www.littlebigtomatoes.com/blog/general/the-one-with-the-evil-jscript-on-my-blog">The one with the evil jscript on my blog</a>.</p>
<div class="page-break"></div>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="http-debugging">HTTP Debugging with Fiddler</h3>
<p>The hacked site there appeared to be WordPress based, but the errors looked similar.  The post showed a useful <a href="http://www.fiddler2.com/fiddler2/">free web debugging tool called Fiddler</a>, which logs all HTTP(S) traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP(S) traffic, set breakpoints, and &#8220;fiddle&#8221; with incoming or outgoing data. There&#8217;s an <a href="http://www.fiddler2.com/fiddler/help/video/FiddlerQuickStart.wmv">instruction video for Fiddler here</a>.</p>
<p>So I downloaded Fiddler and ran it. I&#8217;d never run Fiddler before, but when I loaded the web page again in Internet Explorer, Fiddler picked it up automatically.  So I looked down the list of http requests, and in the middle of my normal HTTP requests (site name blocked out) I found these (don&#8217;t go to any URLs listed here!):</p>
<p><img class="size-full wp-image-154" title="javascript-infection-http" src="http://www.ebusiness-technology.net/wp-content/uploads/2010/01/javascript-infection-http.gif" alt="HTTP requests with unfamiliar domain names inserted" width="550" height="152" /></p>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="fake-websites">&#8216;Yourgoogleanalytics&#8217; and &#8216;Statscounter&#8217;???</h3>
<p>Looking down the list, I saw &#8216;statscounter&#8217; and did a double take: I do use <a href="http://www.statcounter.com">Statcounter for website statistics</a>, but here it&#8217;s misspelt, and I hadn&#8217;t used Google Analytics at all, so that was another red flag.  Some Google Adsense HTTP requests appeared around the same time, but it just looked dodgy.  Was this really something Google Adsense did?</p>
<p>The next requests, for &#8216;dos.ms&#8217; were completely unfamiliar, and called PHP scripts called &#8216;redir.php&#8217; and &#8216;in.php&#8217;, whose names alone sounded worrying. I wondered: shouldn&#8217;t hackers have called them something less sinister, perhaps kittens.php and flowers.php?  Or had they just stopped pretending?  Most of all, I wondered what was going on with my website.</p>
<p>I should say at this point that the website often needs work and doesn&#8217;t get much traffic (a good thing, for once).   In  the words of Courtney Tuttle, it&#8217;s a <a href="http://courtneytuttle.com/2008/03/06/starting-a-blog-that-isnt-a-time-sucking-money-pit/">time sucking money pit</a>.   But I leave my money pits on my own terms, thanks.<br />
So there weren&#8217;t any visitors right then and I thought I had a bit more time to figure out what was going on.</p>
<p>I searched for &#8216;yourgoogleanalytics&#8217;, and found nothing for &#8216;yourgoogleanalytics.us&#8217;, but there were posts about &#8216;yourgoogleanalytics.cn&#8217; on Google&#8217;s support forum from a site using Microsoft software, with a <a href="http://www.google.com/support/forum/p/Webmasters/thread?tid=6251c58ec830a184&amp;hl=en#all">useful answer about rogue javascript added to external .js files</a>:</p>
<blockquote><p>&#8220;Have you looked at the code in menus/milonic_src.js ?</p>
<p>What do you suppose is the long line starting with this:  document.write(unescape(&#8216;%3C%69%66%72%61%6D%65%20%73%72%63%3D  ?</p>
<p>I suggest you check all of your external javascript js files for code tampering.&#8221;</p></blockquote>
<p>More reading turned up a couple more examples of obfuscated javascript being added to js files, creating invisible (0 x 0 dimensional) iframes, which would then call php files on other domains to pull in dodgy code such as trojan downloaders.</p>
<p><a href="http://www.martinsecurity.net/2009/07/31/real-host-latvia-rbn-resurgence-or-clone/">Andrew Martins security blog</a> lists the yourgoogleanalytics.us domain as being used for &#8216;Money Mule Recruiting&#8217;, and gives an example of Money Mule Recruiting on a related domain:</p>
<blockquote><p>&#8220;During the trial period (1 month), you will be paid 2000 USD per month<br />
while working on average 3 hours per day, Monday-Friday, plus 5<br />
commission from every transactions or task received and processed. The<br />
salary will be sent in the form of wire transfer directly to your<br />
account. After the trial period your base pay salary will go up to<br />
3,500USD per month, plus 5 commission.&#8221;</p></blockquote>
<p>I couldn&#8217;t see my visitors falling for that, so I hoped if it was hacked it was for money mule recruitment rather than the various trojans and downloaders that were mentioned on other sites as possibilities.</p>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="rogue-javascript">Checking the Javascript files</h3>
<p>My site has a lot of javascript files, so I thought the best place to start looking for this would be the file Fiddler reported just before the odd domain names: moscom.js, moscom.jquery.js, and moscom.ui.tabs.js, which were all part of a comments extension I had installed a few weeks earlier.</p>
<p>So I downloaded those three files, and checked them one by one in Notepad, and when I got to the top of moscom.jquery.js, there it was:</p>
<blockquote><p><code>document.write(unescape('%3C%69%66%72%61%6D%65%20%73 ...</code> and so on.</p></blockquote>
<p>I didn&#8217;t know if the file had always been like that, but that line of code appeared before the header section with the package and file names and looked very suspicious, so that was enough for me: it was clear the website had been hacked.</p>
<p>I felt awful, thinking of people visiting my website, and being at risk from trojans and viruses.</p>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="minimise-damage">Preventing further infection</h3>
<p>I didn&#8217;t want to be infecting my visitors with malicious downloads, so I took the site offline via the Global Configuration settings.</p>
<p>I set off a backup of the database and files, in case uninstalling or repairing anything might trigger off some kind of malicious code.  Then I noticed that the backup program itself was trying to access the malicious files, so I stopped it and downloaded the files and database separately.</p>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="web-hosting">Telling the Web Hosting Provider</h3>
<p>Then I emailed my web hosting provider, told them the situation, and apologised for the inconvenience.  I told them that I had identified the infected files and taken the website offline to visitors, and that I would be uninstalling the infected components and upgrading everything that needed upgrading.</p>
<p>I also asked them to let me know if they could please check for anything they knew of that could have got the javascript into the site, so I could prevent it from happening again.</p>
<p>I was pretty nervous about this, having heard of other hosts deactivating hacked accounts, and I stared at the backups, willing them to go faster&#8230;</p>
<p>That didn&#8217;t work.  My web hosts were really helpful though, and sent me this reply:</p>
<blockquote><p>&#8220;It appears that your site has been subject to an attack via a method known as script injection. Typically, this works by forcing a site to execute code when it was expecting to process another input, fake .txt files are often used for this purpose.</p>
<p>Because script injection attacks the site code itself, it is able to completely avoid webserver security. Unfortunately, some content management systems (especially older versions of Joomla) are extremely susceptible to this form of attack.</p>
<p>Here&#8217;s the best way to get your site back up and running:</p>
<ol>
<li>Begin by clearing out your public_html directory, ensuring no anomalous files or hidden files are left, this way you know that any backdoors the hacker might have left in are completely eradicated.</li>
<li>Change any passwords relating to the site, along with the ftp password.</li>
<li>At this point we can turn scripting back on for you &#8211; as the hacker&#8217;s entryway is now gone.</li>
<li>Restore the site from your last known good backup.</li>
</ol>
<p>If you feel confident removing this infection by hand, please inform us when the site is completely clean and we will turn it back on for you. However, if the infection does recur, we would ask that you completely clear the public_html directory before we reactivate the site again.</p>
<p>I would also suggest contacting the author of the script as it appears there maybe some security issues with the code. &#8220;</p></blockquote>
<p>Script injection?  I&#8217;d heard of cross site scripting, and SQL injection (see <a href="http://www.bobby-tables.com">the &#8216;Bobby Tables&#8217; cartoon about this</a>), but not script injection.  A quick look at the <a href="http://en.wikipedia.org/wiki/Code_injection">Wikipedia page</a> told me that script injection (or code injection) is the more general name for the type of website hacking that adds extra code to a computer program, and can be accomplished using cross site scripting or SQL injection, among other methods.</p>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="virus-checking">Checking my Desktop PC</h3>
<p>I&#8217;d like to say the next thing I did was to run the virus and spyware checker on my local PC.  But in fact, I changed all my hosting account&#8217;s FTP and database passwords, and then thought, &#8220;What if I have keylogger spyware on my local PC&#8230;?&#8221;  Then I ran the virus and spyware checker on my desktop PC and changed my passwords all over again.</p>
<p>When your website has been hacked, your desktop PC&#8217;s security is easy to overlook (apparently!), but can be crucial.  This post from Brian Teeman&#8217;s blog discusses <a href="http://brian.teeman.net/internet-applications/joomla-web-site-hacked.html">why it&#8217;s important to consider keylogging trojans and viruses when dealing with hacked Joomla sites</a>.</p>
<p>Checking on the Joomla security forums (the <a href="http://forum.joomla.org/viewforum.php?f=267">Joomla 1.0.x security forum</a> and the <a href="http://forum.joomla.org/viewforum.php?f=432">Joomla 1.5.x security forum</a>), I found advice to check the desktop PC with several different antivirus and spyware tools, as each of them might miss something different.</p>
<p>I was able to run AVG antivirus, PC Tools Anti-virus, and Lavasoft&#8217;s Ad-Aware.  I also tried Kaspersky, but it wouldn&#8217;t install because it found remnants of an old AVG version, which I couldn&#8217;t find and couldn&#8217;t uninstall.</p>
<p>Some more recommended security tools can be found listed here:</p>
<h3>Free virus checkers:</h3>
<ul>
<li><a href="http://free.avg.com/download">AVG free anti virus</a></li>
<li><a href="http://housecall.trendmicro.com/">House Call </a></li>
<li><a href="http://www.bitdefender.com/scan8/ie.html">Bit Defender</a></li>
<li><a href="http://www.kaspersky.com/virusscanner">Kaspersky</a></li>
<li><a href="http://support.f-secure.com/enu/home/ols.shtml">F-Secure</a></li>
<li><a href="http://www.pctools.com/free-antivirus/download/">PC Tools free antivirus for Windows XP and Vista</a></li>
</ul>
<p>I ran the quick check first, then the thorough ones, but my desktop PC was apparently ok.</p>
<p>I also discovered Secunia&#8217;s <a href="http://secunia.com/vulnerability_scanning/online/?task=load">free check for vulnerable software on desktop computers</a>.</p>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="web-hosting-security">Securing the Web Hosting Account</h3>
<p>Just in case, I had changed the FTP and database passwords again, because it was easy to do.  Looking through the files, I didn&#8217;t find any others that were infected, but wasn&#8217;t convinced they were safe either.  I didn&#8217;t see anything else like the encrypted Javascript, but neither do I know every line of code like the back of my hand.</p>
<p>So I decided that in the long run it might be quicker to take the drastic route.  I uninstalled the infected component first, then deleted all the files.  While the files were deleting, I used phpMyAdmin to export a text file of the database, and I searched it for anything I could think of that had been out of place so far.</p>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="tracing-hacking-attempts">Finding the Vulnerabilities</h3>
<p>Obviously, I wanted to avoid this happening again, so it would help to know how the hackers got in.</p>
<p>I&#8217;d added extra code to my php.ini and .htaccess files that was recommended on the Joomla Security forums for blocking common exploits, so I&#8217;d thought my site would be safer than most, but apparently part of it wasn&#8217;t. So where was the problem, and how could I track it down?</p>
<p>The first place I looked was in the new component with the infected files. The infected files had the same date stamp as the others from the same component, so either they were infected on the day I installed them, or the date of hacking had been hidden.  So I checked the same file in the installation package, and the rogue javascript wasn&#8217;t there.</p>
<p>I emailed the author anyway, as advised by my web host, and eventually received a reply telling me not to store my files with permissions set to world writable.  Ok, that&#8217;s valid advice, except that wasn&#8217;t what happened and I don&#8217;t know why he thought it was.</p>
<p>Another place where I have often seen hacking attempts is the Friendly URLs list of my Search Engine Friendly (SEF) URLs program.  When hacking attempts arrive via the browser URL, they are not known URLs, so the SEF program makes FURLs for them.  In the past I&#8217;ve often checked through these to see which components are being targeted, but this time I&#8217;d recently cleared them out and deleted the invalid FURLS.  So I didn&#8217;t find anything there.</p>
<p>The next thing I did was to download the access and error logs from my web hosting server.  All I found from the error logs was that one of my graphics files was missing.  The access logs were long text files, but only went back to about 5 days after I installed the files that became infected.</p>
<p>I started looking back through them.  I&#8217;ve seen SQL injection attempts in my access logs in the past, and there was one almost immediately in the most recent log file.  But when I looked up references to SQL injection in the component that was targeted, the attack I saw was known and the vulnerability had been patched many versions previously.  I contacted the author and he confirmed this (although not long afterwards they did produce a new security release).  I also didn&#8217;t see any administrator activity or unusual file accesses in the log entries around it.</p>
<p>I found lots of hacking attempts by the bot libwww-perl, which is often used for automated hacking  attempts.  Many were targeting Community Builder, which I hadn&#8217;t seen targeted before, and many were bringing up my &#8216;page not found&#8217; page.</p>
<p>I continued trawling through the logs, finding nothing that looked successful.  Occasionally, the infected files appeared when I didn&#8217;t think they should have done.  Eventually, the log files ended, leaving me with that half a week gap.</p>
<p>I changed tack and itemised the components in the website to see what needed upgrading.</p>
<p>Joomla itself was up to date, but Community Builder was known to have an exploit, and I had put off upgrading it because the new version required PHP 5, and I had only had PHP 4.4.7 on my server.  In the meantime, however, my web hosts had installed a capability to switch hosting accounts to the upgraded PHP version.</p>
<p><a href="#step-by-step">Back to list</a></p>
<h3>Improving Security in Future</h3>
<p>So the first change I made was to upgrade the PHP version to 5.  Then I restored the files from a backup taken before installing the infected component, working on the assumption (or hope!) that the site was only hacked once.</p>
<p>I had already made the .htaccess and php.ini changes recommended in the Joomla Security Forum, but I added some new lines to my .htaccess file to block libwww, as recommended in these useful and detailed blog posts: <a href="http://www.hybrid6.com/webgeek/2007/11/website-security-hackers-botnets-and-libwww-perl.php">&#8216;Hackers, Botnets and libwww-PERL&#8217; by WebGeek</a> and <a href="http://incredibill.blogspot.com/2007/05/block-libwww-perl-and-web-addresses-to.html">&#8216;Block LIBWWW-PERL and web addresses to protect your site from botnets&#8217; by incrediBILL</a>.</p>
<p>Unfortunately, there are some legitimate uses of Libwww-perl that would also be blocked, but so far the only disadvantage I have found to blocking it is that if I want to run the W3C link validator, that uses Libwww-perl so I have to temporarily allow it again.</p>
<p>I also added lines to block the domains used in the hacking attempts.  For more .htaccess protection, the Webmasterworld forum has a useful discussion on <a href="http://www.webmasterworld.com/apache/3448091.htm">ways to block bad bots</a>.</p>
<p>I had a couple of small PHP errors to fix after upgrading to PHP 5, and then I tested the site thoroughly using Internet Explorer and Fiddler, and all seemed ok.</p>
<p>Next I upgraded Community Builder, followed by checking and upgrading any other components that needed it.</p>
<p>My users&#8217; passwords are all stored in encrypted form, and the site does not collect personal information about them, so there wouldn&#8217;t be a security risk from that.  I checked the user list to see who had logged in recently, and checked their data.  Then I changed the  passwords to prevent fraudulent logins in future.  If they try to log in, the &#8216;forgot password&#8217; option can be used to reset passwords.  It&#8217;s not great, but no damage has been done there.</p>
<p>The users&#8217; passwords did give me some scary moments: this is another example of why it&#8217;s so important to use different passwords for anything important you do online: if the users&#8217; passwords had been on a website where they weren&#8217;t encrypted, and they used the same password for their email, that would be extremely risky.  And if I&#8217;d used the same passwords for logging in to my website as I did for online banking, email or anything involving credit cards, for example, I could be in deep trouble now.  If you&#8217;re not convinced, check this entertaining but scary &#8220;One Man&#8217;s Blog&#8221; post on <a href="http://onemansblog.com/2007/03/26/how-id-hack-your-weak-passwords/">&#8220;How I&#8217;d hack your weak passwords&#8221;</a>.</p>
<p>Looking back, I may be in good company too:  I can think of several online services I&#8217;ve joined where the password has mysteriously stopped working.  None of them told me why, and some of them did have more information of mine than I&#8217;d want to let go.</p>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="why-oh-why">Why was my website a target for hackers?</h3>
<p>I can think of a couple of reasons why my site might have been targeted:</p>
<ol>
<li>When I first launched it, I posted links in various &#8216;Site Showcase&#8217; type threads in the forums for the Joomla components I&#8217;d used.  At the time, I thought this was great, because it brought me visitors from all over the world, as well as a truly improbable sounding Alexa ranking.  But then, when any of those components develop a vulnerability, my site is an obvious target.    Thankfully, component owners tend to develop patches or eventually take their sites offline, and my links with it.  But I wouldn&#8217;t post links there again unless it was truly relevant to the website&#8217;s focus.</li>
<li>Social networking sites are increasingly becoming targets for hackers (see <a href="  http://blog.brickhousesecurity.com/2009/08/19/facebook-hack/">Facebook and Twitter becoming Top Targets for Hackers</a> at Brick House Security), which could lead to Community Builder being targeted more than in the past, with hackers assuming that any site using Community Builder would be a social networking / membership site. Plus, the older version of Community Builder had a vulnerability posted.  I haven&#8217;t been able to find out what it is anywhere, but hackers could have tried attacks in many variations</li>
<li>What&#8217;s most likely, considering that my website isn&#8217;t a high value target, is that hackers were using bots such as libwww-perl to run scripted attacks with many variations, and eventually one of them worked.  Woohoo, lucky me!  Should have kept all my extensions up to date <img src='http://www.ebusiness-technology.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
</ol>
<p><a href="step-by-step">Back to list</a></p>
<h3 id="test-website-online">Online Tests for Malware in your Website</h3>
<p>There is an online service called <a href="http://www.unmaskparasites.com/">Unmask Parasites</a> which tests web pages for malware.  To check your web pages you can either bookmark their service or place their <a title="Web page security check by Unmask Parasites" href="http://www.UnmaskParasites.com/security-report/">Security Check</a> shortcut links on every page you want to be able to check.</p>
<p>Every time you click the Security Check link the Unmask Parasites service will automatically check the referring web page so you don&#8217;t have to type any URLs.</p>
<p>The shortcut links should work for any public web pages, however, I have found since then that when I checked a hacked oscommerce website, the security report service appeared to crash with error messages, so if you see errors they should also be treated as a warning that your website may have been hacked.</p>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="google-malware-warning">Google Malware / Security Warning</h3>
<p>If your website has been unlucky enough to be flagged by Google as hosting malware or in some other way risky, this post explains how to get that warning removed from your website&#8217;s Google listings: <a href="http://25yearsofprogramming.com/blog/20071223.htm"> How to remove &#8216;This site may harm your computer&#8217; from Google search results</a>.</p>
<p>There&#8217;s some more information here about <a href="http://googleonlinesecurity.blogspot.com/2008/05/safe-browsing-diagnostic-to-rescue.html">Google&#8217;s safe browsing diagnostic pages</a>.</p>
<p><a href="#step-by-step">Back to list</a></p>
<h3 id="website-security-links">General Website Security Links</h3>
<ul>
<li><a href="http://securitylabs.websense.com/content/Alerts/3421.aspx">Description of a recent attack that infected 40,000 websites</a></li>
<li><a href="http://securitylabs.websense.com/content/Subscription.aspx">Sign up for Websense Attack Alerts</a></li>
<li><a href="http://securitylabs.websense.com/content/blogs.aspx">Websense Security Labs Blog</a></li>
<li><a href="http://www.sans.org/top-cyber-security-risks/">SANS: Top Cyber Security Risks</a></li>
<li><a href="http://www.stopbadware.org/home/security">Stop Badware: Tips for Cleaning and Securing Your Website</a></li>
</ul>
<h3 id="joomla-security-links">Joomla Security Links</h3>
<ul>
<li><a href="http://forum.joomla.org/viewforum.php?f=267">Joomla 1.0.x security forum</a></li>
<li><a href="http://forum.joomla.org/viewforum.php?f=432">Joomla 1.5.x security forum</a></li>
<li><a href="http://docs.joomla.org/Category:Security_Checklist">Joomla! Security Checklist</a></li>
<li><a href="http://forum.joomla.org/viewtopic.php?t=76551">Joomla Advisory: dealing with hacked websites and hacking attempts</a></li>
<li><a href="http://forum.joomla.org/viewtopic.php?f=432&amp;t=411735">Joomla Security Forum: Malicious Javascript in Your Site</a></li>
<li><a href="http://docs.joomla.org/Vulnerable_Extensions_List">List of Vulnerable Joomla! Extensions</a></li>
</ul>
<p><a href="#step-by-step">Back to list</a></p>
<p>If you&#8217;ve also had your Joomla website hacked, you might find these security links useful, and I wish you luck with it!  In the meantime, with the files backing up, then deleting, then restoring, and the anti-virus running, the computer ran so slowly that I had lots of time that night to get things ready for my little boy&#8217;s birthday party: I may have felt like a zombie but at least the scumbag hackers didn&#8217;t ruin his special day.  Comments, advice, suggestions etc welcome &#8211; if there&#8217;s one thing I&#8217;ve learned above all from this it&#8217;s that I&#8217;d rather improve my knowledge of website security at more convenient times <img src='http://www.ebusiness-technology.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ebusiness-technology.net/2010/security/my-joomla-website-was-hacked-heres-what-i-did-next/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

