Zainfekowany sklep internetowy - jak rozpoznać malware i oczyścić stronę

Technical Implementation Expert
Zainfekowany sklep internetowy - jak rozpoznać malware i oczyścić stronę
Zainfekowany sklep internetowy najczęściej zdradzają przekierowania na obce strony, ostrzeżenie przeglądarki o niebezpiecznej witrynie, dziwne wyniki w Google albo nieznane konta administratorów w panelu. Żeby oczyścić stronę, trzeba zabezpieczyć kopię obecnego stanu, zmienić wszystkie hasła, zastąpić pliki systemu i wtyczek czystymi wersjami z oficjalnych źródeł, usunąć złośliwy kod z bazy danych i zamknąć lukę, przez którą malware się dostał. Na końcu zgłaszasz stronę do ponownej weryfikacji w Google Search Console.
Malware w sklepie to nie tylko problem wizerunkowy. Złośliwy skrypt na stronie płatności może przechwytywać dane kart klientów, ukryte strony ze spamem psują pozycje w Google, a ostrzeżenie w przeglądarce w praktyce zatrzymuje sprzedaż. Do tego hosting może zablokować konto, gdy z serwera zaczyna wychodzić spam. Poniżej opisujemy, jak rozpoznać infekcję, jakimi narzędziami sprawdzić sklep i jak krok po kroku go oczyścić, żeby problem nie wrócił po tygodniu.
[#wazne] W skrócie: malware w sklepie internetowym to złośliwy kod dodany do plików lub bazy danych strony, który przekierowuje klientów, wyświetla spam, kradnie dane albo rozsyła wiadomości. Rozpoznasz go po nietypowym zachowaniu strony, ostrzeżeniach Google i wynikach skanerów. Czyszczenie polega na odtworzeniu plików z czystych źródeł, usunięciu kodu z bazy, zmianie haseł i aktualizacji oprogramowania. W Vinson pomagamy sklepom na WooCommerce i innych platformach znaleźć infekcję, oczyścić stronę i zabezpieczyć ją na przyszłość.
Czym jest malware w sklepie internetowym
Malware, czyli złośliwe oprogramowanie, to w przypadku strony internetowej kod dopisany przez atakującego do plików sklepu, motywu, wtyczek albo do bazy danych. Nie jest to wirus w klasycznym sensie, który instaluje się na komputerze klienta - działa na serwerze lub w przeglądarce odwiedzającego. Najczęściej spotykane rodzaje infekcji w sklepach to:
Złośliwe przekierowania - część odwiedzających, często tylko z telefonów lub z wyników Google, trafia na stronę z oszustwem, hazardem albo fałszywą nagrodą.
Spam SEO - na serwerze pojawiają się tysiące ukrytych podstron z reklamami leków, podróbek czy kasyn, które Google indeksuje pod domeną sklepu.
Skimmer kart płatniczych - skrypt na stronie koszyka lub zamówienia przechwytuje dane wpisywane przez klientów i wysyła je na serwer przestępców.
Backdoor - ukryty plik, który daje atakującemu stały dostęp do serwera, nawet po zmianie haseł.
Rozsyłanie spamu - skrypt wysyła masowo wiadomości z serwera, przez co domena i adres IP trafiają na czarne listy.
Atakujący zwykle nie celują w konkretny sklep. Automaty skanują internet w poszukiwaniu znanych luk w popularnych wtyczkach, słabych haseł do panelu i nieaktualnych wersji oprogramowania. Mały sklep na WordPressie z kilkoma porzuconymi wtyczkami jest dla nich równie atrakcyjny jak duży, bo przejęcie go nic nie kosztuje.
Jak rozpoznać zainfekowany sklep - objawy malware
Infekcja często długo pozostaje niewidoczna dla właściciela, bo złośliwy kod potrafi ukrywać się przed zalogowanymi administratorami i pokazywać tylko gościom albo robotom Google. Dlatego warto znać sygnały, które powinny zapalić lampkę ostrzegawczą, i wiedzieć, co zwykle za nimi stoi:
[#chart:wit47a]
Pojedynczy objaw nie przesądza o infekcji. Nagłe spowolnienie może wynikać z ruchu robotów, a spadek pozycji z aktualizacji algorytmu. Jeśli jednak widzisz dwa lub trzy sygnały naraz, na przykład ostrzeżenie w Search Console i nowe pliki na serwerze, trzeba założyć, że sklep jest zainfekowany, i działać od razu.
Sygnały od klientów i partnerów
Część objawów widzą najpierw inni. Klient pisze, że przy płatności pojawiło się dodatkowe okno z formularzem karty. Kilku kupujących zgłasza nieautoryzowane transakcje po zakupie w sklepie. Hosting przysyła wiadomość o wykryciu złośliwych plików albo o zawieszeniu konta z powodu wysyłki spamu. Operator płatności informuje o podejrzeniu wycieku danych kart. Każdą taką wiadomość traktuj poważnie, nawet jeśli w panelu sklepu wszystko wygląda normalnie.
- Diagnoza problemu i plan naprawy
- Bezpieczeństwo, kopie zapasowe, poczta
- Stała opieka IT dla e-commerce
Konsultację poprowadzi Łukasz Palej, Technical Implementation ExpertJak sprawdzić sklep pod kątem malware - narzędzia do skanowania
Żaden skaner nie znajdzie wszystkiego, dlatego najlepiej łączyć narzędzia, które patrzą na sklep z zewnątrz, z tymi, które sprawdzają pliki na serwerze. Większość podstawowych narzędzi jest dostępna bezpłatnie:
[#chart:wit47b]
Skanery zewnętrzne widzą tylko to, co strona pokazuje odwiedzającym, więc nie wykryją backdoora schowanego w katalogu, do którego nikt nie linkuje. Z kolei skaner plików na serwerze nie zawsze rozpozna złośliwy skrypt dopisany w ustawieniach sklepu w bazie danych, na przykład w polu na kod śledzący. Dlatego przy podejrzeniu infekcji warto przejrzeć ręcznie także te miejsca, w których administrator może wkleić własny kod: ustawienia motywu, menedżer tagów, pola na skrypty w nagłówku i stopce.
Gdzie szukać infekcji w zależności od platformy
Zakres czyszczenia zależy od tego, na czym działa sklep. Inaczej wygląda sprawa przy własnej instalacji na hostingu, a inaczej w platformie w abonamencie:
| Platforma | Gdzie najczęściej siedzi malware | Kto czyści |
|---|---|---|
| WordPress i WooCommerce | Wtyczki i motywy, katalog uploads, plik wp-config.php, tabele wp_options i wp_posts | Właściciel sklepu lub jego firma IT |
| PrestaShop, Magento i inne instalacje własne | Moduły, pliki szablonu, pliki konfiguracyjne, strona zamówienia | Właściciel sklepu lub jego firma IT |
| Sklep w abonamencie (np. Shoper) | Własne skrypty wklejone w szablon, zewnętrzne kody śledzące, przejęte konto administratora | Dostawca odpowiada za serwery, właściciel za konta i dodany kod |
| Każda platforma | Menedżer tagów i skrypty zewnętrznych usług | Osoba z dostępem do tych narzędzi |
Ostatni wiersz tabeli często umyka uwadze. Menedżer tagów, wtyczki czatu, narzędzia do opinii czy skrypty analityczne ładują kod z zewnętrznych serwerów na każdej stronie sklepu, także w koszyku. Jeśli ktoś przejmie konto w takim narzędziu albo sam dostawca padnie ofiarą ataku, złośliwy skrypt pojawi się w sklepie bez żadnej zmiany w jego plikach. Dlatego warto okresowo przeglądać listę skryptów ładowanych na stronie zamówienia, usuwać te, których nikt już nie używa, i chronić konta w menedżerze tagów weryfikacją dwuetapową.
Jak oczyścić zainfekowany sklep internetowy krok po kroku
Czyszczenie sklepu to nie tylko usunięcie jednego podejrzanego pliku. Jeśli nie znajdziesz backdoora i nie zamkniesz luki, atakujący wróci w ciągu kilku dni. Bezpieczna procedura wygląda tak:
[#chart:wit47c]
W sklepie na WordPressie pomocne jest narzędzie WP-CLI. Polecenie wp core verify-checksums porównuje pliki WordPressa z oficjalnymi sumami kontrolnymi, a wp plugin verify-checksums --all robi to samo dla wtyczek pobranych z katalogu WordPress.org. Różnice wskazują pliki, które ktoś zmienił. Wtyczki płatne i motywy trzeba porównać z czystą paczką pobraną od producenta.
Poza plikami sklepu sprawdź też miejsca, które łatwo przeoczyć: zadania cykliczne (cron) w panelu hostingu, które mogą co kilka minut odtwarzać usunięty złośliwy plik, plik .htaccess z regułami przekierowań, katalog na pliki przesyłane przez użytkowników, w którym nie powinno być plików PHP, oraz konta FTP i klucze SSH dodane bez Twojej wiedzy. W bazie danych szukaj fragmentów kodu JavaScript i ukrytych odnośników w treściach stron, opisach produktów i ustawieniach motywu.
Hosting zablokował sklep - co dalej
Gdy hosting wykryje malware lub wysyłkę spamu, często blokuje konto albo ogranicza wysyłkę poczty. To nie jest kara, tylko ochrona innych klientów serwera. Poproś pomoc techniczną o listę wykrytych plików i logi - to cenna wskazówka, od czego zacząć. Po oczyszczeniu hosting zwykle odblokowuje konto po ponownym skanie. Jeśli z serwera wychodził spam, sprawdź też, czy domena i adres IP nie trafiły na czarne listy, bo wtedy maile transakcyjne ze sklepu mogą lądować w spamie u klientów jeszcze przez jakiś czas.
Czy przywrócić sklep z kopii zapasowej?
Przywrócenie kopii sprzed infekcji bywa najszybszą drogą, ale ma dwie pułapki. Po pierwsze, trzeba wiedzieć, kiedy infekcja się zaczęła - kopia sprzed tygodnia może już zawierać backdoor. Po drugie, kopia sprzed kilku dni nie ma najnowszych zamówień, kont klientów i zmian w produktach, więc trzeba je odtworzyć. Kopia przywrócona bez zmiany haseł i aktualizacji wtyczek wróci do tego samego stanu, w którym sklep został zaatakowany. Jak wykonywać i odtwarzać kopie w WooCommerce, opisujemy w poradniku
[#uwaga] Jeśli malware mógł przechwytywać dane kart lub inne dane osobowe klientów, masz do czynienia z naruszeniem ochrony danych osobowych. Zgodnie z art. 33 RODO zgłaszasz je do Prezesa UODO bez zbędnej zwłoki, w miarę możliwości w ciągu 72 godzin od jego stwierdzenia (stan na kwiecień 2026 - sprawdź aktualne wytyczne UODO). Powiadom też operatora płatności i zgłoś incydent do CERT Polska.
Usunięcie ostrzeżenia Google po oczyszczeniu strony
Jeśli Google oznaczył sklep jako niebezpieczny, ostrzeżenie nie zniknie samo zaraz po czyszczeniu. W Google Search Console, w raporcie Problemy dotyczące bezpieczeństwa, po usunięciu malware zaznaczasz, że problem został rozwiązany, i prosisz o sprawdzenie. W prośbie opisz, co zostało usunięte i jak zamknięto lukę. Spam SEO wymaga dodatkowo usunięcia ukrytych podstron, tak żeby zwracały błąd 404 lub 410, i sprawdzenia mapy witryny. Pozycje w wyszukiwarce wracają stopniowo, w miarę jak Google ponownie odwiedza stronę.
Jak zabezpieczyć sklep przed ponownym malware
Oczyszczona strona bez zmian w zabezpieczeniach to tylko przerwa przed kolejną infekcją. Po czyszczeniu warto wdrożyć kilka zasad, które zamykają najczęstsze drogi ataku:
Regularne aktualizacje - systemu sklepu, wtyczek, motywu i wersji PHP na serwerze, najlepiej najpierw na kopii testowej.
Mniej wtyczek - usuń wtyczki nieużywane i porzucone przez autorów, nawet jeśli są wyłączone.
Weryfikacja dwuetapowa - na koncie administratora sklepu, hostingu i poczty.
Zapora aplikacyjna - filtr ruchu, który blokuje znane ataki, zanim dotrą do sklepu, np. w Cloudflare albo jako wtyczka bezpieczeństwa.
Monitoring zmian w plikach - powiadomienie, gdy na serwerze pojawi się nowy plik PHP albo zmieni się plik systemowy.
Kopie zapasowe poza serwerem - przechowywane dłużej niż kilka dni, żeby było z czego wybrać wersję sprzed infekcji.
Jak dodać do sklepu ochronę na poziomie DNS i zapory, opisujemy we wpisie
Jak Vinson pomaga oczyścić zainfekowany sklep internetowy
Vinson to agencja e-commerce z Bochni działająca od 2021 r., autoryzowany partner Shoper i certyfikowany partner Base, oceniana na 4,9/5 ze 171 opinii przez klientów z ponad 500 firm. W ramach
Najczęściej zadawane pytania
Jak sprawdzić, czy mój sklep internetowy ma wirusa?
Zacznij od raportu Problemy dotyczące bezpieczeństwa w Google Search Console i sprawdzenia adresu w narzędziu Stan witryny w Google Safe Browsing. Następnie przeskanuj stronę zewnętrznym skanerem, np. Sucuri SiteCheck, a pliki na serwerze skanerem hostingu lub wtyczką bezpieczeństwa. Sprawdź też listę administratorów w panelu sklepu i otwórz stronę z telefonu w trybie prywatnym.
Czy wystarczy usunąć zainfekowany plik?
Zwykle nie. Atakujący prawie zawsze zostawia kilka backdoorów w różnych miejscach i dopisuje kod do bazy danych. Usunięcie jednego pliku bez zmiany haseł, aktualizacji wtyczek i zamknięcia luki kończy się powrotem infekcji po kilku dniach.
Ile trwa czyszczenie sklepu z malware?
Prosty przypadek, w którym infekcja dotyczy kilku plików i jest znana przyczyna, można oczyścić w ciągu jednego dnia roboczego. Rozległe infekcje ze spamem SEO, wieloma backdoorami i kodem w bazie wymagają więcej czasu. Do tego dochodzi czas, w którym Google sprawdza stronę i zdejmuje ostrzeżenie.
Czy sklep na Shoperze może zostać zainfekowany?
Za serwery i system sklepu w abonamencie odpowiada dostawca, więc klasyczna infekcja plików jest mało prawdopodobna. Ryzyko przenosi się na konta administratorów i na kod, który sam wklejasz w szablon lub menedżer tagów. Dlatego także w takim sklepie potrzebna jest weryfikacja dwuetapowa i kontrola dodanych skryptów.
Czy po infekcji muszę powiadomić klientów?
Jeśli malware mógł przechwycić dane osobowe lub dane kart i wiąże się to z wysokim ryzykiem dla klientów, RODO wymaga zawiadomienia ich bez zbędnej zwłoki. Naruszenie zgłaszasz też do UODO, w miarę możliwości w ciągu 72 godzin. W razie wątpliwości skonsultuj ocenę ryzyka z inspektorem ochrony danych lub prawnikiem.
Jeśli podejrzewasz, że Twój sklep jest zainfekowany, albo chcesz sprawdzić go, zanim zrobi to Google,


Łukasz Palej
Technical Implementation Expert
Wsparcie IT dla firm i sklepów
Łukasz i nasz zespół pomogą Ci wdrożyć to na Twoim koncie - bez zobowiązań.
- Analiza Twojego konta i obecnych działań
- Konkretny plan poprawek do wdrożenia
- Bezpłatna konsultacja – bez zobowiązań

Przeczytaj także
Więcej porad z naszej bazy wiedzy - przesuń, aby zobaczyć kolejne artykuły.
Wybierz dogodny termin w kalendarzu - bez wymiany maili w tę i z powrotem.
