Quiet office desk at dusk with closed laptops, a blank notebook and server rack lights in the background

Web Application Penetration Testing: What Testers Check, What PCI DSS Requires, and What It Costs

By The Uptime Report Team · Last reviewed: October 2026

Web application penetration testing is an authorized attack on a web app, commonly structured around the 97 test IDs in OWASP WSTG v4.2; PCI DSS Requirement 11.4 requires one at least every 12 months for card-data apps.

Key takeaways

  • ZAP’s public alert pages tag 43 of the 97 OWASP WSTG v4.2 test IDs (30 using release-status rules); business logic has 1 of 9 tests tagged (ZAP alert index, read October 2026).
  • OWASP Top 10:2025 keeps Broken Access Control at A01 with 40 CWEs and a 3.74% average incidence rate (OWASP A01:2025); no ZAP alert carries the A09:2025 logging and alerting tag.
  • OWASP ASVS 5.0.0 has 345 requirements: 70 for Level 1, 253 cumulative for Level 2 and all 345 for Level 3, per our count of the official CSV.
  • PCI DSS v4.0.1 Requirement 11.4.1 requires application-layer testing for the attacks in 6.2.4, and 6.4.1 was superseded by 6.4.2 after 31 March 2025 (PCI SSC FAQ 1593).
  • Scope units drive web app prices: Synack counts 1 low complexity authenticated app as the scope of up to 25 unauthenticated apps, and Astra counts two login pages as 2 targets (Astra pricing).
43/97
WSTG v4.2 test IDs tagged on ZAP alert pages
ZAP alert index, October 2026
97
test IDs in the OWASP WSTG v4.2 checklist
OWASP WSTG v4.2, accessed October 2026
345
requirements in OWASP ASVS 5.0.0
OWASP ASVS 5.0.0 CSV, May 2025

What is web application penetration testing, and how is it different from a scan?

Web application penetration testing is an authorized attack on a running web app in which a tester tries to exploit flaws, not only list them. NIST SP 800-115 draws the line: vulnerability scanners “check only for the possible existence of a vulnerability,” while the attack phase of a penetration test “exploits the vulnerability to confirm its existence.”

PCI DSS v4.0.1 says the same in its guidance for Requirement 11.4.1: “Penetration testing is a highly manual process. While some automated tools may be used, the tester uses their knowledge of systems to gain access into an environment” (page 275). The requirement’s stated objective is testing “by a competent manual attacker.” The OWASP Application Security Verification Standard (ASVS) 5.0.0 adds that DAST and SAST tools “will be unable entirely to verify many of the more complicated ASVS requirements or those that relate to business logic and access control.”

Requirement 11.4.1 lists “Application-layer penetration testing” and “Network-layer penetration tests” as separate items (page 274), so a web app test does not cover the host, firewall and segmentation work in our network penetration testing guide. Vulnerability scans sit in a different requirement again, 11.3, so a combined quote should price the scan and the test as separate lines, the split explained in our vulnerability assessment and penetration testing guide.

What does a web application penetration test check?

A web application penetration test checks the OWASP Top 10:2025 risk categories by running numbered test cases from the OWASP Web Security Testing Guide. OWASP calls the Top 10 “a standard awareness document,” not a test plan. WSTG v4.2 supplies the 97 test IDs a report can cite, such as WSTG-ATHZ-04 for insecure direct object references.

The 2025 edition reshuffled the list. Security Misconfiguration moved from fifth place in the OWASP Top 10:2021 to A02:2025, Server-Side Request Forgery was folded into A01:2025, Software Supply Chain Failures (A03) expands the 2021 Vulnerable and Outdated Components category, and A10:2025 Mishandling of Exceptional Conditions is new with 24 CWEs. A quote scoped “to the OWASP Top 10” should name the edition, because A05 means Security Misconfiguration in 2021 and Injection in 2025.

