Web application scanning

Web application scanning tests a running application for vulnerabilities by sending crafted requests and analysing responses. It covers the application layer: what the server returns in response to various inputs, rather than the network or host configuration.

Application attack surface

XSS: reflected and stored. Scanners inject payloads into query parameters, form fields, headers, and cookies, then check whether the payload appears unescaped in the response or in subsequent responses.

CSRF: whether state-changing requests can be made without a valid CSRF token, and whether the token validation is actually enforced.

SSRF: whether the application can be made to issue requests to internal addresses by supplying crafted URLs in parameters that the application fetches.

Authentication: login bruteforce protection, account lockout, session fixation, session token entropy, logout behaviour (whether the server-side session is actually invalidated).

Session management: session token exposure (in URLs, in referrer headers, in log files), cookie security flags (HttpOnly, Secure, SameSite), session timeout.

Business logic: these are harder for automated scanners to find because they require understanding the application’s intended behaviour. Negative prices, skipping required steps in a workflow, accessing draft content as an anonymous user, and similar issues tend to surface in manual testing.

Tools

OWASP ZAP: open-source; active and passive scanning modes; spider crawls the application before scanning; integrates with CI/CD via its API or Docker image; suitable for both automated and manual use.

Burp Suite Professional: the standard for professional web application penetration testing; active scanner, proxy, Repeater, Intruder, and Sequencer modules; the Community edition excludes the active scanner but supports manual testing.

Acunetix, Invicti (formerly Netsparker): commercial; targeted at teams running regular automated scans; generally lower false positive rates than open-source alternatives.

Authenticated scanning

Scanning without logging in tests only the unauthenticated attack surface. Authenticated scanning (providing the scanner with credentials or a session token) covers the logged-in attack surface, which is often larger. Both OWASP ZAP and Burp Suite support authenticated scanning.

Scope and authorisation

Web application scanning issues a large number of requests in a short time and can affect application stability. Running scans against production systems requires care; a staging environment that mirrors production is typically preferable for automated scanning, with targeted manual testing against production.