Skip to main content
Compromised website or server

Your website hacked? Write to us and we will handle it

If your website has been hacked, do not delete anything yet: copy the files and database, put the site in maintenance mode, tell your host and change every password and API key from a clean device. Then you need to find how they got in, clean or rebuild, and update PHP, the CMS and the server before reopening.

The same applies if your provider warned you about a vulnerability and you do not know whether it affects you. Tell us what happened, we review the server and take care of the cleanup, the updates and the new keys.

Affected site or server
hack · vulnerability
Containment
copy · logs · entry point
Clean
if a clean backup exists
Rebuild
if it does not
Patches and new keys
PHP · CMS · server
Has this happened to you?

How do I know if my website has been hacked?

One of these signs is enough reason to check the server. Some intrusions are invisible from outside: the site loads normally while someone uses the server to send spam or records what your customers type into forms.

  • Chrome or Google shows a red "dangerous site" or "deceptive site" warning when people visit your website.

  • Visitors arriving from Google get redirected to casino, pharmacy or spam pages.

  • You search site:yourdomain.com and find pages nobody on your team created.

  • There are administrator accounts in WordPress or PrestaShop that you do not recognise.

  • Your host suspended the account, or emailed you about malware or outgoing spam.

  • Your provider warned you about a vulnerability (php2shell, an NGINX or Node.js CVE) and you do not know if it affects you.

  • Email from your domain bounces or lands in your customers' spam folder.

  • The browser says the website's certificate is not valid.

  • An API bill (OpenAI, Google Cloud, AWS…) arrives far above normal: someone is using your keys.

Before you call anyone

Website hacked: what to do in the first hour

These steps apply whether you contact us or not. They come in this order because the copy of the current state is lost as soon as someone starts deleting files.

  1. Do not delete anything yet. Copy the current state, files and database, and store it off the server. Write down the time and take screenshots of what you see. That copy is how you find out how they got in and, if you report it to the police, it is your evidence.
  2. Stop the harm to your visitors. Put the site in maintenance mode or serve a static page while it is being cleaned. If your host already suspended the account, do not ask them to reactivate it until it is clean.
  3. Tell your hosting provider. They have the server access logs and can see whether other sites on the same account are affected too.
  4. Change passwords from a clean device. Hosting panel, CMS administrators, FTP or SFTP, SSH, database, domain email and registrar. Turn on two-factor authentication wherever you can. If the computer you manage the site from is infected, the new passwords leak as well.
  5. Revoke the API keys the site stores. Payment gateway, transactional email, maps, AI services: issue new keys and disable the old ones. A copied key keeps working even after the server is clean.
  6. Review administrator accounts. Note the username and creation date of any you do not recognise, then delete them.
  7. If personal data is involved, start the clock. If the site stores customer data (orders, forms, accounts), an intrusion may be a personal data breach. Under the GDPR you have 72 hours from becoming aware of it to notify your data protection authority when it poses a risk to people.

For the clean-up review afterwards, Google explains the process in its Security issues report help. If your business is in Spain, INCIBE's free and confidential 017 helpline gives cybersecurity guidance, and the AEPD explains breach notification.

With SSH access to the server. If you do not have it, your host can give you the access logs and the list of modified files.

October 2026

What should I do if my provider warns me about a vulnerability?

Check which version you run, update to the fixed one and, if the flaw allowed code execution or memory reads, check whether anyone got in before the patch. These are the recent advisories that touch the most websites and servers.

PHP: php2shell

CVE-2026-109618 and CVE-2026-109619, CVSS 9.2, no authentication required. Fixed in 8.5.12, 8.4.27, 8.3.36 and 8.2.35. Wiz demonstrated remote code execution against WordPress, Drupal and Joomla.

php.net · Rapid7

Node.js

Ten CVEs on 21 October, including an out-of-bounds write in the Brotli decompressor that allows code execution. Fixed in v26.12.1, v24.22.1 and v22.23.4; 20.x and 25.x no longer get patches.

nodejs.org

NGINX

"NGINX Rift" (CVE-2026-42945) saw exploitation attempts from 16 May. The October batch, with HTTP/3 request smuggling and TLS session forgery, is fixed in 1.31.7 and 1.30.6 or later.

nginx.org · Help Net Security

Certificates: GoDaddy and eMudhra

GoDaddy revoked 404,607 TLS certificates on 21 October over a compliance issue; a site that does not install the replacement can become unreachable. Chrome, Apple and Microsoft stopped trusting eight eMudhra intermediate CAs with weak keys.

Cyber Press · The Hacker News

Secrets: LiteLLM and Railway

LiteLLM version 1.107.0, published on PyPI and Docker Hub, stole credentials on startup. Railway detected anomalous activity in the systems that store its customers' environment variables and is asking them to rotate. In both cases the keys get changed even if the server looks healthy.

Wiz · The Cyber Sec Guru

The fixed versions, the commands to check them and what to rotate in each case, in one article.

What to patch, rotate and renew →
How we handle it

How do you fix a hacked website?

