WordPress jest jednym z najpopularniejszych systemów CMS na świecie — a to niestety czyni go również częstym celem ataków. Infekcje mogą pojawić się po wgraniu niezaufanych motywów, wtyczek lub przez luki w zabezpieczeniach serwera.
Zamiast jednak ręcznie przeszukiwać pliki, możesz skorzystać z WP-CLI — potężnego narzędzia wiersza poleceń, które pozwala analizować i naprawiać WordPressa szybciej niż przez panel administratora.
W tym poradniku pokażę, jak wykrywać złośliwe pliki, nieautoryzowane zmiany i podejrzany kod w WordPressie za pomocą WP-CLI.
Czym jest WP-CLI?
WP-CLI (WordPress Command Line Interface) to narzędzie umożliwiające zarządzanie stroną WordPress bez użycia przeglądarki — prosto z terminala.
Możesz za jego pomocą:
- aktualizować wtyczki i motywy,
- przeszukiwać bazę danych,
- wykonywać backupy,
- oraz analizować integralność plików WordPressa.
Działa na większości serwerów z dostępem SSH i obsługą PHP.
Krok 1: Sprawdź, czy WP-CLI jest dostępne
W terminalu wpisz:
wp --info
Jeśli zobaczysz informacje o wersji PHP i WP-CLI, wszystko działa poprawnie.
W przeciwnym razie możesz zainstalować WP-CLI poleceniem:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
Krok 2: Zweryfikuj integralność plików WordPressa
WP-CLI pozwala porównać Twoje pliki z oryginalną wersją WordPressa, aby wykryć zmiany lub nieznane pliki:
wp core verify-checksums
Ten prosty test wykrywa:
- zmodyfikowane pliki rdzenia WordPressa,
- brakujące pliki systemowe,
- dodatkowe (podejrzane) pliki w folderach
wp-admin lub wp-includes.
Jeśli wynik zawiera komunikaty typu „File does not verify against checksum”, to znak, że plik został zmieniony — potencjalnie przez malware.
Krok 3: Wyszukiwanie podejrzanych fragmentów kodu
Złośliwe skrypty często zawierają funkcje takie jak base64_decode, eval, exec, system czy shell_exec.
Możesz je wyszukać jednym poleceniem:
grep -r "base64_decode" wp-content/
grep -r "eval(" wp-content/
Lub bezpośrednio w WP-CLI:
wp eval-file <(grep -r "eval(" wp-content/)
Jeżeli znajdziesz wiele takich wystąpień w nieznanych plikach PHP, warto je ręcznie przeanalizować — często są to ukryte backdoory.
Krok 4: Sprawdzenie plików w katalogu uploads
Hakerzy często umieszczają złośliwe skrypty w katalogu wp-content/uploads, gdzie mogą się podszywać pod obrazy lub pliki PDF.
Możesz znaleźć nietypowe rozszerzenia plików:
find wp-content/uploads -type f ! -name "*.jpg" ! -name "*.png" ! -name "*.gif" ! -name "*.webp" ! -name "*.pdf"
Każdy plik .php lub .js w tym folderze powinien wzbudzić Twoją czujność.
Krok 5: Skorzystaj z wtyczki WP-CLI „Doctor”
WP-CLI ma rozszerzenie wp doctor, które automatycznie diagnozuje typowe problemy bezpieczeństwa i konfiguracji.
Zainstaluj je:
wp package install wp-cli/doctor-command
A następnie uruchom:
wp doctor check --group=security
Narzędzie przeanalizuje pliki, uprawnienia, wersje PHP, ustawienia serwera i inne potencjalne ryzyka.
Krok 6: Oczyszczanie po infekcji
Po wykryciu nieprawidłowości:
- Usuń lub zastąp zainfekowane pliki oryginalnymi z repozytorium WordPressa.
- Zaktualizuj wszystkie motywy i wtyczki.
- Wymuś zmianę wszystkich haseł użytkowników.
- Zmień klucze bezpieczeństwa w pliku
wp-config.php.
- Włącz automatyczne aktualizacje bezpieczeństwa:
wp config set WP_AUTO_UPDATE_CORE minor --raw
Podsumowanie
WP-CLI to nie tylko narzędzie administracyjne — to również skuteczny sposób na diagnostykę bezpieczeństwa.
Dzięki prostym komendom możesz wykryć infekcje i anomalie w kodzie znacznie szybciej niż przez panel administratora.
Jeśli korzystasz z WordPressa na serwerze z dostępem SSH, wdrożenie WP-CLI to jeden z najlepszych sposobów na utrzymanie bezpieczeństwa i higieny Twojej strony.