Strona przekierowuje na obcą witrynę — dlaczego i co to znaczy
Klient dzwoni, że strona „wyrzuca go na jakieś kasyno”. Sprawdzasz — działa normalnie. Sprawdzasz jeszcze raz, na telefonie — też dobrze. I zaczyna się najgorszy rodzaj problemu: taki, którego nie da się powtórzyć na żądanie.
Przekierowanie, które pojawia się „czasami”, prawie zawsze oznacza infekcję z warunkiem. Ktoś celowo ustawił, komu je pokazać, a komu nie.
Dlaczego widzisz je tylko czasem
Najczęstsze warunki, jakie spotykam w kodzie złośliwych wtyczek:
- skąd przyszedł użytkownik — przekieruj tylko tych z wyników wyszukiwania; wpisujących adres ręcznie zostaw w spokoju,
- na czym ogląda stronę — tylko telefon, bo właściciel sprawdza na komputerze,
- czy już tu był — jednorazowe ciasteczko sprawia, że druga wizyta wygląda normalnie i myślisz, że Ci się przywidziało,
- czy jest zalogowany — administrator nie widzi niczego, odwiedzający widzą wszystko.
To nie jest przypadek ani niedoróbka. To projekt: im później właściciel zauważy, tym dłużej infekcja zarabia.
Trzy miejsca, w których siedzi przekierowanie
1. Kod w plikach — wtyczka albo motyw
Najczęstszy wariant. Bywa to osobna wtyczka udająca narzędzie administracyjne albo dopisany fragment w pliku motywu — zwykle w tym, który ładuje się przy każdym żądaniu. Czasem kod jest zaszyfrowany tak, żeby w podglądzie wyglądał jak ciąg przypadkowych znaków.
Przy jednej ze stron wtyczka była dodatkowo ukryta przed listą w panelu — w kokpicie nie istniała, a działała przy każdym wejściu. Opisałem to w case study o ukrytej wtyczce.
2. Wpis w bazie danych
Dwa typowe miejsca: podmieniony adres witryny w ustawieniach albo skrypt wstrzyknięty w treść wpisów i widżetów. Ten drugi jest podstępny, bo pliki są czyste — skanery plikowe nie znajdują niczego, a strona dalej przekierowuje.
To także najczęstszy powód, dla którego infekcja wraca po „wyczyszczeniu”: ktoś usunął pliki, nie zaglądając do bazy.
3. Reguła po stronie serwera
Przekierowanie zapisane w pliku konfiguracyjnym serwera — na typowym hostingu w .htaccess. Działa, zanim WordPress w ogóle się uruchomi, więc żadna wtyczka bezpieczeństwa tego nie zobaczy. Reguła bywa doklejona na końcu pliku, pod kilkudziesięcioma pustymi liniami, żeby nie rzucała się w oczy przy pobieżnym podglądzie.
Jak sprawdzić to samemu, bez narzędzi
Trzy testy, każdy na dwie minuty:
- Wejście z wyników wyszukiwania, nie z zakładki. Wpisz w Google
site:twojadomena.pli kliknij w wynik. - Telefon, tryb prywatny, dane komórkowe zamiast domowego wi-fi. Część infekcji filtruje po adresie sieci.
- Wylogowanie z panelu albo inna przeglądarka. Jeśli przekierowanie pojawia się tylko dla niezalogowanych, to przesądza sprawę.
Jeśli choć jeden test pokaże przekierowanie — masz infekcję, nie błąd konfiguracji.
Czego nie robić
Nie kasuj pliku konfiguracyjnego serwera na oślep. Oprócz złośliwej reguły są w nim zwykle wpisy odpowiadające za adresy podstron i przekierowania, których potrzebujesz. Usunięcie całości potrafi wyłączyć pół serwisu.
Nie zmieniaj adresu witryny w ustawieniach, zanim nie wiesz, skąd wzięła się podmiana. Jeśli robi to skrypt, wróci przy najbliższym wywołaniu — a Ty stracisz informację o tym, że w ogóle do niej doszło.
Nie zakładaj, że po usunięciu pliku jest po sprawie. Przy przekierowaniach szczególnie często działa drugi mechanizm odtwarzający — zadanie cykliczne albo obce konto administratora.
Co zrobić zamiast tego
Zabezpieczyć kopię plików i bazy w stanie, w jakim są, pobrać logi serwera z ostatnich dni i dopiero wtedy szukać. Kolejność jest ta sama jak przy każdej infekcji — rozpisałem ją w tekście o pierwszej godzinie po wykryciu włamania.
Jeśli wolisz nie grzebać w tym sam: usuwam infekcje na kopii, poza działającym serwerem, więc strona nie musi być w tym czasie wyłączona. Diagnoza bezpłatna, odpowiadam tego samego dnia, wycenę podaję po obejrzeniu.
Pilne? +48 505 99 67 34.
Przekierowanie na obcą witrynę prawie zawsze oznacza, że ktoś ma dostęp do Twojej strony od dłuższego czasu. Po naprawie warto zadbać, żeby się nie powtórzyło — opieka nad stroną obejmuje aktualizacje, kopie zapasowe i monitoring zmian w plikach.