Objective
Verify that appropriate HTTP security controls are configured for the application and that security headers are present, correctly scoped and compatible with the application's intended behavior.
HTTP response headers can instruct browsers how to handle content, framing, referrer information, transport security and other security-sensitive behavior.
Missing or incorrectly configured headers may weaken browser-side protections. However, the absence of a particular header is not automatically a vulnerability. The assessment must consider application architecture, browser behavior and the security requirement being addressed.
Security headers can break legitimate application functionality when configured incorrectly. Validate the policy against the application's actual resource loading, framing, authentication and navigation requirements.
Scope
Review security-relevant HTTP responses including:
Prerequisites
| Authorization | Confirm authorization to assess the application and its HTTP configuration. |
|---|---|
| Application map | Identify representative public, authenticated and administrative pages. |
| Architecture | Identify relevant web servers, reverse proxies, CDNs and security gateways. |
| Browser requirements | Understand legitimate browser-side functionality and third-party resources. |
Methodology
Review the actual HTTP response generated by the production-facing application rather than relying exclusively on server configuration.
| Method | Purpose |
|---|---|
| HTTP inspection | Determine which security headers are returned to clients. |
| Policy review | Evaluate whether header values provide the intended security control. |
| Cross-path comparison | Detect inconsistent header application between pages or response types. |
| Browser validation | Confirm that the policy is enforced without breaking required functionality. |
Test procedure
Security header review
Review whether HTTPS-only access is enforced appropriately for the application and domain.
Review whether content sources are restricted according to the application's security model.
Review whether browsers are instructed not to perform unintended MIME-type sniffing.
Review whether referrer information is appropriately restricted.
Review whether unnecessary browser capabilities are appropriately restricted.
Review CSP frame-ancestors and other applicable framing protections where clickjacking risk is relevant.
Example response
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Strict-Transport-Security: max-age=31536000
Content-Security-Policy: default-src 'self'
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=()
A header can be present while its value is ineffective, excessively permissive or incompatible with the intended security requirement. Always assess both presence and configuration.
Assessment
| Condition | Assessment consideration |
|---|---|
| Header present and appropriately configured | Generally meets the relevant configuration objective. |
| Header missing | Determine whether the missing control represents a meaningful security weakness. |
| Header present but overly permissive | Assess the actual protection provided by the policy. |
| Inconsistent header configuration | Investigate whether sensitive or security-critical paths are excluded. |
| Header breaks legitimate functionality | Policy requires correction rather than simply being considered secure. |
Expected result
Applicable HTTP security controls are intentionally configured, their policies provide the required protection, and the controls are consistently applied to relevant application responses without disrupting legitimate functionality.
Security header requirements should be based on the application's threat model and security architecture, rather than on simply maximizing the number of headers.
Failure criteria
The application's public-facing responses do not provide the browser security control required by the application's security architecture, leaving the affected browser behavior insufficiently restricted.
Remediation
Configure applicable security headers at the most reliable enforcement layer available, such as the application, reverse proxy or web server.
Recommended approach
- Define the browser security requirements for the application.
- Identify which policies are applicable to each application type and response.
- Configure security headers centrally where practical.
- Avoid unnecessarily broad source, framing or capability permissions.
- Test the policy against all legitimate third-party resources and application functionality.
- Apply HTTPS transport protection consistently where appropriate.
- Review redirects and error responses for inconsistent security policies.
- Document exceptions and their business justification.
Example server configuration
Strict-Transport-Security:
max-age=31536000
X-Content-Type-Options:
nosniff
Referrer-Policy:
strict-origin-when-cross-origin
Do not copy a Content-Security-Policy or other restrictive policy into production without testing. A policy that is technically strict but incorrectly designed can break application functionality or encourage unsafe exceptions.
Verification
Required policies are correctly configured, effective and compatible with application behavior.
Required security controls remain absent, ineffective or incorrectly configured.
The relevant policy or application behavior could not be adequately verified.
Evidence requirements
Remove cookies, authorization headers, access tokens, internal hostnames and other sensitive information before publishing HTTP captures or screenshots.
Classification
| WebOTG procedure | WebOTG-SM-006 |
|---|---|
| OWASP category | A02:2025 — Security Misconfiguration |
| Procedure type | HTTP security policy review |
| Assessment result | PASS / FAIL / NOT TESTED |
| Finding severity | Determine from the missing or weakened control, exploitability and resulting security impact. |
WebOTG-SM-006 is a WebOTG-defined verification procedure. The identifier is not an OWASP-defined test identifier.
References
| Source | Relevance |
|---|---|
| OWASP Top 10:2025 — A02 | Security Misconfiguration category. |
| OWASP Web Security Testing Guide | Web application security testing methodology. |
| OWASP Secure Headers Project | Security header guidance and browser security considerations. |
| MDN Web Docs | Browser behavior and HTTP security header reference. |
| IETF HTTP specifications | Standards and normative requirements for relevant HTTP mechanisms. |
WebOTG should maintain official source URLs, source versions and review dates through its content-management system so references can be updated independently of the procedure template.