2026年11月12日
2026年11月12日
Kwetsbaarheden in WordPress-plugins controleren met WP-CLI en WPScan
Dit artikel is een gelokaliseerde versie van het Japanse origineel. Lees het Japanse origineel
Bij kwetsbaarheden in plugins kan de tijd tussen de openbaarmaking en het begin van aanvallen kort zijn. De basis is dat je regelmatig het volgende doorloopt: weten welke plugins en versies je hebt, die vergelijken met bekende kwetsbaarheden en bijwerken als er een gecorrigeerde versie is. In dit artikel komen achtereenvolgens aan bod: versies controleren met WP-CLI, vergelijken met WPScan, kwetsbaarhedendatabases lezen, manipulatie controleren en wat je doet als je iets vindt. De opdrachten en de prijsvoorwaarden zijn gecontroleerd in de officiële documentatie van november 2026.
1. Een overzicht maken van je plugins en versies
Begin met weten wat er in welke versie is geïnstalleerd. Dat kun je ook zien onder "Plugins" → "Geïnstalleerde plugins" (Plugins → Installed Plugins) in het beheer, maar met WP-CLI kun je de lijst opslaan.
# Toon naam, versie, actief/inactief en of er een update is
wp plugin list --fields=name,version,status,update
# Toon alleen plugins met een beschikbare update
wp plugin list --update=available
# Sla op als JSON om vast te leggen
wp plugin list --fields=name,version,status --format=json > plugins.json
Ook gedeactiveerde plugins staan in de lijst. Ook als ze niet actief zijn, blijven de bestanden op de server staan en kan een kwetsbaar bestand soms rechtstreeks worden aangeroepen, dus verwijder plugins die je niet gebruikt. De basis van WP-CLI staat in "Plugins beheren met WP-CLI".
2. Vergelijken met bekende kwetsbaarheden via WPScan
WPScan is een opdrachtregeltool die een WordPress-site van buitenaf onderzoekt. De informatie over kwetsbaarheden haalt het op uit de API van WPScan, dus maak een account aan op wpscan.com en vraag een API-token aan.
Volgens de prijspagina van WPScan is het gratis abonnement beperkt tot niet-commercieel gebruik en zijn er maximaal 25 API-aanroepen per dag. Gebruik je het voor een zakelijke site, dan heb je een betaalde licentie nodig. Zonder API-token werkt het ook, maar dan krijg je geen informatie over kwetsbaarheden.
# Installeren (als je het via een Ruby-gem installeert)
gem install wpscan
# Als je Docker gebruikt
docker pull wpscanteam/wpscan
# Zoek plugins waarvoor kwetsbaarheden zijn gemeld
wpscan --url https://example.com --api-token YOUR_API_TOKEN -e vp
# Gebruik zowel passive als aggressive als detectiemethode
wpscan --url https://example.com --api-token YOUR_API_TOKEN -e vp --plugins-detection mixed
De belangrijkste waarden van -e zijn de volgende.
| Waarde | Doel |
|---|---|
vp |
Plugins waarvoor kwetsbaarheden zijn gemeld |
ap |
Alle plugins |
p |
Veelgebruikte plugins |
vt |
Thema's waarvoor kwetsbaarheden zijn gemeld |
Standaard detecteert het plugins passief (passive), door ze uit bijvoorbeeld de HTML van de pagina af te lezen. Plugins die geen spoor in de HTML achterlaten worden soms niet gevonden. Met aggressive of mixed vind je er meer, maar het aantal verzoeken neemt ook toe.
Je mag WPScan alleen gebruiken op sites die je zelf beheert of waarvoor je toestemming hebt. Zie voor meer informatie ook "De kwetsbaarheden van je site onderzoeken met WPScan".
3. De inhoud controleren in een kwetsbaarhedendatabase
Voor plugins die in de resultaten van WPScan of in beveiligingsnieuws worden genoemd, bekijk je de details in de volgende databases.
- WPScan Vulnerability Database (wpscan.com)
- Wordfence Intelligence (wordfence.com)
- Patchstack Database (patchstack.com)
- NVD (nvd.nist.gov, zoeken op CVE-nummer)
Dit zijn de gegevens waar je op let.
| Onderdeel | Wat je controleert |
|---|---|
| Getroffen versies | Valt jouw versie binnen het bereik? |
| Gecorrigeerde versie | Is het met een update opgelost? Soms is er nog geen gecorrigeerde versie |
| Vereiste rechten | Kan het worden misbruikt zonder in te loggen, of zijn de rechten van een auteur of abonnee nodig? |
| Ernst (CVSS) | Een getal van 0 tot 10. Hoe hoger, hoe groter de impact |
| Soort | XSS, SQL-injectie, rechtenescalatie, het uploaden van willekeurige bestanden enzovoort |
Pak eerst aan wat zonder in te loggen kan worden misbruikt en wat ernstig is. Wat met de rechten van een abonnee kan worden misbruikt, heeft haast bij sites waar gebruikers zich kunnen registreren (ledensites, webshops enzovoort).
4. Controleren of bestanden zijn gemanipuleerd
Bestaat de kans dat een kwetsbaarheid is misbruikt, controleer dan of de bestanden nog zijn zoals ze zijn verspreid. verify-checksums van WP-CLI vergelijkt de bestanden met de checksums die WordPress.org publiceert.
# Controleer alle plugins
wp plugin verify-checksums --all
# Controleer alleen een bepaalde plugin
wp plugin verify-checksums contact-form-7
# Controleer de bestanden van de kern van WordPress
wp core verify-checksums
Is er niets aan de hand, dan zie je iets als Success: Verified 8 of 8 plugins.. Zijn er bestanden toegevoegd of bestanden met een andere inhoud, dan wordt de lijst daarvan getoond.
Betaalde plugins die niet via WordPress.org worden verspreid hebben geen checksums, dus die kun je op deze manier niet controleren. Download in dat geval dezelfde versie bij de leverancier en vergelijk de bestanden.
5. Wat je doet als je een kwetsbaarheid vindt
# Als er een gecorrigeerde versie is: bijwerken
wp plugin update contact-form-7
# Als er geen gecorrigeerde versie is: deactiveren en verwijderen als je de plugin niet gebruikt
wp plugin deactivate vulnerable-plugin
wp plugin delete vulnerable-plugin
# Bekijk vóór een bulkupdate wat er wordt bijgewerkt
wp plugin update --all --dry-run
vulnerable-plugin is een voorbeeld. Vervang het door de echte slug (de kolom name van wp plugin list).
- Maak vóór een update een back-up en controleer na de update of de belangrijkste schermen (contactformulier, betalingen enzovoort) werken.
- Komt er geen gecorrigeerde versie en ligt de ontwikkeling stil, overweeg dan over te stappen op een andere plugin met dezelfde functie. Is een plugin op WordPress.org niet meer beschikbaar, dan staat dat op de pagina van de plugin.
- Zijn er sporen van manipulatie, dan is bijwerken niet genoeg. Controleer ook of er een beheerder is toegevoegd, of er PHP-bestanden in uploads staan en of wp-config.php is gewijzigd, en herstel zo nodig een back-up.
6. Controleren tot gewoonte maken
- Onder "Plugins" in het beheer kun je per plugin automatische updates inschakelen (vanaf WordPress 5.5). Begin met plugins waarbij je weinig risico loopt dat de weergave na een update misgaat. Zie voor meer informatie "Automatische updates voor plugins instellen".
- Voer je WPScan periodiek uit met cron, let dan op de gratis limiet van 25 keer per dag en op de voorwaarde dat het niet-commercieel is.
- Ook de beveiligingsplugin Wordfence meldt bij een scan onder meer plugins die moeten worden bijgewerkt. Hoe je dat gebruikt, lees je in "Je site scannen met Wordfence".
Samenvatting
Kwetsbaarheden in plugins controleer je in deze volgorde: een lijst maken (wp plugin list), vergelijken met bekende kwetsbaarheden (WPScan of een kwetsbaarhedendatabase), manipulatie controleren (wp plugin verify-checksums) en aanpakken door bij te werken of te verwijderen. Plugins die je niet gebruikt verwijderen is de maatregel die het minste moeite kost.
Vragen over WordPress? De uitgever van deze site zit in Japan en antwoordt in het Japans. Contact (Japans)