Pharma hack polega na podmianie treści zwracanej robotowi wyszukiwarki, dzięki czemu zaatakowana domena zaczyna pozycjonować się na frazy dotyczące leków na receptę. Właściciel strony widzi serwis bez zmian, ponieważ kod rozpoznaje user agenta i referera, a spam serwuje wyłącznie robotowi. Infekcję wykrywa się przez podgląd wersji strony pobranej jako Googlebot oraz przez raport skuteczności w Search Console. Czyszczenie obejmuje pliki motywu, wp-config.php, katalog mu-plugins oraz tabele wp_options i wp_posts. Po usunięciu kodu trzeba zamknąć lukę, zgłosić stronę do ponownego sprawdzenia i obserwować raport fraz przez kolejne tygodnie.
Czym jest pharma hack w WordPressie?
Pharma hack to infekcja, która podmienia treść strony wyłącznie dla robota wyszukiwarki, zostawiając odwiedzającym wersję niezmienioną. Mechanizm nazywa się cloakingiem i polega na sprawdzeniu nagłówka user agent oraz adresu, z którego przyszło żądanie, a następnie zwróceniu jednej z dwóch wersji dokumentu.
Celem ataku jest przejęcie autorytetu Twojej domeny na potrzeby pozycjonowania stron sprzedających leki bez recepty. Im starsza i mocniejsza domena, tym atrakcyjniejszy cel, dlatego ta infekcja częściej trafia w serwisy z długą historią. Ponieważ w przeglądarce nie widać niczego niepokojącego, wykrycie wymaga sprawdzenia strony w sposób, w jaki widzi ją robot.
Jak sprawdzić, czy strona ma pharma hack?
Pharma hack wykrywa się przez porównanie wersji strony widzianej przez przeglądarkę i przez robota. Poniżej metody uszeregowane od najszybszej.
- Sprawdzenie adresu w Search ConsoleUżyj narzędzia kontroli adresu URL i obejrzyj pobrany kod HTML. Treści o lekach w tym podglądzie przy ich braku w przeglądarce potwierdzają infekcję.
- Raport skutecznościPrzejrzyj frazy, na które strona wyświetla się w wynikach. Zapytania farmaceutyczne bez związku z ofertą to jeden z pierwszych sygnałów.
- Zapytanie site: w wyszukiwarcePrzejrzyj tytuły i opisy własnych podstron w wynikach. Podmienione fragmenty widać zwykle w opisie, zanim pojawią się w samym tytule.
- Pobranie strony z podmienionym user agentemPobierz dokument, podając nagłówek robota wyszukiwarki, i porównaj wynik z wersją zwracaną przeglądarce. Różnica w treści oznacza cloaking.
- Sprawdzenie pliku wp-config.phpZajrzyj na koniec pliku pod kątem instrukcji include oraz dyrektywy auto_prepend_file, którą infekcja wykorzystuje do ładowania kodu przed każdą stroną.
Po potwierdzeniu infekcji zostaje najbardziej pracochłonny etap, czyli znalezienie wszystkich kopii kodu.
Jak usunąć pharma hack ze strony WordPress?
Pharma hack usuwa się z pięciu miejsc naraz, bo pozostawienie jednej kopii kodu odtwarza pozostałe przy pierwszym wejściu robota. Czyszczenie zacznij od kopii zapasowej i od zmiany haseł, a dopiero potem przechodź do plików.
W plikach sprawdź functions.php aktywnego motywu, katalog wp-content/mu-plugins, koniec pliku wp-config.php oraz pliki w wp-includes o nazwach nieobecnych w oryginalnej paczce. Kod tej infekcji jest zwykle zapisany jako długi ciąg w base64 albo poskładany z fragmentów tablicy, dlatego szukaj długich jednolinijkowców odstających formatowaniem od reszty pliku.
W bazie danych przejrzyj tabelę wp_options pod kątem opcji przechowujących listę fraz oraz adres serwera, z którego pobierana jest treść spamu. Sprawdź też wp_posts, gdzie część odmian tej infekcji zapisuje gotowe bloki tekstu ukryte znacznikami stylu. Po wyczyszczeniu wszystkich kopii warto wiedzieć, ile potrwa powrót do stanu sprzed infekcji.
Ile trwa powrót strony do normy po pharma hacku?
Powrót do stanu sprzed infekcji zajmuje od dwóch tygodni do kilku miesięcy, zależnie od tego, jak długo działał cloaking. Poniżej kolejność zdarzeń, której można się spodziewać.
- Pierwsze 72 godziny: weryfikacja zgłoszenia i zdjęcie ostrzeżenia z wyników
- Pierwszy tydzień: ponowne przeskanowanie serwisu i wymiana opisów w wynikach
- Drugi i trzeci tydzień: zanik fraz farmaceutycznych w raporcie skuteczności
- Pierwszy miesiąc: powrót pozycji na własne frazy przy krótkich infekcjach
- Drugi i trzeci miesiąc: odbudowa widoczności przy infekcjach trwających dłużej
Tempo powrotu zależy też od tego, czy poza cloakingiem strona nie ma drugiej, bardziej widocznej infekcji.
Pharma hack a zwykły spam w treści - jak je odróżnić?
Pharma hack podmienia odpowiedź serwera i nie zostawia śladu w edytorze treści, a zwykły spam wstrzyknięty do wpisów widać po otwarciu wpisu w panelu. Rozróżnienie decyduje o tym, gdzie szukać kodu.
Pharma hack
Treść wpisu w panelu jest poprawna, a spam pojawia się dopiero w wersji zwracanej robotowi. Kod siedzi w plikach PHP albo w opcjach bazy i uruchamia się przed wygenerowaniem strony, dlatego edycja wpisów niczego nie zmienia.
Spam wstrzyknięty do treści
Linki i bloki tekstu widać po otwarciu wpisu w edytorze, zwykle na końcu treści i ukryte stylem. Usuwa się je zapytaniem do bazy danych albo ręczną edycją, a strona wraca do normy od razu po zapisaniu zmian.
Niezależnie od odmiany infekcji po czyszczeniu zostaje ten sam zestaw prac zamykających sprawę.
Co zrobić po usunięciu pharma hacka?
Po usunięciu kodu podmieniającego treść zostaje zamknięcie luki, sprawdzenie pozostałych nośników infekcji i zgłoszenie strony do ponownej weryfikacji. Ta infekcja rzadko występuje samodzielnie, dlatego kontrola całego serwisu jest tu obowiązkowa.
Sprawdzenie pozostałych nośników infekcji
Cloaking uruchamiany jest przez kod wgrany wcześniej, zwykle razem z backdoorem, dlatego serwis przechodzi się według instrukcji jak usunąć wirusa ze strony internetowej. Obejmuje ona porównanie rdzenia z oryginalną paczką i przegląd tabel bazy danych. Przy tej infekcji szczególnie warto sprawdzić katalog mu-plugins, który nie pojawia się na liście wtyczek.
Zamknięcie drogi powrotu
Jeśli spam wraca po kilku dniach, w serwisie został backdoor w WordPress odtwarzający kod z zewnętrznego serwera. Backdoor bywa uruchamiany zadaniem cron zapisanym w bazie, więc sam przegląd plików go nie wykryje. Dopóki działa, każde czyszczenie jest tymczasowe.
Czy trzeba usuwać stare wpisy, które wyświetlały spam?
Nie, treść wpisów pozostaje nienaruszona, bo infekcja podmieniała ją dopiero w odpowiedzi serwera. Usunięcie wpisów oznaczałoby utratę pozycji zdobytych przed atakiem.
Czy monitoring wykryje kolejną próbę podmiany treści?
Tak, porównywanie sum kontrolnych plików i regularne sprawdzanie pobranej wersji strony wychwytuje cloaking w ciągu godzin zamiast tygodni. Zestaw takich zabezpieczeń opisuje instrukcja jak zabezpieczyć stronę WordPress. Najprostszym elementem jest tu cotygodniowy podgląd raportu fraz w Search Console. Frazy farmaceutyczne pojawiają się w nim wcześniej niż ostrzeżenie o zhakowanej treści.
Czym pharma hack nie jest
Pharma hack nie jest problemem widocznym w przeglądarce, dlatego zapewnienie, że strona wygląda poprawnie, nie jest dowodem na brak infekcji. Nie jest też skutkiem złej optymalizacji ani błędu wtyczki SEO, mimo że objawia się w raportach wyszukiwarki. Nie usuwa się go wreszcie przez edycję wpisów w panelu, bo kod działa poza treścią i uruchamia się przed jej wygenerowaniem.
Najczęstsze pytania o pharma hack
Czy pharma hack widać po wejściu na stronę?
Nie, dla zwykłego odwiedzającego serwis wygląda normalnie, bo kod rozpoznaje przeglądarkę i nie podmienia treści. Spam pojawia się wyłącznie w wersji zwracanej robotowi wyszukiwarki oraz w wynikach wyszukiwania.
Czy wystarczy usunąć kod z pliku functions.php?
Nie, ta infekcja rozkłada się zwykle na kilka plików i dodatkowo zapisuje w bazie danych. Po wyczyszczeniu jednego miejsca kod odtwarza się z pozostałych przy pierwszym wejściu robota.
Czy pharma hack wpływa na pozycje strony?
Tak, domena zaczyna być kojarzona z treściami farmaceutycznymi i traci widoczność na własne frazy. Przy dłużej trwającej infekcji Google dodaje ostrzeżenie o zhakowanej treści w wynikach wyszukiwania.
Czy da się sprawdzić pharma hack bez dostępu do serwera?
Tak, wystarczy narzędzie sprawdzania adresu URL w Search Console i podgląd pobranej strony. Jeśli w kodzie widać treści o lekach, których nie ma w przeglądarce, infekcja jest potwierdzona.
Czy po wyczyszczeniu trzeba zgłaszać stronę do Google?
Tak, gdy w Search Console pojawiło się zgłoszenie problemu bezpieczeństwa. Zgłoszenie prośby o ponowne sprawdzenie wysyła się po usunięciu kodu i po potwierdzeniu, że pobrana wersja strony jest już czysta.
Wolisz oddać to komuś, kto robi to codziennie?
Usuwamy pharma hack razem z mechanizmem podmiany treści za 600 zł netto. Jeśli w raporcie skuteczności widzisz frazy dotyczące leków, a strona wygląda poprawnie, wyślij adres domeny, a sprawdzimy, co widzi robot wyszukiwarki.
Diagnoza jest bezpłatna. Płatność następuje po wyczyszczeniu strony, na podstawie faktury VAT.
- Realizacja do 24 godzin
- Pliki, baza danych i backdoory
- Zgłoszenie do Google Search Console
- Ponowne czyszczenie gratis przez 30 dni