Executive Summary

During the engagement, a total of 3 findings were identified against https://online.acmebank.example: 1 critical, 1 high and 1 low.

The most significant issue is SQL Injection in login parameter (Critical, CVSS 9.8), which should be remediated as a priority.

The overall risk to the application is assessed as Critical. Immediate remediation is strongly recommended before the application is exposed to untrusted users.

Detailed technical findings, evidence, and remediation guidance are provided in the following sections. All testing was performed with appropriate authorization.

Severity Breakdown

SeverityCountCVSS Range
Critical19.0 – 10.0
High17.0 – 8.9
Medium04.0 – 6.9
Low10.1 – 3.9
Info00.0

Scope & Methodology

In-Scope

Out of Scope

Testing Checklist

StepStatus
Reconnaissance & scope confirmationComplete
Information gathering & technology fingerprintingComplete
Configuration & deployment reviewComplete
Authentication & session management testingComplete
Authorization / access control testingComplete
Input validation & injection testing (SQLi, XSS, SSTI, CMDi, ...)Complete
CSRF / CORS / clickjacking / security headersComplete
File upload & download handlingComplete
Business logic & abuse-case testingPending
Error handling & information disclosurePending
Client-side / supply-chain review (third-party JS, dependencies)Pending
Retesting of confirmed findingsPending

Findings Summary

IDTitleSeverityCVSSStatus
F-001SQL Injection in login parameterCritical9.8open
F-002Broken Access Control — IDOR on account statementsHigh6.5open
F-003Security headers missing (CSP, HSTS, X-Frame-Options)Low4.3open

Detailed Findings

F-001 — SQL Injection in login parameter Critical

Category: A03:2021 — InjectionCVSS: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HStatus: open

Affected URL

https://online.acmebank.example/login

Parameter(s)

username

HTTP Method

POST

Description

The username parameter of the login form is concatenated directly into a SQL query, allowing authentication bypass and full database extraction.

Evidence / Proof of Concept

POST /login HTTP/1.1\nusername=' OR '1'='1'--&password=x\nHTTP/1.1 302 Found\nLocation: /dashboard

Impact

Full authentication bypass, complete disclosure of customer records, funds manipulation.

Remediation

Use parameterized queries / prepared statements everywhere; validate input; apply least-privilege DB accounts.

References

  • https://owasp.org/Top10/A03_2021-Injection/

F-002 — Broken Access Control — IDOR on account statements High

Category: A01:2021 — Broken Access ControlCVSS: 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:NStatus: open

Affected URL

https://online.acmebank.example/statements

Parameter(s)

account

HTTP Method

GET

Description

Account statement endpoint trusts a user-supplied account number without verifying ownership, exposing other customers' statements.

Evidence / Proof of Concept

GET /statements?account=4102937 with a session for account 4102936 returned full statements.

Impact

Cross-account data exposure — sensitive financial records of any customer.

Remediation

Enforce server-side object-level authorization on every resource access.

F-003 — Security headers missing (CSP, HSTS, X-Frame-Options) Low

Category: A05:2021 — Security MisconfigurationCVSS: 4.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:NStatus: open

Affected URL

https://online.acmebank.example/

HTTP Method

GET

Description

No Content-Security-Policy, HSTS, or X-Frame-Options headers observed on any response.

Evidence / Proof of Concept

curl -sI https://online.acmebank.example/ — no security headers present.

Impact

Increases the risk and impact of XSS, clickjacking, and protocol-downgrade attacks.

Remediation

Set a strict CSP, HSTS (with preload), X-Frame-Options: DENY, and Referrer-Policy.

Conclusion & Recommendations

The engagement identified 3 finding(s). Findings should be tracked to closure with defined owners and target dates. High and critical findings should be remediated before the application is exposed to untrusted users.