Objective
Verify that default, vendor-supplied, dormant and unnecessary application accounts cannot provide unauthorized access or unnecessary privileges.
Applications and supporting components frequently introduce accounts during installation, deployment or initial configuration. These accounts may be intended for setup, maintenance, demonstration or vendor support.
Leaving such accounts enabled after deployment can unnecessarily increase the application's attack surface. Particular attention should be given to accounts that retain predictable credentials, excessive privileges or access that is no longer required.
A system account may be required for legitimate application operation. The assessment should establish whether an account is necessary, what it can access, how it authenticates and whether its privileges are appropriate.
Scope
Review accounts associated with:
Prerequisites
| Authorization | Confirm authorization to review account configuration and perform permitted authentication tests. |
|---|---|
| Account inventory | Obtain an authoritative inventory of application and administrative accounts. |
| Role information | Obtain the expected role and privilege associated with each relevant account. |
| Deployment documentation | Identify vendor-created, installation, service and emergency accounts. |
| Test credentials | Use dedicated authorized test accounts. Never test using production credentials unless explicitly required and authorized. |
Methodology
Establish the expected account population first. Compare the actual deployed accounts against that baseline, then assess the necessity, authentication controls and privileges associated with each account.
| Method | Purpose |
|---|---|
| Account inventory review | Identify accounts currently configured within the application. |
| Configuration review | Determine account purpose, status and assigned privileges. |
| Authentication testing | Verify permitted authentication behavior using authorized test credentials. |
| Authorization testing | Verify that account privileges match the documented role. |
| Lifecycle review | Determine whether unnecessary accounts are disabled, removed or otherwise appropriately controlled. |
Test procedure
Account categories
| Account type | Review objective |
|---|---|
| Default account | Determine whether the account is required and whether its initial credentials or configuration remain active. |
| Vendor account | Verify that vendor access is required, controlled and attributable. |
| Sample account | Remove or disable accounts that exist only for demonstration or testing. |
| Dormant account | Determine whether continued access is justified and appropriately controlled. |
| Service account | Verify documented ownership, required privileges and appropriate credential management. |
| Emergency account | Verify that exceptional access is strongly controlled and auditable. |
| Development / test account | Confirm that non-production identities have not been unintentionally deployed into production. |
Example account baseline
Account Type Status Privilege
-----------------------------------------------------------
admin Human Enabled Administrator
application-worker Service Enabled Application service
vendor-support Vendor Disabled Restricted
demo Sample Disabled None
test-admin Test Disabled None
break-glass Emergency Controlled Administrator
Assessment
| Condition | Assessment consideration |
|---|---|
| Required account | Confirm that its purpose, owner and privileges are documented. |
| Unnecessary account | Disable or remove the account according to the organization's lifecycle policy. |
| Default account | Verify that default credentials are not retained and that the account remains necessary. |
| Dormant account | Determine whether the account still requires access. |
| Excessive privilege | Reduce privileges to the minimum required by the account's function. |
| Unowned account | Treat absence of accountable ownership as a lifecycle and governance concern. |
Expected result
Every enabled account has a documented purpose, accountable ownership, appropriate authentication controls and only the privileges necessary to perform its intended function.
Accounts that are no longer required should be disabled or removed. Default, demonstration and development identities should not remain unnecessarily active in production.
Failure criteria
A vendor-supplied administrative account remains enabled in the production application despite documentation indicating that vendor access is not required during normal operation. The account has administrative privileges and should be disabled or otherwise placed under controlled access procedures.
Remediation
Establish an account lifecycle process that prevents unnecessary identities from remaining active and ensures privileged accounts have clear ownership and appropriate access.
Recommended approach
- Inventory all application accounts.
- Identify the owner and purpose of each account.
- Remove or disable accounts that are not required.
- Replace shared administrative identities with individually attributable accounts where practical.
- Review and reduce excessive privileges.
- Change or invalidate vendor-supplied credentials where those accounts must remain enabled.
- Apply appropriate authentication requirements to privileged accounts.
- Establish an inactivity and account-review process.
- Ensure development and test accounts cannot be unintentionally promoted to production.
- Document exceptional accounts such as emergency or break-glass identities.
Example account lifecycle
Account requested
|
v
Business purpose documented
|
v
Owner assigned
|
v
Least privilege applied
|
v
Authentication controls applied
|
v
Account enabled
|
v
Periodic review
|
+---- Required ----> Remain active
|
+---- Not required -> Disable / remove
Removing a service identity without understanding its dependencies can interrupt production services. First establish the account's purpose and dependencies, then migrate or disable it through a controlled change.
Verification
Required accounts are controlled appropriately and unnecessary accounts cannot provide access.
Unnecessary, default or improperly privileged accounts can provide unauthorized or excessive access.
Account configuration or authentication behavior could not be adequately verified.
Evidence requirements
Evidence must not contain passwords, password hashes, API keys, recovery codes, session tokens or other authentication secrets. Account names should also be redacted when their disclosure creates a security concern.
Classification
| WebOTG procedure | WebOTG-SM-012 |
|---|---|
| OWASP category | A02:2025 — Security Misconfiguration |
| Procedure type | Account configuration and lifecycle review |
| Assessment result | PASS / FAIL / NOT TESTED |
| Finding severity | Determine from account privilege, accessibility, authentication controls, exposure and resulting impact. |
WebOTG-SM-012 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 Application Security Verification Standard | Verification requirements related to authentication, authorization and account management. |
| Application account-management policy | Organizational requirements for account creation, ownership, review and removal. |
| Vendor deployment documentation | Identification of installation, service and vendor-supplied accounts. |
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.