Penetratietest WordPress: Plugin CVE's, REST API en CMS Enterprise Beveiliging
WordPress draait 43% van alle websites — inclusief duizenden Nederlandse MKB websites, WooCommerce webshops, en redactionele blogs. Kwetsbaarheden concentreren zich in plugins (1500+ CVE/jaar volgens WPScan) en de REST API. CVE-2024-1827 (Elementor), CVE-2023-5561 (REST API user enumeration), CVE-2023-1862 (jQuery XSS) zijn recente voorbeelden. Matproof Sentinel voert gerichte WordPress pentests uit met audit-klaar AVG / DORA rapporten vanaf €149.
Waarom WordPress speciale pentest aandacht vereist
WordPress is het meest populaire CMS ter wereld, maar ook het meest aangevallen: Sucuri rapporteert dat 43% van de gehackte sites in 2024 WordPress waren, met de meeste breaches veroorzaakt door verouderde plugins. WPScan heeft meer dan 5.000 CVE's gecatalogiseerd in WordPress plugins in 2023-2024. CVE-2024-1827 (Elementor < 3.16.4) maakt stored XSS mogelijk voor session hijacking. CVE-2023-5561 (WordPress core < 6.3.2) staat user enumeration toe via REST API. Naast CVE's exposeren WordPress installaties legacy aanvalsoppervlakken: XML-RPC standaard ingeschakeld staat DDoS amplification en brute-force toe, wp-config.php blootgesteld bij verkeerde configuratie, wp-admin zonder IP restriction wordt botnet-target. Voor Nederlandse bedrijven met WordPress aanwezigheid is gedocumenteerde pentest standaard compliance element voor AVG Art. 32.
- CVE-2024-1827 (Elementor < 3.16.4): stored XSS voor session hijacking — Elementor is geïnstalleerd op 5+ miljoen WordPress sites.
- CVE-2023-5561 (WordPress core < 6.3.2): user enumeration via REST API zelfs met authenticatie vereist — vereenvoudigt brute-force voorbereiding.
- CVE-2023-1862 (jQuery XSS via plugins): exploitable XSS in honderden plugins die nog kwetsbare jQuery gebruiken.
- 5.000+ CVE's in WordPress plugins gedocumenteerd door WPScan in 2023-2024 — de meeste gehackte sites hebben verouderde plugins als root cause.
- XML-RPC standaard ingeschakeld: staat DDoS amplification (pingback method) en brute-force toe met bypass van standaard wp-login.php rate limiting.
- REST API blootgesteld: user enumeration (/wp-json/wp/v2/users), privé posts (privacy bug bij verkeerde configuratie), blootgestelde meta data.
- WooCommerce + e-commerce: extra aanvalsoppervlak — payment processing, customer PII, REST API voor inventory, payment plugins met CVE's.
Wat we specifiek testen in een WordPress installatie
- Plugin audit: enumeration van alle geïnstalleerde plugins (ook inactieve), cross-reference met WPScan vulnerability database (5.000+ CVE's), prioriteit op plugins met > 100k installs.
- WordPress core: versie detectie (zelfs indien verborgen), check van toepasbare CVE's (zoals CVE-2023-5561), audit van custom themes/child themes.
- REST API: enumeration van /wp-json/ endpoints, user enumeration via /wp-json/wp/v2/users, exposed sensitive data, correcte authenticatie op restricted endpoints.
- XML-RPC: verificatie van inschakeling (default ON in veel installaties), test van pingback DDoS amplification, brute-force via system.multicall.
- Authentication: wp-login.php met rate limiting (Wordfence, Limit Login Attempts), 2FA, wp-admin met HTTPS + IP whitelist indien mogelijk.
- wp-config.php / file system: bescherming van wp-config.php en .env, file upload directory (wp-content/uploads/) zonder PHP execution, backup files (.bak, .old) niet blootgesteld.
- Database security: niet-default tabel prefix (wp_), DB user met minimale privileges, connection over TLS.
- WooCommerce / e-commerce specifiek: payment gateway plugin audit, PCI-DSS scope (voor stores met > 1k transacties/jaar), customer data export endpoints.
- SEO plugins (Yoast, RankMath): admin panel exposure, XML sitemap lekken van privé posts, REST API endpoints met auth bypass.
- Backup plugins: UpdraftPlus, BackupBuddy, WP All-in-One Migration — backup files publiek blootgesteld via URL prediction.
Voorbeeldbevinding
Plugin Elementor < 3.16.4 met exploitable stored XSS (CVE-2024-1827)
De WordPress installatie gebruikt Elementor 3.15.2, aangetast door CVE-2024-1827. De kwetsbaarheid staat een gebruiker met Contributor rol of hoger toe stored XSS in te voegen in Elementor widgets die worden gerenderd in andermans admin panel. De test demonstreerde: (1) aanmaken van Contributor account; (2) XSS payload invoegen in Elementor widget; (3) wanneer een Administrator de panel benadert, voert de XSS uit en steelt de wordpress_logged_in_* cookie; (4) volledige Administrator account takeover. Impact: iedereen die zich kan registreren (open registratie of invite link) kan escaleren naar admin.
Oplossing: Onmiddellijke actie (prioriteit 1): update Elementor ≥ 3.16.4 (gepatchte versie). Schakel open user registratie tijdelijk uit als de patch niet direct kan worden toegepast. Aanvullende acties: volledige plugin audit met WPScan CLI; 2FA inschakelen voor alle Editor+ gebruikers (Wordfence Login Security plugin); wp-admin via IP whitelist beperken via .htaccess of Cloudflare WAF rule; auto-updates configureren voor plugin minor versies; log monitoring voor afwijkende user activiteit (WP Activity Log plugin).
Referentie: CVE-2024-1827 (CVSS 5.4) · WPScan ID 5d80e0e4-2873-4dd1-8b6b-2d7e0e3e6e4f · CWE-79 · OWASP A03:2021
Pentest WordPress: opties vergeleken
| — | Gratis scan | Matproof Sentinel | Traditionele consultancy |
|---|---|---|---|
| Geautomatiseerde scan-engine | ✓ (3-min preview) | ✓ Volledige scan | ✗ Alleen handmatig |
| OWASP Top 10 dekking | Gedeeltelijk | ✓ Volledig | ✓ Volledig |
| Proof-of-exploit bewijs | ✗ | ✓ Per bevinding | ✓ Per bevinding |
| Regulatorische mapping (DORA/NIS2/ISO 27001) | ✗ | ✓ Geautomatiseerd | ✓ Handmatig |
| Audit-geschikt PDF-rapport | ✗ | ✓ Direct | ✓ 2–4 weken levertijd |
| Continue / terugkerende scans | ✗ | ✓ Per deploy | ✗ Jaarlijkse opdracht |
| Tijd tot eerste resultaat | ~3 min | ~30 min volledige scan | 2–4 weken |
| Prijs | €0 | Vanaf €149 | €8.000–€25.000 |
| Broncode-review (SAST) | ✗ | ✓ Growth-plan | ✓ In scope |
| API-tests (REST/GraphQL) | ✗ | ✓ Geautomatiseerd | ✓ Handmatig |
Pentest WordPress pakketten
- 1 volledige penetratietest-scan
- AI-geprioriteerde bevindingen met CVSS 3.1
- Proof-of-exploit per bevinding
- PDF-rapport (geschikt voor audit)
- Regulatorische mapping (DORA, NIS2, ISO 27001)
- Onbeperkt scannen (tot 3 domeinen)
- Continue monitoring
- CI/CD-integratie (GitHub, GitLab)
- Alle regulatorische mappings
- Prioriteitsondersteuning
- Onbeperkt scannen + domeinen
- Geauthenticeerde / White-Box tests
- API- en cloud-infrastructuurtests
- Dedicated security account manager
- SLA responstijd 24u
Veelgestelde vragen over WordPress pentest
Hoeveel WordPress plugin CVE's controleren jullie?
Wij cross-referenten de plugin inventory tegen de volledige WPScan database: 5.000+ gecatalogiseerde CVE's voor WordPress core, themes en plugins. Prioriteit op plugins met > 100k installs en CVE's CVSS ≥ 7.0. Ook inactieve plugins worden getest — een uitgeschakelde maar geïnstalleerde plugin kan nog steeds exploit-target zijn.
Testen jullie ook WooCommerce specifiek?
Ja. WooCommerce heeft eigen aanvalsoppervlak: REST API endpoints (/wp-json/wc/v3/*), payment gateway plugins (iDEAL via Mollie, Adyen), customer data export, checkout flow voor IDOR. Voor PCI-DSS scoped stores (> 1k transacties/jaar) is WooCommerce pentest verplicht voor jaarlijkse audit.
Wat testen jullie voor WordPress multisite (Network) installaties?
Multisite heeft specifieke risico's: super admin met cross-network toegang, plugins op network-niveau geactiveerd die kwetsbaarheden over alle sites erven, gedeelde file system. Wij testen: cross-site privilege escalation, file path traversal tussen sites, network-wide plugin CVE's.
Kunnen jullie de pentest integreren in een redactioneel publishing workflow?
Ja. Voor editorial workflows stellen we voor: maandelijkse scan na deployment, onmiddellijke alert bij nieuwe critical/high CVE in geïnstalleerde plugin, automatische audit log voor user activiteit. Plan Starter of Growth.
Kan de pentest downtime veroorzaken op onze WordPress site in productie?
Risico is minimaal. Geautomatiseerde scan is semi-intrusief (geen echte DoS, geen destructive testing). Voor high-traffic sites testen we tegen staging environment. Voor Critical findings met risico tijdens remediation leveren we step-by-step plan. Professionele aansprakelijkheidsverzekering (5 M€) dekt eventuele onbedoelde schade.
Auditen jullie ook custom themes / child themes?
Ja. Custom themes zijn vaak bron van kwetsbaarheden: SQL injection in template files, IDOR in theme options, XSS via custom shortcodes. We testen alle .php files van het actieve theme op: ongesaneerde input, eval()/system()/exec() gebruik, SQL queries met concatenation, file inclusion patterns.
Hoe lang duurt een volledige WordPress pentest?
Geautomatiseerde scan: 45-60 minuten voor typische WordPress installatie (50-200 plugins). Voor complexe installaties (multisite met 50+ sites, custom plugins): 2-3 uur. Audit-klaar rapport binnen 24 uur.
Is het rapport geaccepteerd voor AVG audits in Nederland?
Ja. Technische rapport levert bewijs van « adequate technische maatregelen » vereist door AVG Art. 32. Voor AP (Autoriteit Persoonsgegevens) inspecties demonstreert het rapport regelmatige bescherming testing en remediation tracking. Verzachtende factor voor sancties bij data breach.
Gerelateerde onderwerpen
Meer lezen — gerelateerde blogartikelen
Bescherm uw WordPress site nu
Eerste scan in 3 minuten, volledige WordPress pentest in 45-60 minuten inclusief audit van 5.000+ plugin CVE's. Audit-klaar rapport AVG / DORA vanaf €149.
Start gratis scan