OWASP Top 10:2025 category (2021 origin) CWEs mapped, average incidence What the tester checks WSTG v4.2 test IDs ZAP alerts tagged (release status) Source
A01 Broken Access Control (A01:2021 plus A10:2021 SSRF) 40 CWEs, 3.74% Horizontal and vertical privilege escalation, insecure direct object references, path traversal, SSRF, CORS WSTG-ATHZ-01 to 04, WSTG-INPV-19, WSTG-CLNT-07 77 (25) OWASP A01:2025
A02 Security Misconfiguration (A05:2021) 16 CWEs, 3.00% Default files, HTTP methods, HSTS, admin interfaces, cloud storage, clickjacking WSTG-CONF-01 to 11, WSTG-CLNT-09 140 (56) OWASP A02:2025
A03 Software Supply Chain Failures (expands A06:2021) 6 CWEs, 5.72% Server, framework and component versions visible from outside; full coverage needs a component inventory WSTG-INFO-02, WSTG-INFO-08, WSTG-INFO-09 18 (12) OWASP A03:2025
A04 Cryptographic Failures (A02:2021) 32 CWEs, 3.80% TLS configuration, credentials sent without encryption, padding oracles, weak hashing WSTG-CRYP-01 to 04, WSTG-ATHN-01 21 (9) OWASP A04:2025
A05 Injection (A03:2021) 37 CWEs, 3.08% SQL, command, template and host header injection; reflected, stored and DOM cross-site scripting WSTG-INPV-01 to 18, WSTG-CLNT-01 to 03 210 (42) OWASP A05:2025
A06 Insecure Design (A04:2021) 39 CWEs, 1.86% Workflow bypass, forged requests, limits on how often a function can run, file upload abuse WSTG-BUSL-01 to 09 41 (32) OWASP A06:2025
A07 Authentication Failures (A07:2021) 36 CWEs, 2.92% Default credentials, lockout, password reset, account enumeration, session fixation WSTG-ATHN-02 to 10, WSTG-IDNT-01 to 05, WSTG-SESS-01 to 09 19 (5) OWASP A07:2025
A08 Software or Data Integrity Failures (A08:2021) 14 CWEs, 2.75% Data the server trusts without checking, unsigned cookies that can be modified WSTG-BUSL-03, WSTG-SESS-01 9 (9) OWASP A08:2025
A09 Security Logging and Alerting Failures (A09:2021) 5 CWEs, 3.91% Whether abusive input triggers a defensive response, and what the platform logs WSTG-BUSL-07, WSTG-CONF-02 0 (0) OWASP A09:2025
A10 Mishandling of Exceptional Conditions (new) 24 CWEs, 2.95% Error output, stack traces, malformed data the back end fails to reject WSTG-ERRH-01, WSTG-ERRH-02, WSTG-BUSL-01 5 (3) OWASP A10:2025

The WSTG column is our editorial mapping, made by matching each category description to the test objectives in the v4.2 checklist. CWE counts and incidence rates come from each OWASP category page; the ZAP column counts the alert pages in the ZAP alert index whose Tags field names that 2025 category.

ZAP alerts tagged to each OWASP Top 10:2025 categoryAll 730 non-deprecated alert pages vs the 210 release-status ones; no alert is tagged A09Alerts, any statusAlerts, release status only050100150200A01 Broken Access Control77 (25 release)A02 Security Misconfiguration140 (56 release)A03 Software Supply Chain Failures18 (12 release)A04 Cryptographic Failures21 (9 release)A05 Injection210 (42 release)A06 Insecure Design41 (32 release)A07 Authentication Failures19 (5 release)A08 Software or Data Integrity Failures9 (9 release)A09 Security Logging and Alerting Failures0 (0 release)A10 Mishandling of Exceptional Conditions5 (3 release)Source: ZAP alert pages, zaproxy.org/docs/alerts, Tags field, read 26 October 2026
Of 730 non-deprecated ZAP alert pages, 210 carry an A05:2025 Injection tag and none an A09:2025 Logging and Alerting tag. Source: ZAP alert pages (Tags field), read 26 October 2026.

Two categories show where a scanner stops. No ZAP alert carries the A09:2025 tag, so logging and alerting failures need a tester who watches whether abuse triggers a response. A03:2025 has the highest average incidence rate in OWASP’s score tables, 5.72%, yet OWASP says it ranks on its community survey and hopes “testing catches up in this area”; a black-box test can fingerprint versions with WSTG-INFO-08 but cannot inventory a build pipeline.

How does a web app pentest run, phase by phase?

A web app pentest runs in the four phases set out in NIST SP 800-115: planning, discovery, attack and reporting, with reporting running alongside the other three. PCI DSS adds a fifth step for card-data apps: Requirement 11.4.4 says penetration testing “is repeated to verify the corrections” (page 278). Each phase maps to specific WSTG v4.2 test categories.

