Skip to main content
mySites.guru

Active Joomla Extension security alerts: SP Page Builder zero dayGridbox: 23 criticalJCE 2.9.99.10Fabrik: unauth RCE

Protecting Joomla sites since 2012

Think Your Joomla
Site Has Been
Hacked?

Unexpected redirects, Google flagging your site, your host suspending the account. Start with the first fifteen minutes, then run a free file-level scan and find out exactly what is on your server.

No credit cardJoomla 3, 4, 5 & 6 supportedResults in minutes

The first fifteen minutes

Most of the lasting damage from a Joomla hack is not done by the attacker. It is done in the first hour by a panicking owner destroying the evidence. Work in this order.

Do this now

  1. 1

    Take a full copy before you touch anything

    Files and database, exactly as they are now, hack included. Keep it off the server. This is your evidence and your undo button, and you cannot recreate it once you start deleting.

  2. 2

    Change every password, then change them again after the clean

    Joomla Super Users, FTP and SSH, the database user, and your hosting control panel. Do it twice, because anything you rotate while a backdoor is still live can be captured and reused.

  3. 3

    Take the site offline if it is serving malware to visitors

    Joomla has an offline switch in Global Configuration. If Google has already flagged the site, or it is redirecting people to somewhere unpleasant, an offline notice costs you far less than the reputation damage.

  4. 4

    Find out what is actually on the server

    Not what your host emailed you, and not what a browser-based scanner reports from the outside. Every file, every line, including the extensions you deactivated years ago and forgot about.

Do not do this yet

  • Do not restore from a backup yet

    This is the mistake that turns one hack into a recurring one. Restoring wipes the evidence of how they got in, and it puts the unpatched hole straight back. You will be reinfected, usually within days, and you will have nothing left to diagnose.

  • Do not delete files you have not read

    A flagged file is a lead, not a verdict. Plenty of legitimate Joomla extension code uses the same functions attackers do. Read the matched lines first. One bad line can often be removed without deleting the whole file.

  • Do not assume your host has finished the job

    Hosting providers remove the files their scanner recognises. They very rarely identify the entry point, and they almost never check your database. A clean bill of health from a host is not the same as a clean site.

  • Do not just update Joomla and hope

    Updating closes the door for next time. It does nothing about the webshell already sitting inside, which will happily survive the update and let the attacker back in afterwards.

Useful if you need to send it to your host or your developer.

90,000+

sites protected

Since 2012

Joomla-native expertise

1,000,000+

site audits completed

Warning signs your Joomla site has been compromised

Most Joomla hacks are invisible to the site owner. The attackers want access, not visibility. Here is what they actually leave behind.

Backdoor Files in /components/ or /modules/

Attackers drop PHP shells and file uploaders into extension directories. They look like legitimate extension files but give remote access to your entire server.

Modified index.php or configuration.php

Core files that should never change. If index.php has been altered, there is almost certainly injected redirect code or malware loading on every page view.

Rewritten or Appended .htaccess

Attackers modify .htaccess to silently redirect mobile visitors or Googlebot to pharma spam sites while showing your real site to desktop users.

Unauthorised Extensions Installed

Malicious actors install rogue components or plugins with admin access. These persist across restores if you do not check the extension list before recovery.

SEO Spam & Hidden Links

Japanese keyword attacks, pharma hacks, and hidden link farms injected into your templates or database. Your rankings drop while Google indexes thousands of spam pages.

Obfuscated PHP in Template Files

Base64-encoded blobs and eval() chains buried inside your active template. Nearly invisible to manual inspection, but our scanner flags them immediately.

Quick check: is it actually hacked?

Tick anything you have seen. Nothing is sent anywhere, this runs entirely in your browser.

The hack with no hacked files

Every file on the server matches its original checksum, your host says the site is clean, and your homepage still shows someone else's message. This is not a mystery. The payload is in your database.

