Web Application Penetration Test — Executive Report
This report documents a full web application penetration test performed by Brivox. It includes validated findings, proof-of-concept (PoC) evidence, risk analysis, and remediation guidance. A post-fix retest summary is included to show what we hardened and how risk was reduced.
Scope
The assessment targeted the web application surfaces exposed to end-users and administrators. Testing focused on authentication, access control, session management, business logic, and data handling.
- In-scope: Web UI, API endpoints, auth flows, role paths, checkout/business workflows, file uploads, admin functionality.
- Out-of-scope: Physical security, social engineering, DDoS/load testing, source code review (unless explicitly provided).
- Testing window: Dec 20–25, 2025
Methodology
Brivox followed an OWASP-aligned methodology: reconnaissance, mapping, threat modeling, manual exploitation, and validation with least-impact PoCs. Findings were rated by likelihood × impact and mapped to practical fixes.
| Phase | What we did | Outputs |
|---|---|---|
| Discovery | Endpoint mapping, auth boundary checks, role paths, input vectors | Attack surface map, risk hypotheses |
| Exploit | Manual exploitation: access control, sessions, IDOR, CSRF, injection chains | Validated PoCs, evidence captures |
| Harden | Fix guidance + implementation (secure patterns + defense-in-depth) | Patch plan, code/config changes |
| Retest | Revalidation and regression on fixed areas | Risk reduction proof, retest notes |
Findings Summary
A compact view of validated issues. Full PoCs and remediation steps are provided below.
| ID | Severity | Title | Area |
|---|---|---|---|
| WAPT-01 | Critical | Broken Access Control (IDOR) via predictable resource identifiers | API /orders/* |
| WAPT-02 | High | Session weakness: long-lived tokens + missing rotation on privilege change | Auth /sessions |
| WAPT-03 | High | Missing rate limits on auth endpoints (credential stuffing risk) | /login /otp |
| WAPT-04 | Medium | CSRF gap on state-changing endpoint (insufficient origin validation) | /profile/update |
| WAPT-05 | Medium | File upload hardening gaps (content-type trust + storage permissions) | /uploads |
| WAPT-06 | Low | Security headers baseline incomplete | Global |
| WAPT-07 | Low | Verbose error responses reveal internal implementation details | API errors |
| WAPT-08 | Low | Password policy allows weak entropy in edge cases | Auth policy |
Detailed Findings (PoC + Remediation)
Each finding includes: description, impact, evidence/PoC, and a practical remediation plan. All examples are redacted for safety; replace placeholders with your real endpoints/IDs.
WAPT-01 — Broken Access Control (IDOR) via predictable identifiers
Critical
A01:2021
API /orders/{id}
WAPT-01 — Broken Access Control (IDOR) via predictable identifiers
WAPT-02 — Session token lifecycle weakness (rotation + TTL)
High
A07:2021
Long-lived sessions
WAPT-02 — Session token lifecycle weakness (rotation + TTL)
WAPT-03 — Missing rate limits on authentication endpoints
High
Credential stuffing
/login, /otp
WAPT-03 — Missing rate limits on authentication endpoints
WAPT-04 — CSRF gap on state-changing endpoint
Medium
Origin/Referer
WAPT-04 — CSRF gap on state-changing endpoint
WAPT-06 — Security headers baseline incomplete
Low
Baseline hardening
WAPT-06 — Security headers baseline incomplete
Retest Summary
Brivox revalidated remediations and ran regression checks on adjacent areas to ensure fixes didn’t introduce new issues.
| Finding | Status | Notes |
|---|---|---|
| WAPT-01 | Fixed | 403 on cross-user access, scoped queries validated. |
| WAPT-02 | Fixed | Token rotation enforced; old refresh tokens rejected. |
| WAPT-03 | Fixed | Rate limit thresholds confirmed; safe error messaging. |
app.example.com and the PoC IDs with your real environment evidence.