Web application penetration test: five phases and the WSTG v4.2 tests in eachPhases 1 to 4 follow NIST SP 800-115 Figure 5-1; phase 5 is the PCI DSS 11.4.4 retest1. PlanningRules of engagementScope, roles, test accountsASVS level chosenNo testing yet2. DiscoveryWSTG-INFO: 10 testsWSTG-CONF: 11 testsMap entry pointsand app architecture3. AttackIdentity and access: 28Input and client side: 32Logic, crypto, errors,API: 16 tests4. ReportingCVSS rating per findingFix guidanceRuns alongsidephases 1 to 35. RetestPCI DSS 11.4.4:repeat testing toverify correctionsNew findings loop back to discoverySources: NIST SP 800-115 (Sept 2008); OWASP WSTG v4.2 checklist; PCI DSS Req. 11.4.4 (v4.0 text)
Discovery covers 21 WSTG v4.2 test IDs and the attack phase 76; PCI DSS 11.4.4 adds a retest. Sources: NIST SP 800-115 Figure 5-1 (September 2008), OWASP WSTG v4.2 checklist, PCI DSS v4.0.1 p. 278.
  1. Planning. Agree rules of engagement, management approval and goals; NIST SP 800-115 states that “No actual testing occurs in this phase.” Fix the ASVS level, the environment, and two test accounts per user role, because WSTG-IDNT-01 tests role definitions and horizontal access checks need two users of the same role.
  2. Discovery. Run WSTG-INFO-01 to 10 (search engine reconnaissance, server and framework fingerprinting, entry points, architecture map) and WSTG-CONF-01 to 11 (platform configuration, HTTP methods, HSTS, subdomain takeover, cloud storage): 21 test IDs.
  3. Attack. Work through 76 test IDs: identity and access (WSTG-IDNT, ATHN, ATHZ, SESS: 28), input and client side (WSTG-INPV, CLNT: 32), and business logic, cryptography, error handling and API (WSTG-BUSL, CRYP, ERRH, APIT: 16). NIST SP 800-115 Figure 5-2 loops new findings back into discovery.
  4. Reporting. Per NIST SP 800-115, the report describes each vulnerability, presents a risk rating and gives mitigation guidance. PCI DSS 11.4.1 requires keeping penetration testing results and remediation results “for at least 12 months” (page 274).
  5. Retest. Under PCI DSS 11.4.4, correct exploitable findings according to the entity’s Requirement 6.3.1 risk ranking, then repeat the test to verify each fix.

Ask which WSTG version a report cites. The in-development checklist on GitHub, last changed 15 October 2026, lists 115 test IDs in 13 categories, renames WSTG-INPV to WSTG-INJT, and adds WSTG-ATHN-11 (Multi-Factor Authentication), WSTG-SESS-10 (JSON Web Tokens) and WSTG-BUSL-10 (Payment Functionality). v4.2, a GitHub release from 3 December 2020, is still the version the OWASP site labels stable.

How much of a web app pentest can an automated scanner do?

Less than half, by ZAP’s own labels. Across the 730 non-deprecated alert pages in ZAP’s public alert index, tags name 43 of the 97 WSTG v4.2 test IDs; counting only the 210 release-status alerts, 30 of 97. Business logic shows 1 of 9 tests tagged and identity management 1 of 5, which is where a human tester’s hours go.

