Blog 24/7

web skimming

TAB. 1Hasłopo angielsku
Po angielskuweb skimming / Magecart
Którą formą pisaćpo angielsku Polski odpowiednik istnieje, ale w praktyce nikt tak nie pisze. Zostaw angielski, polski trzymaj jako synonim.
Inne formyskimming internetowy · skimming cyfrowy · e-skimming · webowy skimmer · Magecart · formjacking
KategoriaAtaki i socjotechnika

Web skimming to wstrzyknięcie złośliwego JavaScriptu na stronę zamówienia sklepu internetowego, który w tle przechwytuje dane kart płatniczych wpisywane przez klientów i wysyła je przestępcom. Niebezpiecznik nazywa taki kod webowym skimmerem, czyli kodem podrzucanym na stronę w celu przejmowania danych o kartach kredytowych [1]. Zjawisko bywa nazywane e-skimmingiem, a PCI Security Standards Council zauważa, że liczba takich ataków w transakcjach e-commerce znacznie wzrosła [4]. Nazwa Magecart oznacza zbiorczo kilka grup przestępczych atakujących sklepy internetowe [2].

Jak działa

Skimmer działa w przeglądarce klienta, a nie na serwerze sklepu. Sklep wygląda i działa normalnie, zamówienie zostaje przyjęte, płatność przechodzi. Równolegle skrypt kopiuje zawartość pól formularza i przesyła ją na serwer atakującego. Klient i sprzedawca zwykle dowiadują się o tym dopiero, gdy bank wykryje nadużycia na kartach.

Sucuri opisał w styczniu 2025 roku skimmer z WordPressa, który uruchamiał się tylko wtedy, gdy adres strony zawierał słowo „checkout”, a nie zawierał „cart” [3]. Kod albo tworzył fałszywy formularz płatności, udający formularz operatora, albo przechwytywał dane wpisywane w prawdziwe pola w czasie rzeczywistym [3]. Dane były kodowane, szyfrowane i wysyłane funkcją navigator.sendBeacon, która nie zakłóca składania zamówienia [3].

Przebieg pokazuje schemat poniżej.

RYS. 1Kradzież danych karty przez skimmer

Kod skimmera jest zwykle poddany zaciemnianiu, żeby utrudnić jego rozpoznanie. Sama wysyłka danych na obcy serwer to eksfiltracja danych.

W WordPressie

Sklepy na WooCommerce są celem tak samo jak inne platformy. Skimmer trafia na stronę zwykle przez podatność we wtyczce, przejęte konto administratora albo zmodyfikowany skrypt zewnętrzny. Miejsca, w których bywa ukryty, zestawia tabela.

MiejsceUwagi
baza danych, tabela wp_options, wiersz widget_blockomija skanery plików [3]
biblioteka JavaScript ładowana przez stronędopisany fragment kodu [1]
podstawiony formularz lub strona płatnościwyświetlana przy finalizacji zamówienia [2]
skrypt z zewnętrznego serwera lub CDNzmieniony u źródła [5]

Przypadek z bazy danych jest pouczający. Sucuri zaznacza, że wstrzyknięcie do bazy zamiast do plików motywu lub wtyczek pozwala uniknąć wykrycia przez popularne narzędzia skanujące pliki [3]. Złośliwy kod znaleziono w bloku HTML widżetu, wstawionym przez panel administracyjny w sekcji widżetów [3], czyli przez zwykły interfejs WordPressa, bez zmiany żadnego pliku. Dlatego skaner złośliwego oprogramowania, który sprawdza tylko pliki, nie wystarczy; trzeba przeglądać też treść widżetów HTML i opcji w bazie [3].

Pokrewne hasło fałszywa bramka płatności opisuje wariant, w którym klient zostaje przekierowany na stronę udającą operatora płatności.

Zagrożenia i skutki

Dla klienta skutkiem jest nieautoryzowane użycie karty. Skradzione numery trafiają na rynek i bywają sprawdzane przez testowanie kart na innych sklepach. Dla sprzedawcy web skimming oznacza naruszenie ochrony danych osobowych klientów, obowiązki wobec organizacji kartowych i utratę zaufania. Skimmer rzadko występuje sam: obecność złośliwego kodu w sklepie oznacza, że atakujący miał dostęp do strony i mógł zostawić tylną furtkę.

Jak się bronić

Wymagania PCI DSS. Standard PCI DSS w wersji 4 zawiera dwa wymagania skierowane przeciw e-skimmingowi: 6.4.3 i 11.6.1 [4]. Według Rady PCI ich sens polega na tym, by skrypty strony płatności były autoryzowane, sprawdzane pod kątem integralności i monitorowane pod kątem modyfikacji [4]. W marcu 2025 roku Rada opublikowała do nich osobny dokument z wytycznymi [4].

Kontrola skryptów w przeglądarce. Content Security Policy pozwala stronie ograniczyć to, co jej kod może robić w przeglądarce [6], w tym źródła, z których ładuje skrypty, i adresy, pod które wysyła dane. Subresource Integrity pozwala przeglądarce sprawdzić, czy pobrany plik, na przykład z CDN, nie został zmieniony: strona podaje skrót kryptograficzny, któremu zasób musi odpowiadać [5].

<script src="https://cdn.example.com/lib.js"
        integrity="sha384-..." crossorigin="anonymous"></script>

Utwardzenie WordPressa. Dokumentacja WordPressa zaleca aktualizacje wtyczek, usuwanie nieużywanych, instalowanie ich tylko z zaufanych źródeł i uwierzytelnianie dwuetapowe [7]. Sucuri dodaje zaporę aplikacyjną i monitorowanie integralności plików [3]. Zapora typu WAF utrudnia wykorzystanie znanej podatności, a uwierzytelnianie dwuskładnikowe utrudnia przejęcie konta, przez które skimmer trafia do widżetu.

Historia i przykłady

Magecart, 2020. Sekurak 12 maja 2020 roku opisał ponad 1200 sklepów zainfekowanych skimmerem, w tym kilka polskich domen [2]. Schemat polegał na znalezieniu podatności w platformie sklepu i dodaniu kodu, który przy płatności wyświetlał podstawiony formularz [2]. Niebezpiecznik, powołując się na analizę badacza Maxa Kerstena, podał liczbę 1236 zainfekowanych stron i zaznaczył, że większość wskazanych polskich sklepów działała na Magento 2 [1].

Skimmer w bazie WordPressa, 2025. Opisany wyżej przypadek Sucuri z 9 stycznia 2025 roku pokazuje przesunięcie z plików do bazy danych [3].

TAB. 2

Przypisy

7
  1. [1] Jeśli korzystałeś z tych sklepów dane Twojej karty mogły wyciec · Niebezpiecznik
  2. [2] Przeszło 1200 sklepów online zainfekowanych skimmerem wykradającym numery kart płatniczych. Jest też trochę polskich domen · Sekurak
  3. [3] Stealthy Credit Card Skimmer Targets WordPress Checkout Pages via Database Injection · Sucuri
  4. [4] New Information Supplement: Payment Page Security and Preventing E-Skimming · PCI Security Standards Council
  5. [5] Subresource Integrity · MDN Web Docs
  6. [6] Content Security Policy (CSP) · MDN Web Docs
  7. [7] Hardening WordPress — Advanced Administration Handbook · WordPress.org
TAB. 3

Hasła w tym artykule

13
TAB. 4

Linkują tutaj

16

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com