A run of Joomla extension flaws share the same shape: an ajax endpoint that never checked who was calling it, reachable by anyone on the internet with no login, which writes attacker-controlled content straight into a database table. Nothing is written to disk. No file changes, so no checksum changes, so a file-based scanner has nothing to report.

The current example is the Helix3 Joomla template framework, where versions before 3.1.1 shipped an unauthenticated handler whose import action let an anonymous visitor overwrite template style parameters. Sites running it have been defaced in bulk since early July 2026. Two payloads are in circulation: an obvious full-page defacement, and a quieter loader that leaves your pages looking completely normal while pulling fake captcha screens and cryptocurrency wallet drainers at runtime. The second one is worse, and you will not notice it by looking.

Cleaning the payload is not the same as closing the hole

Removing the injected code fixes what your visitors see. It does nothing about the endpoint that let it in. Update Helix3 to 3.1.1 or later, clear the Joomla cache, and then clean, or it simply gets re-injected. And if you had legitimate code of your own in those template fields, copy it out before you clean, because the fix blanks the field.

What the visitor sees. Not one file on the server was modified to do this.
The same site in mySites.guru. Every affected template style listed, with one button to clean the malicious custom code.

Five checks that read your database, not your disk

These run on every snapshot, with no file scan needed, and each one has a one-click fix. A hit on any of them flags the site as hacked even when the file count is zero.

Helix3 Custom Code Hack

Finds a payload written into your template style parameters, which is where the current defacement wave puts it. One click blanks the malicious custom code and leaves the rest of your template settings alone.

Helix Ultimate Mega Menu Hack

Finds menu parameters poisoned through the unauthenticated mega menu save exploit, used to plant stored cross-site scripting and to create administrator accounts.

Check for JCE Rogue Profiles & Backdoors

Finds rogue editor profile rows added by the JCE exploitation wave, and sweeps the folders those profiles are used to write into.

Rogue Super Admin Accounts

Matches your user table against known attacker email and username signatures, in any user group rather than just Super Users, because attackers do not always aim high immediately.

SP Page Builder Rogue Icon-Font Assets

Finds the icon-font asset rows planted by the custom icon upload flaw, and removes the folders each rogue row created.

You reach these from any flagged site's snapshot, under the Hacked checks. Read the full write-up of the Helix3 defacement and where it hides, the security release that patched it, or the Helix Ultimate mega menu flaw behind the second one on that list. If you would rather scan for the file-based side of this first, start with the Joomla malware scanner.

The toolkit you get for cleaning it yourself

One scan reads every file in your webspace, every line, including the dormant extension you deactivated in 2019. Out of that scan come two tools, and the difference between them is the difference between a lead and a conviction.

Suspect content: worth a look

The file's contents matched one of roughly 1,500 hand-written hack patterns, built from real compromises on real Joomla sites. That is a heuristic, not a verdict. False positives here are the design working, not failing, because attackers write in the same language as everyone else. A contact form uses the same mail function a spam script does.

The job of this tool is to take twenty thousand files and hand you a dozen worth reading. Click any one of them and you get the exact matched lines with line numbers, alongside the file's modification date, size and permissions.

Hacked files: act now

The file's full-file hash matches a file already confirmed as malicious. Identical hash means identical bytes, so your file is character for character the same as one that has already been examined and condemned. There is no maybe at this level. One important caveat: a file in this list means your site is compromised, not just that one file. Deleting it removes a symptom, not the way in.

Two tools, one scan. Separate lists so you never confuse a file needing a human eye with one already condemned.
A real webshell with its matched lines highlighted, so you can judge the file rather than guess at it.
Confirmed hacked files. Each one an exact hash match against a file already reviewed and condemned.

What you can do to a flagged file, without an FTP client

Read the matched lines

Every pattern hit highlighted in place, with line numbers, so you can see what triggered it before deciding anything.

Edit it in place

