Testy penetracyjne WordPress: CVE wtyczek, REST API i bezpieczeństwo CMS klasy enterprise
WordPress napędza 43% wszystkich stron WWW, w tym tysiące małych firm, sklepów WooCommerce oraz blogów redakcyjnych. Podatności WordPressa koncentrują się we wtyczkach (1500+ CVE rocznie według WPScan) oraz w REST API. CVE-2024-1827 (Elementor), CVE-2023-5561 (enumeracja użytkowników w REST API), CVE-2023-1862 (XSS w jQuery) to najnowsze przykłady. Matproof Sentinel wykonuje ukierunkowane pentesty WordPress z raportami gotowymi do audytów GDPR/DORA już od 149 EUR.
Dlaczego WordPress wymaga szczególnej uwagi pentestowej
WordPress to najpopularniejszy CMS na świecie, ale również najczęściej atakowany: Sucuri raportuje, że 43% zhakowanych stron w 2024 roku to instalacje WordPress, a większość włamań to skutek nieaktualnych wtyczek. Sam WPScan skatalogował ponad 5000 CVE w wtyczkach WordPress w latach 2023-2024. CVE-2024-1827 (Elementor < 3.16.4) umożliwia stored XSS, który można wykorzystać do przejęcia sesji. Elementor jest zainstalowany na ponad 5 milionach stron. Poza CVE instalacje WordPress eksponują powierzchnie legacy: XML-RPC włączone domyślnie umożliwia amplifikację DDoS oraz brute-force, eksponowane wp-config.php przy błędnej konfiguracji, atakowane przez botnety wp-admin bez ograniczeń IP (50 000+ prób dziennie na typowej stronie).
- CVE-2024-1827 (Elementor < 3.16.4): stored XSS możliwy do wykorzystania do przejęcia sesji. Elementor jest zainstalowany na 5+ milionach stron WordPress.
- CVE-2023-5561 (WordPress core < 6.3.2): enumeracja użytkowników przez REST API, nawet przy włączonym wymogu uwierzytelnienia. Ułatwia przygotowanie ataku brute-force.
- CVE-2023-1862 (XSS jQuery w wtyczkach): możliwy do wykorzystania XSS w setkach wtyczek wciąż korzystających z podatnej wersji jQuery.
- Ponad 5000 CVE wtyczek WordPress udokumentowanych przez WPScan w 2023-2024. Nieaktualne wtyczki są główną przyczyną większości zhakowanych witryn.
- XML-RPC domyślnie włączone: pozwala na amplifikację DDoS (metoda pingback) oraz brute-force z ominięciem standardowego rate limiting dla wp-login.php.
- Eksponowane REST API: enumeracja użytkowników (/wp-json/wp/v2/users), prywatne posty (błąd prywatności przy błędnej konfiguracji), eksponowane metadane.
- WooCommerce + e-commerce: dodatkowa powierzchnia ataku, czyli przetwarzanie płatności, PII klientów, REST API magazynowe, wtyczki płatnicze z CVE.
Co konkretnie testujemy w instalacji WordPress
- Audyt wtyczek: enumeracja wszystkich zainstalowanych wtyczek (również nieaktywnych), krzyżowe odniesienie do bazy WPScan (5000+ CVE), priorytet dla wtyczek z > 100 tys. instalacji.
- WordPress core: detekcja wersji (nawet jeśli ukryta), sprawdzenie aplikowalnych CVE (np. CVE-2023-5561), audyt motywów własnych / motywów potomnych.
- REST API: enumeracja endpointów /wp-json/, enumeracja użytkowników przez /wp-json/wp/v2/users, eksponowane dane wrażliwe, prawidłowe uwierzytelnianie na endpointach z ograniczeniami.
- XML-RPC: weryfikacja włączenia (domyślnie ON w wielu instalacjach), test amplifikacji DDoS pingback, brute-force przez system.multicall.
- Uwierzytelnianie: wp-login.php z rate limiting (Wordfence, Limit Login Attempts), 2FA, wp-admin z HTTPS + IP whitelist tam, gdzie to możliwe.
- wp-config.php / system plików: ochrona wp-config.php oraz .env, katalog uploadów bez wykonywania PHP, pliki backup (.bak, .old) niedostępne publicznie.
- Bezpieczeństwo bazy danych: niestandardowy prefix tabel (wp_), użytkownik DB z minimalnymi uprawnieniami, połączenie przez TLS.
- Specyfika WooCommerce / e-commerce: audyt wtyczek bramek płatniczych, zakres PCI-DSS (dla sklepów > 1 tys. transakcji rocznie), endpointy eksportu danych klientów.
- Wtyczki SEO (Yoast, RankMath): ekspozycja panelu admin, sitemap XML wyciekający prywatne posty, endpointy REST API z bypassem uwierzytelniania.
- Wtyczki backupu: UpdraftPlus, BackupBuddy, WP All-in-One Migration, czyli pliki backupu publicznie eksponowane przez przewidywalne adresy URL.
Sample finding
Wtyczka Elementor < 3.16.4 z możliwym do wykorzystania stored XSS (CVE-2024-1827)
Instalacja WordPress używa Elementora 3.15.2, objętego CVE-2024-1827. Podatność pozwala użytkownikowi z rolą Contributor lub wyższą wstawić stored XSS w widgetach Elementora, które są renderowane w panelu admin innego użytkownika. Test wykazał: (1) utworzenie użytkownika Contributor; (2) wstawienie payloadu XSS w widgecie Elementora; (3) gdy administrator wchodzi do panelu, XSS wykonuje się i kradnie ciasteczko wordpress_logged_in_*; (4) pełne przejęcie konta administratora.
Fix: Działanie natychmiastowe (priorytet 1): aktualizacja Elementor >= 3.16.4 (wersja z patchem). Tymczasowo wyłącz otwartą rejestrację użytkowników, jeśli patch nie może zostać wgrany natychmiast. Działania uzupełniające: pełny audyt wtyczek przez WPScan CLI; włączenie 2FA dla wszystkich użytkowników z rolą Editor+ (wtyczka Wordfence Login Security); ograniczenie wp-admin przez IP whitelist w .htaccess lub regułę WAF Cloudflare; konfiguracja auto-updates dla wtyczek bezpieczeństwa; monitorowanie logów pod kątem nietypowej aktywności użytkowników (WP Activity Log).
Reference: CVE-2024-1827 (CVSS 5.4) · WPScan ID 5d80e0e4-2873-4dd1-8b6b-2d7e0e3e6e4f · CWE-79 · OWASP A03:2021
Porównanie opcji pentestu WordPress
| — | Free scan | Matproof Sentinel | Traditional consultancy |
|---|---|---|---|
| Automated scan engine | ✓ (3-min preview) | ✓ Full scan | ✗ Manual only |
| OWASP Top 10 coverage | Partial | ✓ Complete | ✓ Complete |
| Proof-of-exploit evidence | ✗ | ✓ Per finding | ✓ Per finding |
| Regulatory mapping (DORA/NIS2/ISO 27001) | ✗ | ✓ Automated | ✓ Manual |
| Audit-ready PDF report | ✗ | ✓ Instant | ✓ 2–4 weeks delivery |
| Continuous / recurring scans | ✗ | ✓ Per deploy | ✗ Annual engagement |
| Time to first result | ~3 min | ~30 min full scan | 2–4 weeks |
| Price | €0 | From €149 | €8,000–€25,000 |
| Source code review (SAST) | ✗ | ✓ On Growth plan | ✓ Scoped engagement |
| API testing (REST/GraphQL) | ✗ | ✓ Automated | ✓ Manual |
Pakiety pentestów WordPress
- 1 full pentest scan
- AI-prioritized findings with CVSS 3.1
- Proof-of-exploit per finding
- Audit-ready PDF report
- Regulatory mapping (DORA, NIS2, ISO 27001)
- Unlimited scans (up to 3 domains)
- Continuous monitoring
- CI/CD integration (GitHub, GitLab)
- All regulatory mappings
- Priority support
- Unlimited scans + domains
- Authenticated / White-Box testing
- API & cloud infrastructure tests
- Dedicated security account manager
- 24h SLA response time
Najczęściej zadawane pytania o pentest WordPress
Ile CVE wtyczek WordPress sprawdzacie?
Krzyżowo porównujemy inwentarz wtyczek strony z kompletną bazą WPScan: 5000+ CVE skatalogowanych dla WordPress core, motywów i wtyczek. Priorytet dla wtyczek z > 100 tys. instalacji oraz CVE sklasyfikowanych CVSS >= 7.0. Nieaktywne wtyczki są również testowane.
Czy testujecie również WooCommerce konkretnie?
Tak. WooCommerce ma własną powierzchnię ataku: endpointy REST API (/wp-json/wc/v3/*), wtyczki bramek płatniczych, eksport danych klientów, flow checkout pod kątem IDOR. Dla sklepów objętych zakresem PCI-DSS (> 1 tys. transakcji rocznie) pentest WooCommerce stanowi wymagany element rocznego audytu.
Co testujecie w instalacjach multisite (WordPress Network)?
Multisite ma specyficzne ryzyka: super admin z dostępem cross-network, wtyczki na poziomie sieci dziedziczące podatności na wszystkie strony, współdzielony system plików. Testujemy: cross-site privilege escalation, path traversal między stronami, network-wide CVE wtyczek.
Czy możemy zintegrować pentest z redakcyjnym workflow publikacyjnym?
Tak. Dla workflow redakcyjnych proponujemy: miesięczny skan po wdrożeniu, natychmiastowy alert, jeśli nowe CVE high/critical zostanie odkryte w zainstalowanej wtyczce, zautomatyzowany audit log aktywności użytkowników.
Czy pentest może spowodować downtime naszej produkcyjnej witryny WordPress?
Minimalne ryzyko. Skan zautomatyzowany jest semi-intruzywny (brak rzeczywistego DoS, brak testów destrukcyjnych). Dla stron o dużym ruchu (> 1 mln odwiedzin miesięcznie) testujemy na środowisku staging. Dla znalezisk Critical z ryzykiem podczas remediacji dostarczamy plan krok po kroku.
Czy audytujecie również motywy własne / motywy potomne?
Tak. Motywy własne często są źródłem podatności: SQL injection w plikach template, IDOR w opcjach motywu, XSS przez niestandardowe shortcodes. Testujemy wszystkie pliki .php aktywnego motywu pod kątem: niezsanityzowanego inputu, użycia eval()/system()/exec(), zapytań SQL z konkatenacją, wzorców file inclusion.
Jak długo trwa kompletny pentest WordPress?
Skan zautomatyzowany: 45-60 minut dla typowej instalacji WordPress (50-200 wtyczek). Dla złożonych instalacji (multisite z 50+ stronami, wtyczki własne) 2-3 godziny. Raport gotowy do audytu w ciągu 24 godzin.
Czy raport jest akceptowany dla audytów GDPR?
Tak. Raport techniczny dostarcza dowodu na 'adekwatne środki techniczne' wymagane przez art. 32 GDPR. Dla inspekcji organów ochrony danych dokumentuje regularne testowanie i śledzenie remediacji. Element łagodzący dla kar w przypadku naruszenia danych.
Go deeper — related blog articles
Zabezpiecz swoją stronę WordPress już teraz
Pierwszy skan w 3 minuty, kompletny pentest WordPress w 45-60 minut z audytem 5000+ CVE wtyczek. Raport zgodny z GDPR/DORA już od 149 EUR.
Rozpocznij darmowy skan