Fortency · Offensive Security

Penetration Test Report

Web Application & Software Supply Chain Assessment
Confidential
ClientOWASP Juice Shop
EngagementSAMPLE-001 · Starter
Report date2026-07-14
Version2.0
MethodologyOWASP WSTG · NIST 800-115
SAMPLE / DEMONSTRATION REPORT. Target is OWASP Juice Shop, a deliberately vulnerable open-source application, tested locally under full authorization. All findings are the real output of the automated pipeline (SCA + recon + breadth scan + full DAST with browser-based crawl), analyst-reviewed. A production engagement additionally runs source-aware exploitation and manual business-logic testing.

Executive Summary

An authorized, exploitation-based penetration test was performed against the target web application and its software supply chain. Testing identified critical and high-severity issues warranting prompt remediation — most significantly an exploitable SQL injection in the product-search API and multiple dependencies with known critical vulnerabilities (authentication-bypass and remote-code-execution classes).

Critical
1
High
1
Medium
6
Low
12
Info
8

The single Critical entry (vulnerable components) encompasses 38 CVEs across 10 components — 8 critical, 11 high, 19 medium. Point-in-time result; one free retest is included after remediation.

Scope & Methodology

In-scope: the target web application + API (single origin) and its dependency manifest. Testing was gated to the authorized target by an automated scope-enforcement control (allowlist + resolved-IP validation + authorization-window expiry). Layers executed:

A production engagement adds: source-aware exploitation (attacks the running app with knowledge of the source, producing working PoCs) and manual business-logic testing (privilege escalation, cross-tenant/IDOR, workflow abuse) — the layers that surface logic flaws automation alone misses.

Findings Summary

IDFindingSeverityCVSSSource
F-01Use of components with known vulnerabilitiesCriticalup to 9.8SCA
F-02SQL injection in product-search APIHigh8.6DAST
F-03Backup / source file disclosureMedium5.3DAST
F-04Content-Security-Policy not setMedium4.3DAST
F-05Cross-Domain misconfiguration (permissive CORS)Medium5.4DAST
F-06Session ID in URL rewriteMedium5.3DAST
F-07Missing anti-clickjacking headerMedium4.3DAST
F-08Exposed Prometheus metrics endpointMedium5.3Breadth

Detailed Findings

F-01

Use of components with known vulnerabilities

Critical
CVSS 3.1: up to 9.8  ·  CWE-1035 / OWASP A06:2021

The application depends on third-party components with published vulnerabilities. Dependency analysis across the full tree identified 38 CVEs affecting 10 components (8 critical, 11 high, 19 medium). Representative examples:

ComponentCVECVSSClass
jsonwebtoken 0.4.0CVE-2015-92359.8Auth / signature bypass
express-jwt 0.1.3CVE-2020-150849.1Authorization bypass
lodashCVE-2019-107449.1Prototype pollution
jsonwebtoken 0.4.0CVE-2022-235398.1Weak verification
Impact
The auth components (jsonwebtoken, express-jwt) directly threaten authentication/authorization integrity — exploitation could allow forging or bypassing sessions. Prototype pollution can lead to DoS or RCE depending on usage.
Remediation
Upgrade each flagged component to a fixed version; adopt automated SCA in CI with a patch cadence. Prioritize the auth libraries first.
F-02

SQL injection in product-search API

High
CVSS 3.1: 8.6  ·  CWE-89 / OWASP A03:2021  ·  GET /rest/products/search?q=
Description
The q search parameter is injectable; a crafted payload (e.g. q='() alters the backend SQL query, producing an injection-indicating response.
Impact
SQL injection can allow reading arbitrary database contents (user records, credentials, orders) and, depending on privileges, data modification — a direct, high-impact exposure of customer data.
Evidence
GET /rest/products/search?q=%27%28 triggered an injection-indicating response.
Remediation
Use parameterized queries / prepared statements for all DB access; never concatenate user input into SQL. Add server-side validation and least-privilege DB accounts.
F-03

Backup / source file disclosure

Medium
CVSS 3.1: 5.3  ·  CWE-530  ·  31 instances

The server exposes backup/old copies of files that may reveal source code, configuration, or credentials. Remediation: remove backup artifacts from web roots; block backup extensions at the web server.

F-04

Content-Security-Policy header not set

Medium
CVSS 3.1: 4.3  ·  CWE-693

No CSP is delivered, materially increasing the impact of any XSS. Remediation: deploy a strict nonce/hash-based CSP (report-only first, then enforce).

F-05

Cross-Domain misconfiguration (permissive CORS)

Medium
CVSS 3.1: 5.4  ·  CWE-264

Cross-origin controls are more permissive than necessary, allowing other origins to read responses. Remediation: restrict Access-Control-Allow-Origin to an explicit trusted allowlist; never combine wildcard with credentials.

F-06

Session ID in URL rewrite

Medium
CVSS 3.1: 5.3  ·  CWE-598

Session identifiers appear in URLs, where they can leak via logs, referrer headers, and browser history — enabling session hijacking. Remediation: carry session IDs only in secure, HttpOnly cookies.

F-07

Missing anti-clickjacking header

Medium
CVSS 3.1: 4.3  ·  CWE-1021

Remediation: set Content-Security-Policy: frame-ancestors 'none' (or X-Frame-Options: DENY).

F-08

Exposed Prometheus metrics endpoint

Medium
CVSS 3.1: 5.3  ·  CWE-200  ·  GET /metrics

Returns internal operational telemetry to unauthenticated users. Remediation: require auth or restrict /metrics to an internal network.

12 low-severity items (COOP/COEP missing, deprecated Feature-Policy, timestamp disclosure, dangerous JS sinks) and informational observations are itemized in Appendix B.

Remediation Roadmap

PriorityFinding(s)ActionEffort
1 — nowF-01 (auth libs), F-02Patch jsonwebtoken/express-jwt; parameterize the search queryMedium
2F-01 (remaining), F-03, F-08Patch remaining CVEs; remove backup files; lock down /metricsMedium
3F-04–F-07Add CSP, tighten CORS, cookie-only sessions, anti-clickjacking headerLow

SOC 2 Trust Services Criteria Mapping

FindingTSCNotes
F-01, F-02CC6.1 / CC7.1Exploitable data access + component vulns undermining access controls
F-03, F-08CC6.1Unauthenticated exposure of internal artifacts/data
F-04–F-07CC7.1Application-hardening gaps

Retest & Attestation

Point-in-time result. After remediation, one free retest re-verifies Critical/High findings and a Letter of Attestation is issued for auditor and enterprise-customer submission.

This assessment was conducted and its findings reviewed by the undersigned. Automated tooling was used for coverage; all reported findings were analyst-reviewed.

Lead tester: ________________________ , OSCP    Signature: ______________    Date: __________
Fortency — Human Agent Foundry LLC (Indiana)