Strip one injected line out of an otherwise legitimate file and save it straight back, in the browser.

Download it as evidence

Keep a copy of the webshell before you remove it. Useful later when you are working out the entry point.

Delete it

There is no confirmation step and no undo, which is deliberate. Read the file first. Deleting needs an active subscription or trial.

And the rest of the kit

AI analysis on a suspect file

Send a flagged file, or the whole list, for a safe, suspicious or malicious verdict with the problem lines called out. Verdicts are cached globally by file hash, so a popular extension's files have usually been analysed by someone already and come back instantly. This one needs your own Claude or OpenAI API key and has to be enabled on your account, so it is not switched on out of the box.

Bulk removal of attacker .htaccess files

A common Joomla hack drops a redirecting .htaccess into every folder on the site, which can run into thousands. One button removes every stray one and keeps your site root file and the known hardening files. Read how that works on a site with 9,000 of them, and why hardening .htaccess will not stop the hack in the first place.

Core file comparison and restore

Separate tools track changed and missing Joomla core files, with a byte-for-byte diff against the official original and a one-click revert to it. Restore is for core files, since that is the only case where a known-good original exists to restore from.

Files modified recently, and between audits

The fastest way to find a fresh compromise is to ask what changed. Establish a baseline and every later audit tells you what moved since, which also catches reinfection early.

Everywhere attackers like to hide

Dedicated checks for PHP executables sitting in your images folder, double extensions like invoice.php.jpg, hidden dot files, renamed leftovers, encrypted files, publicly readable database dumps, and stray archives.

Attacker .htaccess files found across a site, with the bulk removal that keeps the legitimate ones.
Rogue JCE editor profiles flagged for removal. See the full JCE hack page.

Cleaning it yourself, in confidence order

A scan on a compromised site can return thirty flagged files, and staring at all thirty at once is how people give up. Work them in order of certainty instead. It turns one intimidating wall into three short queues, and the third is usually empty by the time you reach it.

  1. 1

    Start with the confirmed hacked files

    Anything in the hacked files list is an exact hash match against a known-malicious file. There is nothing to deliberate. Download a copy for evidence, then remove it, then keep going, because a confirmed file means the attacker got in somehow and that route is still open.

    An empty list here is good news but not the all-clear. A backdoor dropped this morning that nobody has confirmed yet will be sitting in suspect content, not here.

  2. 2

    Then work the suspect content list

    Open each file and read the matched lines. You are asking three questions. Does this file belong to an extension you actually installed? Does its modification date match the rest of that package, or did it change alone at three in the morning? Is it a PHP file sitting somewhere PHP has no business being, like your images folder?

    If AI analysis is enabled on your account, run it across the list first and it will sort most of them for you, leaving a handful marked suspicious for you to judge with context the model does not have.

  3. 3

    Check the database-resident hacks

    Run the five snapshot checks above. This is the step people skip, and it is the reason a site that was cleaned last week is defaced again today. If any of them find something, clean it, then patch the extension that allowed it, in that order.

  4. 4

    Close the way in, then verify

    Audit your user list for accounts you did not create. Restore any modified core files to their originals. Update every extension, and remove the ones you no longer use rather than leaving them deactivated, because a deactivated extension's files are still reachable over the web.

    Then rescan. A clean second scan on a site you have just cleaned is the only evidence that you finished, and the baseline comparison will tell you immediately if anything moves afterwards.

For a longer walkthrough with screenshots at each step, see cleaning a hacked site with the suspect content and hacked files tools. For the mechanics of how the scan reads your files, see finding hacked files and backdoors, and for the difference between the two lists, suspect content vs hacked files.

Why cleaning by hand usually misses something

Cleaning a hacked Joomla site by hand is not hard because the code is clever. It is hard because of the arithmetic. A modest Joomla site is twenty thousand files. An attacker needs one of them to survive your cleanup, and they know that, which is why compromises come with more than one backdoor and why the spare is deliberately dull: a file named like a legitimate extension file, sitting in a directory full of legitimate extension files, dated to match its neighbours.