WSTG prefix Category Test IDs in v4.2 Tagged by any ZAP alert Tagged by a release alert Untagged tests include
WSTG-INFO Information gathering 10 3 3 INFO-06 Identify application entry points
WSTG-CONF Configuration and deployment 11 4 2 CONF-10 Test for Subdomain Takeover
WSTG-IDNT Identity management 5 1 0 IDNT-01 Test Role Definitions
WSTG-ATHN Authentication 10 3 2 ATHN-03 Weak Lock Out Mechanism; ATHN-09 Weak Password Change or Reset
WSTG-ATHZ Authorization 4 2 2 ATHZ-02 Bypassing Authorization Schema; ATHZ-03 Privilege Escalation
WSTG-SESS Session management 9 4 3 SESS-06 Logout Functionality; SESS-07 Session Timeout
WSTG-INPV Input validation 19 12 9 INPV-17 Host Header Injection
WSTG-ERRH Error handling 2 2 2 None
WSTG-CRYP Weak cryptography 4 4 3 None
WSTG-BUSL Business logic 9 1 1 BUSL-01 to 08, from data validation to file type checks
WSTG-CLNT Client side 13 6 3 CLNT-12 Testing Browser Storage
WSTG-APIT API testing (GraphQL) 1 1 0 None
Total 12 categories 97 43 30 54 test IDs with no ZAP tag
ZAP alert tags reach 43 of 97 WSTG v4.2 test IDs (30 with release-status rules)Grey: test IDs in the category. Blue: IDs named on at least one ZAP alert page. Gold: release-status alerts onlyWSTG v4.2 test IDsTagged by any ZAP alertTagged by a release alert05101520WSTG-INFO Information gathering3 of 10 (3 release)WSTG-CONF Configuration4 of 11 (2 release)WSTG-IDNT Identity management1 of 5 (0 release)WSTG-ATHN Authentication3 of 10 (2 release)WSTG-ATHZ Authorization2 of 4 (2 release)WSTG-SESS Session management4 of 9 (3 release)WSTG-INPV Input validation12 of 19 (9 release)WSTG-ERRH Error handling2 of 2 (2 release)WSTG-CRYP Weak cryptography4 of 4 (3 release)WSTG-BUSL Business logic1 of 9 (1 release)WSTG-CLNT Client side6 of 13 (3 release)WSTG-APIT API (GraphQL)1 of 1 (0 release)Sources: ZAP alert pages (Tags field), read 26 October 2026; OWASP WSTG-Checklist_v4.2.xlsx
ZAP alert tags name 43 of the 97 WSTG v4.2 test IDs, 30 with release-status rules; business logic has 1 of 9. Sources: ZAP alert pages, read 26 October 2026; OWASP WSTG v4.2 checklist.

Method: we read the index at zaproxy.org/docs/alerts on 26 October 2026, fetched all 733 alert pages it lists, and collected every “WSTG-V42-” tag from each page’s Tags field. Each tag was matched against the official WSTG v4.2 checklist; all 43 tagged IDs exist in it. A tag means ZAP’s maintainers link an alert to that test, not that the rule completes it, and a missing tag does not prove ZAP never touches the area. ZAP’s Access Control add-on alerts (10101 and 10102) carry A01:2025 tags but no WSTG tag and need configured users per role.

For a buyer, the count sets the line between a scan and a test: if a quote only promises scanner output, at least 54 of the 97 WSTG v4.2 tests have no tagged rule behind them. Scanners such as ZAP are compared in our penetration testing tools guide, which helps an MSP decide which of these checks to automate between annual tests.

Black box, grey box or white box: how much access should testers get?

Give testers credentials for every role and, for higher assurance, documentation or source code. OWASP ASVS 5.0.0 says testing without that access “is an inefficient and ineffective mechanism for security verification” and strongly encourages documentation or source code-led (hybrid) testing. ASVS also warns that even Level 1 “is not necessarily penetration testable” from the outside alone.

ASVS 5.0.0 level New requirements Requirements to comply Share of 345 How OWASP describes it Access testers need
Level 1 70 70 20% “the minimum requirements to consider when securing an application” Credentials for each role; black box alone may not verify all 70
Level 2 183 253 73% “Most applications should be striving to achieve this level” Credentials plus documentation, source code or configuration
Level 3 92 345 100% Defense in depth; OWASP’s example is a bank’s online banking application Full hybrid access, including the developers

Source: our count of the official ASVS 5.0.0 CSV (released 30 May 2025) and the level definitions in the ASVS chapter “What is the ASVS”, which itself puts Level 1 at “around 20%” of requirements and Level 2 compliance at “around 70%”.

What does PCI DSS require for web application penetration testing?

For systems in the cardholder data environment, PCI DSS v4.0.1 Requirement 11.4.1 requires “Application-layer penetration testing to identify, at a minimum, the vulnerabilities listed in Requirement 6.2.4” (page 274). The guidance names “Open Web Application Security Project (OWASP) penetration testing programs” among the industry-accepted approaches (page 276), which is why WSTG IDs work as evidence.

The v4.0.1 text of Requirement 6.4.1 offers a choice for public-facing web applications: an application vulnerability review at least once every 12 months, or an automated technical solution in front of the app. That choice has expired. Its applicability note says it “will be superseded by Requirement 6.4.2 after 31 March 2025” (page 151), and PCI SSC FAQ 1593 (March 2025) says to mark it Not Applicable. A web application firewall meets 6.4.2; it does not replace the 11.4 penetration test.

