OpenCart Penetration Testing
An OpenCart extension runs with the same access to the database and admin panel as the core platform code. We test what your installed extensions, admin accounts and checkout logic actually do. CREST-certified testers, fixed price from £2,480 for a 2-day single-store scope, quoted within 24 hours.
- Unlimited retesting
- Unlimited pre-retesting
- No hidden fees
“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.”
Every OpenCart extension is packaged as an OCMOD zip, installed through Extensions > Installer, and then runs from inside the extension/ directory with the same reach into the database and admin panel as the code OpenCart shipped with.
Why OpenCart findings sit in your extensions, admin access and checkout, not the core platform
OpenCart ships extensions as a zip package ending in .ocmod.zip, uploaded through Extensions > Installer, which creates a new folder inside the extension/ directory named for the package. Where a module needs to change behaviour that OpenCart’s event hooks do not cover, an OCMOD XML file inside that package searches for a line in a core file or template and inserts new code around it, all without editing the original file. OpenCart’s own developer guide describes OCMOD as the fallback once events are insufficient, and calls for a permission check inside every extension controller. We review installed extensions for exactly that: what each one can reach, whether its own permission check is actually enforced, and what an OCMOD modification changes in the pages and controllers around it.
OpenCart’s own installation guide recommends renaming the admin directory during setup and using strong admin credentials, because the default path is well known. Inside the admin panel, System, Users, User Groups sets two layers of permission for every section: Access controls what a group can see, and Modify controls what it can change, with Modify automatically granting Access underneath it, so a single checkbox can grant more than whoever configured it intended. Installed extensions add their own permission categories on top of this, covering payment, shipping and marketing extensions individually. We test whether the admin path and login are still discoverable, and map what each user group’s combined Access and Modify permissions actually allow against the role it was created for.
Coupons and any other adjustment to an order’s price run as their own extension type, calculated as a percentage of the cart total or a fixed amount and applied before Sales, Orders records the final figure your customer paid. OpenCart’s own coupon documentation caps a percentage coupon so it cannot take an order below zero, and ties usage to a start and end date, a minimum cart total, and a limit per coupon and per customer. Every order and every saved address belongs to a customer record identified by its own ID, and OpenCart’s admin warns that deleting a customer removes their order history and addresses permanently rather than just hiding them. We test whether those limits are enforced server-side rather than trusted from the checkout page, and whether one customer’s order or address is reachable by changing the ID in a request meant for their own.
SCOPE
What we pen test on an OpenCart store
Admin Directory and Login Access
OpenCart’s installer offers a one-time chance to rename the default admin folder and set strong credentials, and its own setup guide flags both as security steps rather than optional extras. We test whether the admin path is still discoverable, how login attempts are handled, and what a session on that login actually allows once authenticated.
User Groups and Permission Assignments
Every OpenCart user group carries an Access and a Modify permission for each admin section, and granting Modify automatically grants Access underneath it, which can leave a group wider than whoever configured it intended. We test what each group’s combined permissions actually allow against the role it was created for, including any permission category an installed extension has added.
OCMOD Extensions and Marketplace Code
Extensions arrive as an OCMOD zip package that unpacks into its own folder under extension/, and where an event hook is not enough, an OCMOD XML file edits a core file or template directly without you seeing the change take place. We review installed extensions for what they can reach, whether their own permission checks hold up, and what each OCMOD modification actually alters.
Order History and Order Ownership
Each order carries its own ID and its own record of totals, applied discounts and status history, viewed through the customer’s order history on the storefront and through Sales, Orders in the admin. We test whether an order belonging to one customer is reachable by another, from either side of that boundary.
Customer Address Book by ID
A customer account can hold several saved addresses, each with its own record and a default shipping or billing designation, editable independently of the account itself. We test whether an address can be viewed or changed by referencing another customer’s address rather than your own.
Price, Total and Coupon Calculation
A coupon applies as a percentage of the cart total or a fixed amount, restricted by a date range, a minimum cart total, and a limit on uses per coupon and per customer, with a percentage coupon capped so the order cannot go below zero. We test whether checkout enforces those limits on the server or simply trusts a total the browser already calculated.
Payment Gateway Integration and Callbacks
A payment gateway installs as its own extension, with a configuration screen in the admin and a controller that runs on the storefront to confirm the transaction. We test whether that confirmation step recomputes the amount from your own order record or accepts whatever the request or gateway callback states, and how an order’s status changes as a result.
Install Directory and Config Exposure
OpenCart’s own installation guide instructs you to delete the install directory once setup is finished, and to rename config-dist.php to config.php in both the root and admin folders beforehand. We check whether the install directory, its leftover files, or a misconfigured config file are still reachable after go-live.
Storage Directory and Direct File Access
OpenCart 4’s installer offers a one-click option to move the storage directory, which holds logs, cache and downloadable files, outside the web root, precisely because a folder left inside it can be requested directly. We test whether storage sits where the installer put it and whether its contents are reachable without going through the application.
File Uploads on Custom Product Options
A file a customer attaches to a custom product option is renamed to a system-generated code and stored in a protected directory, with the original filename restored only when an authorised download happens. We test whether that protection holds against a crafted filename or file type, and whether the stored file is reachable by guessing or requesting its code directly.
OUR PROCESS
OpenCart Penetration Testing: From Scope to Attestation
Scope and Extension Mapping
We agree the store, staging environment and installed extensions in scope, and map every user group, payment gateway and OCMOD modification before testing begins.
Automated and Authenticated Scanning
Authenticated scanning runs against the storefront, the admin panel, and each customer and admin role, alongside checks for common OpenCart configuration weaknesses.
Manual Exploitation
A CREST-certified tester manually tests permission boundaries, checkout and coupon logic, and payment gateway callbacks, chaining findings where they compound across extensions and admin access.
Reporting and Retest
You get a technical report with CVSS scores and reproduction steps, a walkthrough call, a free retest once fixes are deployed, and an attestation letter for auditors.
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 OpenCart 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 written so your team can reference the report against each framework 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 OpenCart Penetration Testing Pricing
Pricing depends on the number of roles, integrations and environments in scope. See our pricing page for how we quote.
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 quoteSECTORS
Sectors We Test OpenCart For
Sector-specific scoping for regulated UK organisations.
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 OpenCart 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
What access do you need to test our OpenCart store?
A staff account with a role you control, matched to the user group whose permissions we are testing, plus at least one customer account. Where a payment gateway, marketplace extension or custom integration is in scope, its own admin configuration and any credentials it uses come too, scoped to what that integration actually needs rather than full access created just for us.
Does this touch our live data?
No. We test against a staging copy of your store wherever one exists, using test accounts and test orders. Where only production is available, any check that could place a real order, apply a real coupon or move real payment data is agreed and scoped in advance, and read-only checks are logged as they happen.
How long does an OpenCart penetration test take?
A single-store engagement is scoped at 2 testing days as a starting point, rising with the number of installed extensions, payment gateways and admin user groups in play. Reporting and a walkthrough call follow testing, with a free retest once fixes are in.
OpenCart is self-hosted. What does that mean for scope?
You control the server, the codebase and every extension installed on it, so testing covers all of it: the admin panel, installed extensions and OCMOD modifications, payment gateway integrations, and the store-level configuration your team manages. Where a third-party host manages the underlying server, that infrastructure sits outside a single-store engagement unless you scope it alongside this one.
What is out of scope?
The OpenCart codebase itself as distributed by the project, and any other merchant’s store running the same software. Installed marketplace extensions are tested for what they can reach given the permissions and configuration you have given them, not audited as a vulnerability review of the extension developer’s own code.
Does OpenCart have a policy on testing your own store’s security?
OpenCart is open-source software you install and run on infrastructure you control, so there is no vendor-operated platform whose terms restrict you from testing your own store. We still confirm the current terms of your hosting provider and of any purchased marketplace extension during scoping, and our testing targets your store’s configuration, extensions and customisations rather than the OpenCart project’s own code.
We built a custom extension or theme. Can you test that instead of a default install?
Yes. Custom extensions, OCMOD modifications and theme code are scoped the same way as marketplace extensions, against a staging copy of the store they are installed on, with particular attention to permission checks and any core file they modify.
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 OpenCart store
An OpenCart extension runs with the same access to the database and admin panel as the core platform code. We test what your installed extensions, admin accounts and checkout logic actually do. CREST-certified testers, fixed price from £2,480 for a 2-day single-store scope, quoted within 24 hours.