The second problem is that you are checking the places you can think of. A scan does not have that limitation, and it does not get bored on file eight thousand. It reads every line of every file, including the ones above your web root, the deactivated extensions, and the contents of files that are not even text.

We run over 3,000 audits a day and find more than 200 hacked sites a week. Every confirmed file feeds the hash list every other connected site is checked against tomorrow, so the same backdoor dropped on a hundred sites only has to be condemned once.

Mike K
Mike K
★★★★★

If you think you've manually cleaned your Joomla site of all hacked files, you're 100% wrong. This program is absolutely incredible, and it finds Every File that is hacked or suspect. The ability to view/edit/delete files right in the GUI is amazing, and a real time saver. If you're tired of fixing your site every few days, just spend the $25 for a 1 month subscription. Scan and fix everyday until all your problems are gone. Totally worth it! Using Mysites.guru is the only way you will know for sure your site is hack-free. This is the greatest security tool you can have. Thank you!

Read more reviews

Or hand the whole thing over

Everything above is genuinely doable yourself, and plenty of people do it. But if the site is a client's, and it went down this morning, and you have never read a webshell before, then the honest answer is that this is not the week to learn. There is a service for exactly that.

Phil cleans the site, updates it, locks it down and hands it back. Requests are screened before anyone commits to them, so if it cannot be fixed you are not charged.

£120single fixed fee, per incident
  • Usually resolved the same day
  • Hacked site cleanup and hardening
  • You are not charged if it cannot be fixed
  • Non-subscribers get a free month of mySites.guru
Get it fixed for me
Mariusz Rojewski
Mariusz RojewskiWebkon, Konin
★★★★★

mySites.guru is a great tool for working with cybersecurity on joomla. I'm not a cybersecurity engineer - i'm programer, but my team and I can easly find and fix problems. It's a really great tool.

Read more reviews
Herman Vansynghel
Herman Vansynghel
★★★★★

My joomla-site was hacked by 2 hackers that got in through an older version of JCE. Thanks to Phil my site was completely cleaned, updated and working again in less than 24 hours. Thx

Read more reviews
Tokiko
TokikoIEC Oceania
★★★★★

Phil really helped me out. Even though it was the weekend and I was feeling anxious, he responded right away. I was so relieved to hear that "the site is no longer being hacked." With my heartfelt gratitude!

Read more reviews

Why most scanners miss Joomla hacks

Most services that advertise an audit are wrapping a remote scanner that looks at your site the way a browser does. It never sees your files. Anything below the rendered page is invisible to it.

It runs inside your own Joomla install

A connector plugin, listed in your Extensions Manager as the mySites.guru Secure Plugin, does the scanning on your own server against your own filesystem and database. Nothing but per-file metadata leaves the machine, and a file itself only leaves when you click to open it.

14 years of Joomla-specific threat data

This started in 2012 as the Joomla Health Checker, not as a generic tool that later added Joomla support. The patterns, the known-bad hashes and the hand-anchored filename shapes all come from real Joomla compromises, which is why the current extension exploitation waves get detection in the same week.

File integrity against genuine Joomla core

Clean checksums for every Joomla core version mean a single altered character in a core file is flagged, with a diff against the official original and a one-click restore. This is what catches the subtle backdoor that reads like ordinary Joomla code.

Detection that improves daily, not quarterly

Every confirmed hack on any connected site feeds the checks that run on your site tomorrow. Our own signatures are even stored obfuscated inside the connector so that server-side antivirus does not mistake our detector for the malware it describes, which has happened.