Requirement (v4.0.1 page) What it requires for a web app What to put in the test scope
6.2.4 (p. 141) Techniques that prevent or mitigate injection, data and data structure, cryptography, business logic (including XSS and CSRF) and access control attacks, plus attacks via any high-risk vulnerabilities ranked under 6.3.1, in bespoke and custom software The minimum attack list for the 11.4.1 application-layer test
6.4.1 (p. 150 to 151) Annual review by “an entity that specializes in application security” or an automated solution Not Applicable after 31 March 2025
6.4.2 (p. 152) An automated solution “installed in front of public-facing web applications” that generates audit logs and blocks or alerts Ask the tester to note whether attacks were blocked or alerted, as evidence the control runs
6.4.3 (p. 153 to 154) Every payment page script authorized, integrity-checked and inventoried with a written justification Compare the script inventory with scripts the tester sees load (WSTG-CLNT tests)
11.3.2.1 (p. 273) After a significant change, external scan findings “scored 4.0 or higher by the CVSS are resolved” The one CVSS threshold written into the requirement text
11.4.1 (p. 274 to 276) A documented methodology covering application-layer testing; results kept at least 12 months Name the methodology and WSTG version in the SOW
11.4.4 (p. 278) Fix exploitable findings per the 6.3.1 ranking; “Penetration testing is repeated to verify the corrections” Retest included, with a deadline
11.6.1 (p. 288 to 289) Change and tamper detection on payment page HTTP headers and script contents, at least weekly or per a targeted risk analysis Confirm the alert fires when the tester alters a payment page header or script

Page numbers refer to PCI DSS v4.0.1 (June 2024), which PCI SSC distributes through its document library after a license agreement. Requirements 6.4.2, 6.4.3 and 11.6.1 each carry the note that they were “a best practice until 31 March 2025”; the script inventory duty is summarized with the other 2025 changes in our PCI compliance guide. How often 11.4.2 and 11.4.3 require a test, and how that compares with SOC 2 and HIPAA, is set out in the compliance section of our penetration testing as a service guide.

What should a web app pentest statement of work specify?

A statement of work should name the standards and versions, every role and test account, the API definition, the environment, the retest terms and the report format. Each line below traces to ASVS 5.0.0, WSTG v4.2 or PCI DSS v4.0.1, so an MSP or IT buyer can paste it into an RFP and compare quotes on the same 97-test baseline.

SOW line What to write Why (source)
Verification target “Test to OWASP ASVS 5.0.0 Level 2” (253 requirements) or Level 1 (70) or Level 3 (345); ASVS 5.0.0 was released 30 May 2025 ASVS 5.0.0 levels; ASVS asks for version-tagged IDs such as v5.0.0-1.2.5
Test catalogue “Report every finding against OWASP WSTG v4.2 test IDs; state any test not run and why” WSTG v4.2 (3 December 2020) is the stable release; the 115-ID checklist, changed 15 October 2026, is still in development
Risk list edition “Map findings to OWASP Top 10:2025” A05 is Security Misconfiguration in 2021 and Injection in 2025
Roles and test accounts List each role; supply two accounts per role; require WSTG-ATHZ-02 and WSTG-ATHZ-03 results for every role pair No ZAP alert is tagged ATHZ-02 or ATHZ-03; Broken Access Control is A01:2025
API definition Hand over the OpenAPI or GraphQL schema; list standalone APIs separately WSTG-APIT-01; Astra counts a standalone API as its own target
Environment Name production or a named staging copy, test data, and allowed hours NIST SP 800-115 section 6.3 on production impact and test data
Hosting permission Confirm the cloud provider’s testing policy, for example AWS permitted services AWS penetration testing policy
Tester independence Name the testers and their certifications; state they do not administer the app PCI DSS 11.4.3: organizational independence, not required to be a QSA or ASV (p. 277); the role is profiled in our penetration tester guide
Retest Number of retests included and the days after delivery they stay open PCI DSS 11.4.4 (p. 278)
Report format CVSS version (v3.1 or v4.0), base or environmental scores, WSTG ID per finding, a list of all requirements checked with exceptions FIRST CVSS; ASVS 5.0.0 assessment chapter
Retention Client keeps the report and retest evidence at least 12 months PCI DSS 11.4.1 (p. 274)
Payment pages Include 6.4.3 script inventory and 11.6.1 tamper alert checks Required since 31 March 2025 under PCI DSS v4.0.1, published 11 June 2024 (p. 153, 288)
Versions a web app pentest statement of work should nameEvents spaced evenly for legibility, not to scale3 Dec 2020OWASP WSTG v4.2stable test IDs11 Jun 2024PCI DSS v4.0.1current standard31 Mar 2025PCI 6.4.2, 6.4.3, 11.6.1now required30 May 2025OWASP ASVS 5.0.0345 requirements15 Oct 2026WSTG dev checklist115 IDs, not finalSources: OWASP WSTG and ASVS GitHub releases; PCI DSS v4.0.1 (June 2024) applicability notes
A statement of work should name WSTG v4.2 (December 2020), PCI DSS v4.0.1 (June 2024) and ASVS 5.0.0 (May 2025); PCI 6.4.2, 6.4.3 and 11.6.1 apply since 31 March 2025. Sources: OWASP GitHub releases, PCI DSS v4.0.1.

