2026年11月12日
2026年11月12日
Sprawdzanie luk we wtyczkach WordPress: WP-CLI i WPScan
Ten artykuł jest zlokalizowaną wersją japońskiego oryginału. Przeczytaj japoński oryginał
Od ujawnienia luki we wtyczce do początku ataków może minąć bardzo mało czasu. Podstawą jest regularne powtarzanie cyklu: poznaj zainstalowane wtyczki i ich wersje, porównaj je ze znanymi lukami, a jeśli jest poprawka, zaktualizuj. W tym artykule po kolei omawiam sprawdzanie wersji w WP-CLI, porównanie w WPScan, czytanie baz luk, kontrolę modyfikacji plików i postępowanie po wykryciu problemu. Polecenia i warunki cenowe sprawdziłem w oficjalnej dokumentacji według stanu na listopad 2026.
1. Zrób listę zainstalowanych wtyczek i ich wersji
Najpierw ustal, co jest zainstalowane i w jakich wersjach. Można to sprawdzić także w panelu w „Wtyczki → Zainstalowane wtyczki" (Plugins → Installed Plugins), ale w WP-CLI listę możesz zapisać.
# Wyświetl nazwę, wersję, stan włączenia/wyłączenia i dostępność aktualizacji
wp plugin list --fields=name,version,status,update
# Wyświetl tylko te, które mają aktualizację
wp plugin list --update=available
# Zapisz do celów dokumentacji w JSON
wp plugin list --fields=name,version,status --format=json > plugins.json
Na liście pojawiają się także wyłączone wtyczki. Nawet wyłączone mają pliki na serwerze i czasem można bezpośrednio otworzyć plik podatny na atak, więc nieużywane usuń. Podstawy WP-CLI opisuję w artykule „Jak zarządzać wtyczkami przez WP-CLI".
2. Porównaj ze znanymi lukami w WPScan
WPScan to narzędzie wiersza poleceń do badania witryn WordPress z zewnątrz. Informacje o lukach pobiera z API WPScan, więc załóż konto na wpscan.com i wygeneruj token API.
Według strony z cennikiem WPScan darmowy plan jest ograniczony do użytku niekomercyjnego, a liczba wywołań API wynosi do 25 dziennie. Do witryn firmowych potrzebna jest płatna licencja. Bez tokenu API narzędzie działa, ale nie wyświetla informacji o lukach.
# Instalacja (przez gem w Ruby)
gem install wpscan
# Jeśli używasz Dockera
docker pull wpscanteam/wpscan
# Sprawdź wtyczki, w których zgłoszono luki
wpscan --url https://example.com --api-token YOUR_API_TOKEN -e vp
# Ustaw wykrywanie zarówno w trybie passive, jak i aggressive
wpscan --url https://example.com --api-token YOUR_API_TOKEN -e vp --plugins-detection mixed
Główne wartości dla -e:
| Wartość | Czego dotyczy |
|---|---|
vp |
Wtyczki, w których zgłoszono luki |
ap |
Wszystkie wtyczki |
p |
Popularne wtyczki |
vt |
Motywy, w których zgłoszono luki |
Domyślnie wtyczki są wykrywane w trybie passive, czyli na podstawie np. HTML strony. Wtyczek, które nie zostawiają śladu w HTML, można nie znaleźć, więc tryb aggressive lub mixed wykryje więcej, ale zwiększy też liczbę zapytań.
WPScan wolno używać tylko do witryn, które sam zarządzasz, albo takich, na które masz zgodę. Więcej o używaniu narzędzia znajdziesz też w „Badanie luk witryny za pomocą WPScan".
3. Sprawdź szczegóły w bazie luk
Wtyczki, które pojawiły się w wynikach WPScan lub w newsach o bezpieczeństwie, sprawdź w poniższych bazach.
- WPScan Vulnerability Database (wpscan.com)
- Wordfence Intelligence (wordfence.com)
- Patchstack Database (patchstack.com)
- NVD (nvd.nist.gov, wyszukiwanie po numerze CVE)
Warto zwrócić uwagę na następujące pozycje.
| Pozycja | Co sprawdzić |
|---|---|
| Dotknięte wersje | Czy Twoja wersja mieści się w zakresie |
| Wersja z poprawką | Czy aktualizacja rozwiąże problem. Czasem poprawki jeszcze nie ma |
| Wymagane uprawnienia | Czy da się to wykorzystać bez logowania, czy potrzebne są uprawnienia autora lub subskrybenta |
| Waga (CVSS) | Liczba od 0 do 10. Im wyższa, tym większy wpływ |
| Rodzaj | XSS, SQL injection, eskalacja uprawnień, dowolne wgrywanie plików itp. |
Najpierw zajmij się lukami możliwymi do wykorzystania bez logowania i tymi o wysokiej wadze. Luki wykorzystywane z uprawnieniami subskrybenta są pilne w witrynach z rejestracją użytkowników (serwisy członkowskie, sklepy itp.).
4. Sprawdź, czy pliki nie zostały zmodyfikowane
Jeśli luka mogła zostać wykorzystana, sprawdź, czy pliki są takie, jak w dystrybucji. verify-checksums w WP-CLI porównuje pliki z sumami kontrolnymi publikowanymi przez WordPress.org.
# Sprawdź wszystkie wtyczki
wp plugin verify-checksums --all
# Sprawdź tylko wybraną wtyczkę
wp plugin verify-checksums contact-form-7
# Sprawdź pliki rdzenia WordPress
wp core verify-checksums
Jeśli wszystko jest w porządku, zobaczysz komunikat w rodzaju Success: Verified 8 of 8 plugins.. Gdy są dodane pliki albo pliki o innej zawartości, wyświetli się ich lista.
Płatne wtyczki, które nie są dystrybuowane w WordPress.org, nie mają sum kontrolnych, więc tą metodą ich nie sprawdzisz. W takim przypadku pobierz tę samą wersję od dostawcy i porównaj pliki.
5. Co robić po wykryciu luki
# Jeśli jest poprawka: zaktualizuj
wp plugin update contact-form-7
# Jeśli poprawki nie ma: wyłącz, a jeśli nie używasz, usuń
wp plugin deactivate vulnerable-plugin
wp plugin delete vulnerable-plugin
# Przed zbiorczą aktualizacją sprawdź, co zostanie zaktualizowane
wp plugin update --all --dry-run
vulnerable-plugin to przykład. Zastąp go prawdziwym slugiem (kolumna name w wp plugin list).
- Przed aktualizacją zrób kopię zapasową, a po niej sprawdź, czy działają najważniejsze ekrany (formularz kontaktowy, płatności itp.).
- Jeśli poprawka się nie pojawia, a rozwój wtyczki jest wstrzymany, rozważ przejście na inną wtyczkę o tej samej funkcji. Jeśli dystrybucja wtyczki w WordPress.org została wstrzymana, na stronie wtyczki pojawia się odpowiednia informacja.
- Jeśli są ślady modyfikacji, sama aktualizacja nie wystarczy. Sprawdź też dodanie użytkowników-administratorów, pliki PHP umieszczone w uploads i zmiany w wp-config.php, a w razie potrzeby przywróć kopię zapasową.
6. Zrób z kontroli nawyk
- W panelu w „Wtyczki" możesz włączyć automatyczne aktualizacje dla każdej wtyczki osobno (od WordPress 5.5). Zacznij od wtyczek, po których aktualizacji najmniej obawiasz się rozsypania wyglądu. Szczegóły w „Jak ustawić automatyczne aktualizacje wtyczek".
- Jeśli uruchamiasz WPScan cyklicznie przez cron, pamiętaj o limicie 25 wywołań dziennie w darmowym planie i o warunku użytku niekomercyjnego.
- Wtyczka bezpieczeństwa Wordfence również podczas skanowania informuje m.in. o wtyczkach wymagających aktualizacji. Sposób użycia opisuję w „Skanowanie witryny za pomocą Wordfence".
Podsumowanie
Sprawdzanie luk we wtyczkach przebiega w następującej kolejności: zrób listę (wp plugin list), porównaj ze znanymi lukami (WPScan lub bazy luk), sprawdź, czy pliki nie zostały zmodyfikowane (wp plugin verify-checksums), a następnie zaktualizuj lub usuń wtyczkę. Najmniej pracochłonnym zabezpieczeniem jest usuwanie nieużywanych wtyczek.
Pytania o WordPress? Wydawca tej witryny ma siedzibę w Japonii i odpowiada po japońsku. Kontakt (po japońsku)