What the scan covers

  • All files in /components/, /modules/, /plugins/, /templates/
  • Joomla core files compared against known-clean versions
  • .htaccess and .htpasswd files in all directories
  • configuration.php and any configuration backup files
  • All uploaded files in /images/ and /media/
  • PHP files anywhere in the webspace, including above web root
  • File contents line by line, including inside non-text files
  • Admin and Super User list for unauthorised accounts
  • Installed extension list for rogue components
  • Template styles and menu parameters for injected payloads

One thing we do not claim: there is no general database malware scan. That is on the roadmap. What exists today is targeted detection for the specific database-resident compromises listed further up this page.

If the site held personal data, cleaning it is not the whole job

This is the part almost every hacked-site guide leaves out, and it matters most to the people most likely to be reading: agencies looking after someone else's site. If the compromised Joomla site processed personal data, and there is a realistic chance the attacker could reach it, then under UK and EU data protection law that is a personal data breach, and the clock on notifying the regulator is measured in hours rather than weeks. In the UK the obligation is to notify the ICO within 72 hours of becoming aware where the breach is likely to pose a risk to people.

Two practical consequences. First, it is another reason not to restore over the evidence: a decision about whether data was reachable is much harder to make once you have destroyed the only record of what was on the server. Second, if you are the agency rather than the site owner, you are probably the processor and not the controller, so the notification is your client's call and your job is to tell them promptly and in enough detail that they can make it.

None of this is legal advice, and the thresholds genuinely turn on specifics. Our own position on the data we hold is set out in the privacy notice and the data processing agreement.

The longer a hack goes undetected, the worse the damage

A backdoor file sitting quietly in your /components/com_users/ directory is not causing visible damage right now. That is the point. Attackers want long-term access, not immediate attention.

But every day that access persists is another day they can use your server to send spam, host phishing pages, inject links into your content, and accumulate Google penalties that take months to reverse. By the time the damage is visible, the cleanup cost is ten times higher.

Email blacklisting

Your server gets used to send thousands of spam emails. Your IP ends up on every major blacklist. Legitimate emails stop being delivered.

Google Search penalties

Google detects the spam content, flags your site as dangerous, and removes pages from the index. Recovering lost rankings takes months of clean-up work.

Customer data exposure

If your Joomla site handles user accounts, orders, or contact forms, a persistent backdoor means that data is accessible to the attacker indefinitely.

Hosting suspension

Shared hosting providers monitor for malicious activity. When they find it, they suspend the account first and ask questions later. Your site goes offline with no warning.

Born from the Joomla Health Checker in 2012

mySites.guru did not start out as a generic security tool that later added Joomla support. It started inside the Joomla community as the Joomla Health Checker, built specifically to inspect Joomla file structures, understand extension layouts, and detect the attack patterns that target Joomla specifically.

Fourteen years and over a million audits later, that knowledge is baked into every scan. We know which files should exist in a fresh Joomla 3.10 install versus 4.4 versus 5.3 versus 6.0. We have seen every variant of the Joomla-specific backdoors, template injections and database-level compromises that have emerged since 2012, including the Astroid Framework vulnerability and the current run of unauthenticated extension flaws.

When we scan your site we are not running generic pattern matches. We are applying more than a decade of Joomla-focused security research, most of it from finding these things on real sites first.

2012

Launched as the Joomla Health Checker inside the Joomla community

2015

Expanded to multi-site management as mySites.guru, adding WordPress support

2018

Passed 500,000 audits completed across WordPress and Joomla sites

2021

Joomla 4 supported from the day 4.0 went stable

2023

Joomla 5 supported on release. Over 1,000,000 audits completed

2026

Joomla 6 supported, with same-week detection for each new extension exploitation wave

Trusted by agencies looking after Joomla sites

Mariusz Rojewski
Mariusz RojewskiWebkon, Konin
★★★★★

mySites.guru is a great tool for working with cybersecurity on joomla. I'm not a cybersecurity engineer - i'm programer, but my team and I can easly find and fix problems. It's a really great tool.

Read more reviews
Herman Vansynghel
Herman Vansynghel
★★★★★