Seven steps, in this order. Cleaning without knowing how they got in leaves the same door open.

  1. Containment

    First we stop what is still happening: redirects, outgoing spam, processes that should not be running. If needed, the site stays in maintenance mode while we work.

  2. Copy and basic analysis

    We keep a copy of the compromised state and look at access logs, modified files, users and scheduled tasks to find the entry point. If you need a forensic expert report for court or for your insurer, a certified expert signs that; the copy is kept so they can work with it.

  3. Clean or rebuild

    If there is a backup from before the intrusion and we know how they got in, it is restored and cleaned. If not, the CMS is reinstalled from official sources and only the reviewed content is migrated.

  4. Update PHP, CMS and server

    PHP to a patched version, CMS core, plugins and theme, and the server software (NGINX, Apache, Node.js) if you run it yourself. Anything that does not support a maintained version is replaced or removed.

  5. Credential rotation

    Passwords, SSH keys, API keys and environment variables. Every credential that was on the server is treated as compromised.

  6. Verification and blocklists

    We check the site serves what it should, request a review from Google in Search Console and check whether the domain or server IP appears on email blocklists.

  7. Maintenance

    Regular backups stored off the server, updates and tracking of security advisories for the software your site runs on.

  • Maintenance mode if needed
  • Stop redirects and outgoing spam
  • Suspicious processes and connections
  • Notify the host
  • Copy of the compromised state, off the server
  • Access and error logs
  • Recently modified files
  • Users, cron jobs and SSH keys
  • Likely entry point
  • Restore a backup from before the intrusion
  • Or reinstall the CMS from official sources
  • Remove backdoors and injected files
  • Review the database (users, options, content)
  • PHP to a patched version
  • CMS core, plugins and theme
  • NGINX, Apache or Node.js
  • Replace whatever is unsupported
  • Hosting, CMS, FTP/SFTP, SSH and database
  • API keys and tokens
  • Environment variables
  • Two-factor authentication
  • Review request in Search Console
  • Email and IP blocklists
  • Valid TLS certificate
  • Check the site works
  • Regular backups off the server
  • PHP, CMS and plugin updates
  • Tracking security advisories

Seeing it right now? Send us the website address and what you have noticed.

Write to us →
Clean or rebuild

Can the site be cleaned or does it need rebuilding?

It depends on what is on the server and whether there is a backup from before the intrusion.

It can be cleaned

  • We know how they got in and the hole can be closed.
  • There is a backup from before the intrusion.
  • The CMS, plugins and theme support a maintained PHP version.

Better to rebuild

  • There is no trustworthy backup, or the infection returns after every cleanup.
  • The site depends on abandoned plugins or an unsupported PHP version.
  • It is reinstalled from official sources with the reviewed content migrated, or rebuilt: for a corporate site, for example a static site with Astro, which runs no PHP on the server.
FAQ

Frequently asked questions about hacked websites

What should I do if my website has been hacked?
Copy the current state (files and database) before deleting anything, put the site in maintenance mode, tell your host and change every password from a clean device: hosting, CMS, FTP, SSH, database and email. Also revoke the API keys the site stored. Then you need to find how they got in, clean or rebuild, and update PHP, the CMS and plugins before reopening.
How do I know if my website has been hacked?
The usual signs are a dangerous-site warning in Chrome or Google, redirects to spam pages, pages you did not create when you search site:yourdomain, unknown administrators in the CMS, a suspension or warning from your host, bouncing email and API bills that do not add up. Some intrusions show nothing visible, so it is worth checking modified files and user accounts too.
Is restoring a backup enough?
Not always. If the backup is from after the intrusion, you restore the backdoor along with it. And if the vulnerability they used is still open, they can get in again the same way. Before restoring you need to know how they got in, pick a backup from before that date and update whatever was vulnerable.
How do I remove Google's dangerous site warning?
Clean the site first. Then, in Google Search Console, open the Security issues report and request a review explaining what you fixed. Google says the review can take from a few days to a few weeks, and requesting it before the site is clean only extends the time it stays flagged.
Do I have to notify the data protection authority?
If the intrusion affects personal data and poses a risk to people, the GDPR requires you to notify your supervisory authority within 72 hours of becoming aware of it, even if you do not have all the details yet. If the risk is high, you must also inform the people affected. In Spain the authority is the AEPD.
Is my PHP website affected by php2shell?
php2shell is the name for two critical PHP vulnerabilities (CVE-2026-109618 and CVE-2026-109619, CVSS 9.2) published on 21 October 2026. They require no authentication and affect PHP installations that serve web requests, including PHP-FPM, Apache with mod_php, php-cgi, FrankenPHP and LiteSpeed. The fixed versions are 8.5.12, 8.4.27, 8.3.36 and 8.2.35; 8.1 and earlier no longer receive updates from the PHP project.
Can you guarantee it will not happen again?
No. Nobody can guarantee a website will never be attacked again. What we do is close the entry point we find, update the software to supported versions, change every credential and keep the site up to date afterwards, which is what reduces the risk.
What do you need to get started?
The website address, what you have seen and since when, and whatever access you have: hosting, CMS, FTP or SSH. If your host or another provider sent you a warning, forward it to us. Do not paste passwords into the contact form: access is shared later, over a channel we agree on.
Next step

Tell us what happened and we will handle it

With the website address, what you have seen and the access you still have, we review the server and tell you whether it can be cleaned, whether it needs rebuilding and what has to be updated.

Hacked website or server

Tell us your challenge. We'll propose a solution.

No commitment. Within 24 hours, you'll receive a proposal with scope, timeline and budget. No fine print.

Book a free call →