Severity language belongs in the SOW too. FIRST’s CVSS v3.1 and CVSS v4.0 specifications share five bands, and FIRST calls the qualitative ratings optional. PCI DSS 6.3.1 lets each entity define its own risk ranking; its guidance lists “consideration of the CVSS score” as one possible criterion (page 145).

CVSS rating v3.1 and v4.0 score How to use it in the contract
Critical 9.0 to 10.0 Map to your own 6.3.1 “critical” ranking; it must be identified at a minimum
High 7.0 to 8.9 Map to your 6.3.1 “high-risk” ranking
Medium 4.0 to 6.9 From 4.0 up, external scan findings after a significant change must be resolved (11.3.2.1)
Low 0.1 to 3.9 Placed by your own ranking; no separate PCI deadline
None 0.0 Informational

Severity bands do not say what attackers use. PCI DSS 6.3.1 guidance already lists alerts from FIRST or a CERT among ranking criteria (page 145), so for any finding tied to a CVE, ask the tester to flag whether the CVE sits in CISA’s Known Exploited Vulnerabilities catalog, the signal examined in our analysis of the CISA KEV catalog.

How much does web application penetration testing cost?

For web application penetration testing, price follows what a vendor counts as one app. Among the three offers compared below, public starting list prices in October 2026 ran from $3,500 for an Intruder white-box test of one repo-linked app to $10,283 for a Synack test that covers up to 25 unauthenticated apps or one low complexity authenticated app, with Synack’s required platform billed on top.

Vendor offer What counts as one web app Starting list price Source (accessed Oct 2026)
Intruder same day pentest One white-box web app linked through a GitHub, GitLab, Azure DevOps or Bitbucket Cloud repo; unlimited retesting $3,500 per test; 4-test pack $12,000 Intruder pentest pricing
Astra Pentest Expert “One web or SaaS app counts as one target, including all APIs consumed”; standalone APIs are a target each; two dashboards “with different login pages” need 2 targets $5,999 per year per target Astra pricing
Synack Standard Pentest “Up to 25 unauthenticated web apps” or “1 low complexity authenticated web app”; 1 human tester, 5 day window From $10,283 plus platform Synack pricing
Web app cost driver Evidence on a public price page What to quote or ask
Authentication Synack: 1 low complexity authenticated app uses the scope of up to 25 unauthenticated apps Price the logged-in app separately from brochure sites
Separate login pages Astra: app.example.com and admin.example.com with different login pages count as 2 targets Count login pages, not domains, before requesting quotes
Standalone APIs Astra: APIs consumed by the app are inside the target; standalone APIs are separate targets List public or partner APIs on their own line
Retests Intruder: unlimited retesting; PCI DSS 11.4.4 requires repeat testing Ask how many retests are in the price
Volume Intruder: 4-test pack $12,000 vs 4 x $3,500 = $14,000 A $2,000 saving if four apps or four test events are planned

The full market spread of published pentest prices, and delivery-model costs with October 2026 list prices held flat over 3 years, are compared in the three-year cost model of our penetration testing as a service guide.

Which web application penetration test fits your situation?

