WebOTG Security Testing Library ● Public reference
WebOTG
WEBOTG SECURITY TESTING PROCEDURE

WebOTG-AF-001 — Authentication Security Review

A structured procedure for identifying, reproducing, remediating and verifying authentication weaknesses involving credential handling, automated attacks, MFA, account recovery, session management and authentication state.

WebOTG ID AF-001 OWASP A07:2025 Type Authentication Review Method Manual + Tool-Assisted Version 1.0
01 / OBJECTIVE

Objective

What are we verifying?

Verify that the application correctly establishes, maintains and terminates user identity and authentication state, and that authentication mechanisms resist unauthorized access through predictable, weak or improperly protected paths.

Authentication failures occur when an application accepts an invalid or incorrect identity as legitimate, or when authentication mechanisms can be bypassed or weakened through predictable credentials, automated attacks, recovery workflows, MFA weaknesses or session-management errors.

OWASP Top 10:2025 places Authentication Failures at A07:2025. The category includes 36 mapped CWEs covering authentication, credentials, session fixation, password recovery, excessive authentication attempts and related weaknesses. :contentReference[oaicite:0]{index=0}

02 / SCOPE

Scope

Review all mechanisms responsible for establishing or maintaining authenticated identity, including:

Login and authentication endpoints
Username and password handling
Registration and account creation
Password change functionality
Password reset and account recovery
Multi-factor authentication
Session creation and rotation
Session expiration and logout
SSO and authentication tokens
API authentication mechanisms
Administrative authentication
03 / PREREQUISITES

Prerequisites

Authorization Confirm authorization to test authentication, account and session functionality.
Test accounts Prepare authorized accounts representing relevant roles and authentication states.
Recovery access Where permitted, prepare access to the controlled email, phone or recovery mechanism associated with test accounts.
Application map Identify authentication endpoints, account-management functions and authentication-related APIs.
Test environment Prefer a controlled environment for repeated authentication testing.
04 / METHODOLOGY

Methodology

Authentication testing should evaluate the complete identity lifecycle rather than testing the login form in isolation.

Review stage Primary question
Identity How does the application determine which account is being authenticated?
Credentials Are credentials sufficiently strong, protected and validated?
Authentication Can an attacker bypass or weaken the authentication decision?
Session Is authentication state securely created, maintained and invalidated?
Recovery Does account recovery provide an equivalent security level?
Automation Can automated attacks be performed without appropriate resistance or detection?
05 / PROCEDURE

Test procedure

01
Map authentication entry points Identify login, registration, password change, recovery, MFA, SSO and API authentication paths.
02
Establish baseline behavior Record successful and unsuccessful authentication behavior using authorized test accounts.
03
Test credential controls Review password requirements, breached-password checks, default credentials and credential handling.
04
Test automated attack resistance Evaluate rate limits, progressive delays, account protections and detection using controlled low-volume testing.
05
Test MFA and fallback paths Determine whether MFA is correctly enforced and whether fallback mechanisms provide equivalent protection.
06
Test recovery mechanisms Verify password reset and account-recovery workflows without weakening identity assurance.
07
Test session lifecycle Verify session creation, rotation, storage, expiration and invalidation.
08
Confirm findings Reproduce each observed weakness and determine whether it results in unauthorized authentication or weakened authentication assurance.
06 / CREDENTIALS

Credential security

PASSWORD POLICY

Verify that password requirements prevent obviously weak credentials without imposing unnecessary restrictions that encourage reuse.

BREACHED CREDENTIALS

Verify that account creation and password changes can reject known compromised credentials where required by the security policy.

DEFAULT CREDENTIALS

Verify that deployed applications and administrative interfaces do not use default or well-known credentials.

PASSWORD STORAGE

Verify that passwords are not stored in plaintext, reversible encryption or weak hashing schemes.

CREDENTIAL TRANSPORT

Verify that credentials are transmitted only through appropriately protected channels.

HARDCODED SECRETS

Review application code and deployment configuration for hard-coded authentication credentials.

Do not use outdated password rules as a security shortcut

Password policy should be based on current, evidence-based guidance. OWASP's 2025 guidance specifically recommends breached-credential checks and alignment with modern NIST password guidance rather than blindly enforcing arbitrary periodic password rotation. :contentReference[oaicite:1]{index=1}

07 / AUTOMATED ATTACKS

Brute force and credential attack resistance

Authentication endpoints should resist automated attempts such as brute force, credential stuffing and password spraying without introducing an unnecessary denial-of-service condition for legitimate users.

