WordPress Penetration Testing for Plugin-Heavy Builds
WordPress penetration testing for the install you actually run, because most WordPress risk is not in WordPress. A plugin’s wp_ajax_nopriv handler with no capability check runs for any logged-out visitor. CREST-certified testers, fixed price from £2,060, scoped in 24 hours.
- Unlimited retesting
- No rescheduling or cancellation fees
- Fixed quote within 24 hours
“I would highly recommend EJN Labs to any organisation seeking reliable, detailed, and well-managed penetration testing services, particularly for government or enterprise-level projects.”
“There wasn’t another company we could find that could deliver what we needed in the timeframe we needed. The client loved it, and we got instant ROI from the engagement.”
WordPress core is maintained, audited and patched quickly. The plugin ecosystem is not. A typical business site carries somewhere between twenty and sixty third-party plugins, each written to a different standard, each able to register its own REST routes and AJAX actions, and each capable of quietly undoing the platform’s permission model.
Why plugin hooks and wp-config.php decide your exposure
The failure modes are specific and repeatable. DISALLOW_FILE_EDIT never defined in wp-config.php. WP_DEBUG and WP_DEBUG_LOG both set to true on a live site. A wp_ajax_nopriv handler with no capability check. A nonce treated as the access control on an admin-ajax action. A wp-config.php that nothing denies at the web server.
By default WordPress lets administrators edit plugin and theme PHP files from the dashboard, and the hardening handbook says that gives an attacker who can log in a route to code execution. With WP_DEBUG on, WP_DEBUG_LOG set to true writes every error to wp-content/debug.log unless you give it another path, so anything the web server serves from that file is readable by anyone.
We test it from outside and as each role. We request wp-content/debug.log and wp-config.php directly, call every admin-ajax action and REST route logged out and as a subscriber, replay requests with another user’s nonce, and try the dashboard file editor from an administrator account. WordPress is one of many examples of the stacks we pen test, so if you run something else we still test it. ISO 27001, SOC 2, PCI DSS and Cyber Essentials Plus audits accept manual penetration test evidence. Scan-only evidence is generally insufficient.
PLUGINS, ROLES + REST SURFACE
What we actually pen test on a WordPress build
Manual pen testing across the plugin surface, the role and capability model, and every integration that carries money or personal data.
Plugin and theme vulnerabilities
We enumerate every active and inactive plugin and theme, match versions against known exploited vulnerabilities, then manually verify the ones that matter rather than trusting a version banner. Abandoned plugins with no update in years get called out separately.
Authentication and user enumeration
REST API and author archive enumeration, XML-RPC brute force amplification, rate limiting on wp-login, and whether two-factor is actually enforced for administrators or merely available to them.
Role and capability escalation
Whether a subscriber, contributor or customer can reach administrator capability through a plugin’s own permission checks, an unprotected AJAX action, or a REST endpoint registered without a permission callback.
File upload and code execution
Media library and plugin upload handling, extension and MIME validation, path traversal in file manager plugins, and whether anything uploaded can be reached and executed from the web root.
Configuration and exposure
Leftover wp-config backups, exposed .git and .env, directory listing, debug output, predictable table prefixes and salts, and whether wp-admin and the REST API are reachable from the internet when they do not need to be.
Integrations and checkout
Contact and form plugins, membership and gating logic, payment gateways, and any headless front end reading the REST API, tested for the business-logic flaws automated scanners never find.
METHODOLOGY
WordPress Penetration Testing: From Scope to Attestation
CREST-aligned methodology built on OWASP Web Security Testing Guide, OWASP ASVS, NIST SP 800-115, and PTES. Each finding maps to all four standards plus your specific compliance regime.
Reconnaissance
Application mapping, technology fingerprinting, content discovery, parameter enumeration, authentication-flow analysis, role-matrix construction.
Vulnerability Assessment
Authenticated and unauthenticated automated scanning across every user role, plus targeted manual checks for known weakness patterns.
Manual Exploitation
Hands-on testing by a CREST-certified pentester. Business-logic exploitation, chained vulnerabilities, privilege escalation, impact validation.
Reporting + Retest
Executive summary, technical report with CVSS scores and reproduction steps, walkthrough call, free retest after remediation, attestation letter.
CREDENTIALS
Verified Accreditations Auditors Accept
Every credential below is independently verifiable. UK procurement teams, FCA supervisors, ISO 27001 / SOC 2 auditors, and cyber insurance underwriters all recognise these standards.
GET YOUR QUOTE
Get a CREST WordPress pen test quote in 24 hours
A fixed-price quote back in one business day, from a named CREST assessor. No sales pipeline, no chasing.
- CREST and IASME accredited. Testing your auditors and clients already recognise.
- Fast-track testing within 24 hours where required. Free retest of every fix included.
- Live findings via your client portal, not a four-week PDF.
- Fixed price from £3,500 for a single-role, single-app scope, agreed up front. Most engagements run £5,000 and up. No day-rate surprises.
Under NDA Further named references available on a scoping call.
- We reply within one business day with a fixed-price quote from a named CREST assessor.
- You approve the scope and we book a start date, usually within 24 hours.
- Live findings land in your client portal as we test, with a free retest of every fix.
Get your fixed pen test quote in 24 hours
Quote request received
We will reply within one business day with your fixed-price quote from a named CREST assessor.
Your data stays with us. No newsletter signup.
or book a 20-min scoping call first
We reply within one business day. Your data stays with us. No newsletter signup.
COMPLIANCE READY
Reports Mapped to Every Framework
Findings are explicitly tagged to the relevant control reference. Your audit team submits the report directly without translation work.
ISO 27001:2022
Annex A.8.8 management of technical vulnerabilities plus A.5.15-5.18 and A.8.2-8.5 access control validation.
SOC 2 Type I & II
CC6 logical access, CC7 system operations, CC8 change management evidence.
PCI DSS
Requirement 11.4 application penetration testing across cardholder data environments, including ecommerce penetration testing for online retail platforms.
FCA SYSC
SYSC 4.1.1R, 6.1.1R, 13 mapped to each finding for FCA-regulated firms.
UK GDPR
Article 32 effectiveness testing, customer-data security controls, ICO-acceptable evidence.
Cyber Essentials Plus
Direct certification through our IASME body status, single-vendor delivery.
PRICING
Transparent WordPress Penetration Testing Pricing
Pricing depends on app complexity, user-role count, business-logic depth, and integration surface. The day count flexes; the included deliverables stay the same across all engagements.
2 to 3 testing days
Single user role, basic CRUD application, marketing website with auth. Around 5 working days from kickoff to report.
Get a fixed quote3 to 5 testing days
Multi-role SaaS, business application with payment integration. Around 8 to 12 working days from kickoff to report.
Get a fixed quote5 to 7 testing days
Multi-tenant platform, complex authorisation matrix, integration-heavy applications. Around 15 to 20 working days from kickoff to report.
Get a fixed quotePart of Technologies We Pen Test. These are examples of the stacks we publish pages for, not a complete list. If yours is not here we still test it. Related pages:
BY SECTOR
WordPress Penetration Testing for Your Sector
Sector-specialist scoping for UK businesses with sector-specific compliance regimes and threat models.
Fintech & FCA-Regulated
FCA SYSC, Open Banking FAPI 1.0, PSD2 SCA, payment-flow scrutiny, KYC/AML testing.
Fintech sector pageSaaS Companies
SOC 2 Type I & II evidence, multi-tenant boundaries, role escalation, customer-tenant isolation.
SaaS sector pageLaw Firms
SRA Cyber Standard, privileged data, conveyancing fraud defence, partner-tier procurement.
Law firm sector pageHealthcare
NHS DTAC, DSP Toolkit v6, UK GDPR Article 32, EHR systems, telehealth platforms.
Healthcare sector pageInsurance
FCA / PRA Operational Resilience, cyber underwriting, claims data, broker portals.
Insurance sector pagePublic Sector
CCS / G-Cloud framework, NCSC-aligned, citizen-facing services, PSN-compliance scrutiny.
Public sector pageWHY EJN LABS
What You Get From WordPress Penetration Testing
Six concrete differentiators competitors don’t all match.
CREST-Certified Testers, Verifiable
Every test by a CREST-certified pen tester (CRT, CCT APP, CCT INF where applicable). Verify our company status at crest-approved.org.
24-Hour Startup, Where Required
From signed scope to active testing in a single business day for incident response, audit deadlines, or regulator-driven timelines.
Live Findings, Not 4-Week PDFs
Critical issues reported during testing through your client portal. Your team remediates while testing continues.
Audit-Ready Reports
Executive summary plus full technical report with CVSS scores and explicit framework mappings (ISO 27001, SOC 2, PCI DSS, FCA SYSC).
Free Retests, Standard
Verify remediation of every finding before close-out. Letter of attestation for audit submission included. Most competitors charge £1,500-£3,000 per retest.
UK-Based CREST Testers
Every engagement performed by vetted, UK-based CREST-certified testers, matched to your needs, security clearance, and compliance scope.
FAQ
Frequently Asked
Our wp-config.php has no DISALLOW_FILE_EDIT. Is that a problem?
It can be. Without the constant, the dashboard lets administrators edit plugin and theme PHP files, so a stolen administrator login becomes code execution. Defining it is equivalent to removing edit_themes, edit_plugins and edit_files from every user, as the hardening handbook explains. We test whether an administrator session can reach the editor.
Do you test production or staging?
Your choice, agreed in writing at scoping. Staging is safer for anything destructive, but staging is rarely identical to production, so we usually test production read-only and use staging for the checks that write.
We left WP_DEBUG_LOG on. Is that safe?
Only if nobody can fetch the file. With WP_DEBUG on and WP_DEBUG_LOG set to true, WordPress writes errors to wp-content/debug.log unless you give it another path, as the debugging handbook describes. We request that path directly and check whether the log is served and what it holds.
Our plugin uses admin-ajax.php with a nonce. Is that enough?
No. The nonces handbook says nonces should never be relied on for authentication, authorisation or access control, and that functions should be protected with current_user_can(). We call each admin-ajax action as a logged-out visitor and as a subscriber and see which ones answer.
Do you test our custom REST routes and wp_ajax_nopriv handlers?
Yes. WordPress runs wp_ajax_nopriv hooks for unauthenticated users, so any handler on one needs its own checks. For REST routes we read each permission_callback, because the REST handbook says to check what a user can do with current_user_can rather than only whether they are logged in.
20+ CREST-accredited testing services in one place
Web, mobile, API, cloud, AI, infrastructure, red team. Pick the test that fits your environment.
Get a fixed price for your WordPress estate
Send us the site, the plugin list and the roles you want tested. You get a fixed-price quote from a named CREST assessor within one business day, unlimited retesting until findings close, and no cancellation or rescheduling fees.