Match the test to the obligation first and the app second. Card-data apps need an application-layer test under PCI DSS 11.4.1, apps with a login need credentials for every role, apps aiming at ASVS Level 2 (253 requirements) or Level 3 (345) need documentation or source access, and payment pages need 6.4.3 and 11.6.1 checks.

Scoping a web application penetration test: answer each question, the actions add upYes leads right to the action; No leads down to the next questionIs the app in PCI DSS scope?YesApp-layer test under a documented method, every 12 months andafter significant change; retest fixes (PCI 11.4.1 to 11.4.4)NoDoes it have a login or more thanone role?YesGrey box: two test accounts per role; ask for WSTG-ATHZ-02 andWSTG-ATHZ-03 results per role pairNoIs the target ASVS Level 2 (253)or Level 3 (345)?YesHybrid test: hand over documentation, configuration and sourcecodeNoDo payment pages load third-partyscripts?YesAdd PCI 6.4.3 script inventory and 11.6.1 change detectionchecks to scopeNoEvery path: an automated scan alone reaches at most 43 of 97 WSTG v4.2 test IDs.No to all four: an anonymous external test of WSTG-INFO and WSTG-CONF (21 IDs) is the floor.Sources: PCI DSS v4.0.1; OWASP ASVS 5.0.0; OWASP WSTG v4.2; ZAP alert tags, October 2026
Four scoping questions add PCI, per-role, hybrid and payment-page work; a scan alone reaches at most 43 of 97 WSTG v4.2 tests. Sources: PCI DSS v4.0.1, ASVS 5.0.0, WSTG v4.2, ZAP alert tags (October 2026).
If your situation is Do this Rule behind it
The app is in PCI DSS scope App-layer test under a documented method, every 12 months and after significant change; retest fixes PCI DSS 11.4.1 to 11.4.4
The app has a login or more than one role Grey box: two test accounts per role; ask for WSTG-ATHZ-02 and WSTG-ATHZ-03 results per role pair WSTG-IDNT-01; Broken Access Control is A01:2025
The target is ASVS Level 2 (253) or Level 3 (345) Hybrid test: hand over documentation, configuration and source code ASVS 5.0.0 assessment chapter
Payment pages load third-party scripts Add PCI 6.4.3 script inventory and 11.6.1 change detection checks to scope PCI DSS v4.0.1 p. 153 and p. 288
You relied on an annual 6.4.1 review for a public-facing web app Deploy an automated solution that blocks or alerts on web attacks, and keep the 11.4 test PCI DSS 6.4.1 note (p. 151); FAQ 1593
A quote offers scanner output only Treat it as a scan: an automated scan alone reaches at most 43 of 97 WSTG v4.2 test IDs ZAP alert tags, October 2026
No to all of the above An anonymous external test of WSTG-INFO and WSTG-CONF (21 IDs) is the floor WSTG v4.2 checklist

How we compiled this

We compiled this page from 32 primary documents accessed in October 2026: the OWASP Top 10:2025 introduction, its 10 category pages and project page, the Top 10:2021 list, the WSTG v4.2 site, checklist and release record, the in-development WSTG checklist, ASVS 5.0.0 chapters and CSV, PCI DSS v4.0.1, a PCI SSC blog post and FAQ, both FIRST CVSS specifications, NIST SP 800-115, the ZAP alert index, the OWASP API Security Top 10 2023, the AWS testing policy and three vendor price pages. We counted WSTG IDs, ASVS requirements and ZAP tags from the source files. We did not run tests or request quotes.

Frequently asked questions

Should we test the staging or the production web app?

NIST SP 800-115 section 6.3 says a technique likely to cause a denial of service should probably run against a non-production system, and that organizations should consider test data on a non-production system when testing could expose card or Social Security numbers. It also warns that differences between environments can cause missed vulnerabilities. One workable split: attack-phase tests on a matching staging copy, read-only WSTG-INFO and WSTG-CONF checks on production.

Does an API-only app need a web application penetration test?

Yes, scoped to the API. WSTG v4.2 has one API test, WSTG-APIT-01 for GraphQL, so add the OWASP API Security Top 10 2023, which starts with API1:2023 Broken Object Level Authorization. PCI DSS v4.0.1 Requirement 6.2.4 lists business logic attacks made through the manipulation of APIs (page 141), so card-data APIs fall under the 11.4.1 application-layer test.

Do we need permission from our cloud provider before a web app pentest?