Failed authentication attempts are appropriately rate-limited.
Progressive delays or equivalent controls are applied where appropriate.
Controls cannot be trivially bypassed by changing client-controlled identifiers.
Credential-stuffing indicators can be detected.
Security events are logged and actionable alerts can be generated where appropriate.
Defensive controls do not allow an attacker to lock arbitrary legitimate users out indefinitely.
Keep active authentication testing controlled

Do not perform high-volume credential attacks against production systems or accounts that you do not own. Use designated test accounts, controlled request rates and an agreed testing window.

08 / MFA

Multi-factor authentication

Where MFA is required, the assessment should verify that authentication cannot be completed by bypassing, downgrading or incorrectly implementing the additional factor.

MFA is enforced for the intended accounts and sensitive operations.
The second factor is actually verified server-side.
MFA cannot be bypassed by directly accessing a post-authentication endpoint.
Recovery and fallback mechanisms do not provide a significantly weaker authentication path.
MFA enrollment and replacement are protected against unauthorized changes.
Sensitive MFA operations are appropriately logged.
MFA presence is not enough

A system can advertise MFA while still having an authentication weakness if an alternate route, recovery mechanism or incomplete implementation allows the additional factor to be bypassed.

09 / ACCOUNT RECOVERY

Password reset and account recovery

Account recovery must preserve the security objective of authentication. A strong login mechanism does not protect an account if the recovery process can be used to obtain access with substantially weaker proof of identity.

Review area Verification focus
Account enumeration Registration and recovery responses should avoid unnecessarily revealing whether an account exists.
Reset token Tokens should be unpredictable, scoped, single-use and appropriately time-limited.
Token exposure Reset secrets should not be unnecessarily exposed through URLs, logs, referrers or client-side storage.
Identity verification Recovery should provide appropriate proof that the requester controls the account.
Existing sessions Sensitive recovery operations should appropriately handle existing sessions and authentication tokens.
Password change Changing credentials should not silently weaken authentication state.
10 / SESSION MANAGEMENT

Session lifecycle

SESSION CREATION

A new high-entropy session identifier should be established after successful authentication.

SESSION ROTATION

The application should prevent session fixation by changing the session identifier when authentication state changes.

COOKIE SECURITY

Session cookies should use appropriate security attributes such as Secure, HttpOnly and an appropriate SameSite policy.

EXPIRATION

Sessions should expire according to defined idle and absolute timeout requirements.

LOGOUT

Logout should invalidate the relevant server-side session or authentication state.

TOKEN SCOPE

Authentication tokens should be accepted only for their intended issuer, audience, scope and purpose.

Expected cookie properties REFERENCE
Set-Cookie:
    session=RANDOM_HIGH_ENTROPY_VALUE;
    Secure;
    HttpOnly;
    SameSite=Lax;
11 / REPRODUCTION

Controlled reproduction

Baseline authentication

HTTP request BASELINE
POST /login HTTP/1.1
Host: application.example
Content-Type: application/x-www-form-urlencoded

username=test-user
password=<authorized-test-password>

Controlled negative test

Authentication test NON-DESTRUCTIVE
POST /login HTTP/1.1
Host: application.example
Content-Type: application/x-www-form-urlencoded

username=test-user
password=<incorrect-test-password>

Compare the successful and unsuccessful authentication paths. The review should determine whether invalid credentials are rejected consistently and whether authentication state is established only after successful verification.

Session rotation check

Record the pre-authentication session identifier.
Authenticate using the authorized test account.
Record the post-authentication session identifier.
Confirm that authentication changes the session state appropriately.
Do not test against real users

Authentication testing must use authorized accounts and controlled credentials. Never attempt to validate a finding by accessing another person's account.

12 / ASSESSMENT

Assessment

Condition Assessment consideration
Strong authentication Invalid authentication attempts are rejected and the complete identity lifecycle is appropriately protected.
Weak credentials Weak, default or compromised credentials can be used when they should be rejected.
Authentication bypass A user can reach an authenticated state without satisfying the required authentication conditions.
Session weakness Authentication state can be fixed, reused or retained beyond its intended lifetime.
Recovery weakness Account recovery provides insufficient identity assurance.
Automation weakness Automated credential attacks can be performed without effective controls.
13 / FAILURE CRITERIA

Failure criteria

