Die Magento-2-Sicherheitslücke sorgt für Nacharbeit in vielen Shops. Ein betroffener Dienstleister hat den angegriffenen Shop forensisch ausgewertet und meldet sich mit Zahlen: 343 Backdoors, sechs Angreifer-IPs – und trotzdem kein einziger erfolgreicher Zugriff. Die Erkenntnisse sind für jeden Magento-Betreiber relevant.

Fasse den Artikel im Bullet-Stil zusammen.

Zwei Backdoor-Typen im Einsatz

Insgesamt 343 Backdoor-Dateien wurden im Shop gefunden – 334 .php-Dateien und 9 .phtml-Dateien. Die Code-Analyse zeigt zwei klar unterschiedliche Varianten.

Typ 1 „cfg_ok_v3″ (rund 277 Dateien): Passwortgeschützt via MD5-Hash. Nutzt file_put_contents und move_uploaded_file – kann beliebige Dateien schreiben und weitere Backdoors nachladen.

Typ 2 „*index.php“ (rund 66 Dateien): Cookie-basierte Authentifizierung, und der entscheidende Unterschied: eval(base64_decode($_REQUEST["id"])). Das ist Full Remote Code Execution – beliebige PHP-Commands, kein Umweg. Dieser Typ ist deutlich gefährlicher.

Sechs verschiedene Angreifer-IPs wurden protokolliert, verteilt auf DigitalOcean, Vultr und weitere Hoster.

343 Backdoors, null erfolgreiche Zugriffe

Trotz der Backdoor-Welle: Kein einziger Request endete mit HTTP 200 auf eine der Schaddateien. Alle Zugriffe liefen auf 404 oder 301. Die wahrscheinliche Ursache: Der Shop-Admin läuft auf einer separaten Subdomain. Der Angreifer konnte die Dateien hochladen, aber den korrekten Web-Path zum Ausführen nicht ermitteln. Die echte Domain blieb unbekannt.

Das ist eine wichtige Erkenntnis: Upload und Ausführung sind zwei verschiedene Schritte. Wer seinen Admin isoliert, kappt den zweiten.

Was bisherige Empfehlungen nicht abdecken

Der Dienstleister identifiziert drei Lücken in den bisher kursierenden Schutzempfehlungen:

1. .phtml-Dateien werden vergessen. Der Apache-Block muss nicht nur .php blockieren, sondern auch .phtml:

<FilesMatch ".ph(p|tml)$">
    Require all denied
</FilesMatch>

2. Nicht nur custom_options betroffen. Backdoors tauchten auch in /pub/media/product-backgrounds/ auf. Empfehlung: Das gesamte /pub/media/-Verzeichnis härten, nicht nur den bekannten Unterordner.

3. Die bestehende .htaccess wird überschrieben. In custom_options/ liegt bereits eine .htaccess mit „Require all denied“ – sie wird vom Angriff ignoriert. Schutz muss auf VirtualHost-Ebene erfolgen, nicht per .htaccess.

Sofortmaßnahme: Apache VirtualHost-Config

Das funktioniert laut dem Dienstleister getestet: Selbst wenn die Backdoor hochgeladen wird, führt Apache sie nicht aus (403 Forbidden).

<Directory /var/www/PFAD/pub/media/custom_options>
    Require all denied
</Directory>
<DirectoryMatch "^/var/www/PFAD/pub/media">
    <FilesMatch ".ph(p|tml)$">
        Require all denied
    </FilesMatch>
</DirectoryMatch>

Forensik-Checks für betroffene Betreiber

Wer seinen Shop jetzt prüfen will, kann mit diesen Befehlen starten:

# Backdoor-Dateien suchen
find /var/www/PFAD/pub/media/ -name "*.php" -o -name "*.phtml"

# Apache-Logs prüfen
grep "custom_options.*.php" access.log

# Admin-User seit März anlegen
SELECT * FROM admin_user WHERE created >= '2026-03-01';

# CMS-Blöcke auf Skimmer prüfen
SELECT * FROM cms_block WHERE content LIKE '%<script%';

Zusätzlich empfiehlt der Dienstleister einen Cron-Job, der täglich nach neuen PHP-Dateien in /pub/media/ sucht und Alarm schlägt. Blockieren allein reicht nicht – ohne Monitoring bleibt man blind.

Offene Frage: Gab es erfolgreiche Zugriffe?

Der Dienstleister fragt explizit in die Community: Hat jemand HTTP-200-Antworten auf .php-Dateien in custom_options in seinen Logs? In seinem Fall nur 404 und 301. Wer das gegenteilige erlebt hat – tatsächliche Datenexfiltration – sollte sich melden. Das würde das Lagebild erheblich schärfen.

Wer betroffen ist oder Hinweise hat: Kommentare sind offen – und Wortfilter dankt für die detaillierte Auswertung, die anderen Händlern jetzt konkret weiterhilft.

QR Code für die Wortfilter Händler Facebook-Gruppe
Komm in die Wortfilter Community auf Facebook und diskutiere mit

Melde dich zum wöchentlichen Newsletter an!