Check the provider’s policy before the start date. AWS lets customers test their own AWS infrastructure without prior approval for the services on its Permitted Services list, requires prior approval for testing that includes command and control (C2), and forbids testing AWS services themselves. Put the provider, the policy URL and the services in scope into the statement of work.

Can the MSP that manages our web app also penetration test it?

Only with organizational independence. PCI DSS v4.0.1 Requirement 11.4.3 accepts a qualified internal resource or a qualified external third party, provided the tester is independent, and the tester need not be a QSA or ASV (page 277). PCI’s guidance for internal scans gives the example that a network administrator should not be responsible for scanning the network (page 267), so the engineers who run the app should not test it.

What qualifications should a web application penetration tester have?

PCI DSS v4.0.1 guidance for Requirement 11.4.3 lists specific penetration testing certifications as one indication of skill and competence, plus prior experience: years of testing and the type and scope of past engagements (page 277). The same guidance warns that a penetration test that found nothing is typically indicative of shortcomings of the tester. Ask for sample reports that cite WSTG v4.2 test IDs.

Sources

  1. OWASP, Top 10:2025 Introduction. Accessed October 2026.
  2. OWASP, Top Ten project page. Accessed October 2026.
  3. OWASP, A01:2025 Broken Access Control. Accessed October 2026.
  4. OWASP, A02:2025 Security Misconfiguration. Accessed October 2026.
  5. OWASP, A03:2025 Software Supply Chain Failures. Accessed October 2026.
  6. OWASP, A04:2025 Cryptographic Failures. Accessed October 2026.
  7. OWASP, A05:2025 Injection. Accessed October 2026.
  8. OWASP, A06:2025 Insecure Design. Accessed October 2026.
  9. OWASP, A07:2025 Authentication Failures. Accessed October 2026.
  10. OWASP, A08:2025 Software or Data Integrity Failures. Accessed October 2026.
  11. OWASP, A09:2025 Security Logging and Alerting Failures. Accessed October 2026.
  12. OWASP, A10:2025 Mishandling of Exceptional Conditions. Accessed October 2026.
  13. OWASP, Top 10:2021. Accessed October 2026.
  14. OWASP, Web Security Testing Guide v4.2. Accessed October 2026.
  15. OWASP, WSTG v4.2 testing checklist (WSTG-Checklist_v4.2.xlsx). Accessed October 2026.
  16. OWASP, WSTG release v4.2 on GitHub. Accessed October 2026.
  17. OWASP, WSTG in-development checklist (checklist.json). Accessed October 2026.
  18. OWASP, ASVS 5.0.0 release and requirement CSV. Accessed October 2026.
  19. OWASP, ASVS 5.0.0 chapter: What is the ASVS. Accessed October 2026.
  20. OWASP, ASVS 5.0.0 chapter: Assessment and Certification. Accessed October 2026.
  21. OWASP, API Security Top 10 2023. Accessed October 2026.
  22. PCI Security Standards Council, PCI DSS v4.0.1 Requirements and Testing Procedures (June 2024), Document Library. Accessed October 2026.
  23. PCI Security Standards Council, Just Published: PCI DSS v4.0.1 (11 June 2024). Accessed October 2026.
  24. PCI Security Standards Council, FAQ 1593 on superseded requirements (March 2025). Accessed October 2026.
  25. ZAP, Alert index and alert pages (Tags field). Accessed October 2026.
  26. ZAP, Access Control Testing add-on help. Accessed October 2026.
  27. FIRST, CVSS v3.1 Specification Document. Accessed October 2026.
  28. FIRST, CVSS v4.0 Specification Document. Accessed October 2026.
  29. NIST, SP 800-115 Technical Guide to Information Security Testing and Assessment (September 2008). Accessed October 2026.
  30. Amazon Web Services, Penetration Testing policy. Accessed October 2026.
  31. Synack, Pricing. Accessed October 2026.
  32. Intruder, Pentest pricing. Accessed October 2026.
  33. Astra Security, Pricing. Accessed October 2026.

Comments

One response to “Web Application Penetration Testing: What Testers Check, What PCI DSS Requires, and What It Costs”

  1. […] Scope: one customer-facing web application with its APIs, which Astra counts as 1 target; what that test should cover under OWASP WSTG and ASVS is set out in our guide to web application penetration testing. […]

Leave a Reply

Your email address will not be published. Required fields are marked *