Invalid credentials can authenticate successfully.
Authentication can be bypassed through an alternate path or endpoint.
Default or well-known credentials remain active.
Password recovery provides insufficient proof of account ownership.
MFA can be bypassed or downgraded without appropriate authorization.
Session identifiers are not appropriately rotated, protected or invalidated.
Automated authentication attacks can proceed without adequate resistance or detection.
Authentication tokens are accepted outside their intended scope, issuer or audience.
Example finding AUTHENTICATION FAILURE

The application permits repeated authentication attempts against a valid account without effective rate limiting or equivalent automated-attack resistance. Controlled testing demonstrates that repeated attempts can continue without meaningful restriction, increasing exposure to brute-force, credential-stuffing or password-spraying attacks.

14 / REMEDIATION

Remediation

Authentication controls should preferably use mature, well-tested frameworks or identity platforms rather than implementing authentication primitives from scratch.

  1. Use a well-maintained authentication and session management framework where practical.
  2. Disable all default credentials before deployment.
  3. Reject weak and known-compromised passwords according to the application's security requirements.
  4. Implement appropriate resistance against brute-force, credential-stuffing and password-spraying attacks.
  5. Use MFA for systems and operations requiring stronger authentication assurance.
  6. Ensure MFA fallback mechanisms do not undermine the primary MFA control.
  7. Generate new high-entropy session identifiers after authentication-state changes.
  8. Store session identifiers using appropriately secured cookies rather than insecure client-controlled locations.
  9. Invalidate sessions and relevant authentication tokens on logout, expiration and security-sensitive events.
  10. Design password recovery with appropriate identity verification and single-use recovery mechanisms.
  11. Prevent account enumeration where it would expose sensitive authentication information.
  12. Validate authentication-token issuer, audience and scope where applicable.
Avoid building authentication security from ad-hoc controls

Combining custom cookies, custom password logic, homemade token formats and application-specific authentication checks increases the probability of subtle authentication failures. OWASP explicitly recommends using a trusted, hardened system for authentication, identity and session management where possible. :contentReference[oaicite:2]{index=2}

15 / VERIFICATION

Post-remediation verification

01
Reproduce the original condition Repeat the controlled test that previously demonstrated the authentication weakness.
02
Verify rejection Confirm that invalid or unauthorized authentication attempts are rejected.
03
Verify alternate paths Test relevant API, mobile, recovery, legacy and alternate authentication routes for equivalent enforcement.
04
Verify session lifecycle Confirm that authentication establishes a new session state and that logout and timeout invalidate it appropriately.
05
Verify MFA and recovery Confirm that MFA and recovery paths enforce the intended authentication assurance.
06
Verify legitimate functionality Confirm that authorized users can still authenticate and recover their accounts as intended.
PASS

Authentication controls correctly reject the tested unauthorized condition and preserve the intended authentication lifecycle.

FAIL

The original authentication weakness or an equivalent bypass remains reproducible.

NOT TESTED

The authentication control could not be adequately evaluated with the available access or evidence.

16 / EVIDENCE

Evidence requirements

Authentication endpoint or affected function
Authorized test account and role
Baseline successful authentication evidence
Negative authentication evidence
Relevant HTTP request and response
Session lifecycle evidence where applicable
MFA or recovery workflow evidence where applicable
Rate-limit or automated-attack control evidence
Remediation evidence
Post-remediation verification
Never publish authentication secrets as evidence

Redact passwords, session cookies, reset tokens, MFA secrets, recovery codes, API credentials and other authentication material before storing or publishing assessment evidence.

17 / CLASSIFICATION

Classification

WebOTG procedure WebOTG-AF-001
OWASP category A07:2025 — Authentication Failures
Procedure type Authentication, credential and session security assessment
Assessment result PASS / FAIL / NOT TESTED
Finding severity Determine according to the authentication assurance affected, privileges obtainable, assets exposed, exploitability and resulting impact.
WebOTG classification notice

WebOTG-AF-001 is a WebOTG-defined verification procedure. The identifier is not an OWASP-defined test identifier.

18 / REFERENCES

References

Source Relevance
OWASP Top 10:2025 — A07 Primary category definition for Authentication Failures.
OWASP Web Security Testing Guide Authentication, session-management and application security testing guidance.
OWASP Application Security Verification Standard Verification requirements relevant to authentication and session security.
NIST SP 800-63B Modern guidance concerning authentication and memorized secrets.
CWE Common weakness classifications for authentication and session-related vulnerabilities.

WebOTG should maintain authoritative source references, document versions and review dates through its content management system so that the procedure can be updated independently from application code.