Formjacking erklärt: Wie Angreifer Kartendaten auf Checkout-Seiten stehlen
Formjacking erfordert keinen Einbruch in Ihren Server – ein einziges kompromittiertes Drittanbieter-Skript reicht aus. Hier ist die vollständige Anatomie und was den Angriff tatsächlich stoppt.
Formjacking ist die Entführung einer HTML-Formularübermittlung durch injiziertes JavaScript, das die eingegebenen Werte an einen vom Angreifer kontrollierten Server weiterleitet. Anders als bei einem klassischen Einbruch bleibt Ihr Origin-Server häufig unberührt – der Code läuft vollständig im Browser des Besuchers, über die Daten, die dieser gerade eingibt.
Die Angriffskette ist fast immer dieselbe. Der Angreifer kompromittiert eine Drittanbieter-Abhängigkeit – einen Tag-Manager, ein A/B-Testing-Widget, ein Chat-Skript oder ein npm-Paket – und hängt einen Listener an das Submit-Ereignis des Checkout- oder Login-Formulars. Bei der Übermittlung liest das Skript die Felder aus (Kartennummer, CVV, E-Mail, Passwort) und sendet einen Hintergrund-POST an eine neu registrierte Domain, gleichzeitig mit oder vor der legitimen Übermittlung. Der Nutzer bemerkt nichts.
Warum WAFs das nicht erkennen: Ein Reverse-Proxy sieht nur Anfragen an Ihren Origin. Der Exfiltrations-POST geht an die Domain des Angreifers, nicht an Sie – er passiert deshalb nie die WAF. Dateisignatur-Scanner übersehen ihn ebenfalls, weil sich der schädliche Code nicht in Ihren Dateien befindet, sondern in einem Skript, das zur Laufzeit von einem Drittanbieter-Host geladen wird.
So erkennt ExploitShield es: Jede Formularübermittlung des Headless-Browsers wird auf Netzwerkebene über einen MITM-Proxy erfasst. Der Ziel-Host wird mit WHOIS-Alter, RDAP-Daten, IP-Reputation und über 500 Blocklists angereichert. Ein neuer Exfiltrations-Endpunkt – eine Domain, die erst wenige Tage alt ist – wird innerhalb seiner ersten Stunden des Bestehens gemeldet, zusammen mit dem auslösenden Skript, der Datei und der Zeilennummer.
Die praktische Schlussfolgerung für E-Commerce-Teams: Prüfen Sie jedes Drittanbieter-Skript auf Ihren Checkout- und Login-Seiten, wenden Sie Subresource Integrity an, wo möglich, und überwachen Sie ausgehende Ziele unter echter Browser-Ausführung. Nur dort ist Formjacking sichtbar, bevor ein Kunde seine Kartendaten verliert.