Home / Vulnerability Database / PHP : Weak hashing algorithm
PHP

PHP : Weak hashing algorithm

Overview

The used hash function is insecure. Its use can lead to a loss of privacy.

The MD2, MD5, SHA1 hash functions have known vulnerabilities. Finding collisions for MD2 and MD5 functions does not require substantial resources; a similar problem for SHA1 was solved. If these functions are used to store valuable information (such as passwords), its confidentiality can be violated.

The hash function used to store passwords not only should be resistant to collisions but also should not be too fast. This makes the exhaustive search attack more difficult. Specialized hash functions have been developed for this purpose, e.g. PBKDF2, bcrypt, scrypt.

Suppose that user passwords are stored on the server in encrypted form with the use of insecure hash function (e.g., MD5). Possible attack scenario:

  1. The attacker gains access to the database of encrypted passwords.
  2. An attacker exploits a vulnerability of hashing algorithm and calculates a string for which the hash algorithm outputs the same value as for the user’s password.
  3. The attacker passes the authentication using a calculated string.

Sensitive Data Exposure vulnerabilities take the third place in the “OWASP Top 10 2017” web-application vulnerabilities ranking.

MEDIUM

DerScanner Severity Score

Do you want to fix PHP : Weak hashing algorithm in your application?

See also

PHP

PHP : Null salt

PHP

PHP : Empty password

PHP

PHP : Empty salt