Testing for weak password change or reset functionalities (OWASP-AT-011)
This article is part of the new OWASP Testing Guide v4.
At the moment the project is in the REVIEW phase.
Back to the OWASP Testing Guide v4 ToC: https://www.owasp.org/index.php/OWASP_Testing_Guide_v4_Table_of_Contents Back to the OWASP Testing Guide Project: http://www.owasp.org/index.php/OWASP_Testing_Project
The password change/reset function of an application is a self-service password change/reset mechanism for users. This self-service mechanism allows users to quickly change/reset their password without an administrator intervening. When passwords are changed they are typically changed within the application. When passwords are reset they are either rendered within the application or emailed to the user. This may indicate that the passwords are stored in plaintext.
Determine the resistance of the application to subversion of the account change process allowing someone to change the password of an account.
Determine the resistance of reset passwords to guessing.
How to test
This test case aligns closely with OTG-AUTHN-007 - Testing for Weak Password Policy
- Can users other than administrators access change/reset passwords for accounts other than their own?
- Can users manipulate/subvert the password change/reset process to change/reset the password of another user or administrator?
- Is the password change/reset process vulnerable to CSRF?
- Are reset passwords generated randomly or using an algorithm the can be derived?
- How are reset passwords communicated to the user?
The password change/reset function is a sensitive function and requires some form of protection, such as requiring users to re-authenticate or presenting the user with confirmation dialogs during the process.