My joomla-site was hacked by 2 hackers that got in through an older version of JCE. Thanks to Phil my site was completely cleaned, updated and working again in less than 24 hours. Thx

Read more reviews
Tokiko
TokikoIEC Oceania
★★★★★

Phil really helped me out. Even though it was the weekend and I was feeling anxious, he responded right away. I was so relieved to hear that "the site is no longer being hacked." With my heartfelt gratitude!

Read more reviews

Read more customer reviews

Common questions

Does this work with Joomla 3, 4, 5, and 6?
Yes. Joomla 3.x, 4.x, 5.x, and 6.x are all fully supported. Our connector plugin installs without any changes to your configuration. The scan engine understands the file structure of each version and knows exactly which core files should exist and which should not.
How long does the scan take?
Setup takes about two minutes. Once connected, the first scan typically completes within a few minutes. Larger Joomla sites with many extensions and a large media library may take a little longer, but the scan runs in the background so you do not need to wait around.
What is the difference between suspect content and a confirmed hacked file?
They are two separate tools, fed by the same scan, and the difference is confidence. Suspect content means the file’s contents matched one of roughly 1,500 hand-written hack patterns. That is a heuristic, not a verdict, and false positives are expected by design. Hacked files means the file’s full-file hash matches a file already confirmed as malicious, so it is the same bytes as something that has been examined and condemned before. Work the confirmed list first.
Can I actually clean the site myself, or do I just get a report?
You can clean it yourself. For any flagged file you can read the exact matched lines with line numbers, edit the file in place, download it as evidence, or delete it, all from the browser with no FTP client. The database-level hacks have a one-click fix that removes the payload and leaves the rest of your settings alone. Deleting files needs an active subscription or trial, and there is no confirmation step on delete, which is deliberate: read the file first.
My site was defaced but no files were changed. How is that possible?
Because the payload is in your database, not on your disk. Several Joomla extension flaws let an unauthenticated visitor write directly into template style parameters or menu parameters, so the malicious code loads on every page view while every file on the server still matches its original checksum. This is why file-only scanners report a clean site while your homepage shows a skull. We check for five of these separately, and a hit on any of them flags the site as hacked even when the file count is zero.
Do you scan the database for malware?
Not in general, and we would rather say so than imply otherwise. General database malware scanning is on the roadmap, not in the product. What we do have is targeted detection for the specific database-resident compromises that actually happen on Joomla sites, listed above, each with a one-click clean. File scanning, by contrast, covers every file and every line in your webspace.
Can I mark a false positive so it stops appearing?
No, and that is a deliberate design decision rather than a missing feature. Whitelisting was removed after a user whitelisted everything, missed a genuine hack, and sued. A file you hide from yourself today is a backdoor you will not see next month. Leave it flagged and treat it as a known quantity instead. If a file genuinely puzzles you, send it over and it gets looked at by a human.
Is the scan really free?
Yes. The first scan and full access to the dashboard and all 240+ tools is completely free. No credit card required, no time limit on the trial. If you want to set up automated daily scanning and ongoing monitoring across multiple sites, paid plans start from £19.99/month.
Will the scan affect my live site?
The scan itself is read-only: the connector reads your files and database and changes nothing. Remediation only happens when you click it, and every destructive action is yours to trigger. Your visitors will not notice the scan running, and the connector is deliberately lightweight.
What if I would rather someone else just fixed it?
Then hand it over. fix.mysites.guru is a single fixed fee of £120 per incident, usually resolved the same day, and requests are screened before anyone commits, so you are not charged if it cannot be fixed. Non-subscribers also get a free month of mySites.guru with it.

Find out what is actually on your server

We have been scanning Joomla sites since 2012. Setting up takes about two minutes, the first scan is free, and you will see every flagged file with the reason it was flagged.

Scan Your Joomla Site Now
No credit cardJoomla 3, 4, 5 & 6Or hand it over for £120