Authentication vulnerabilities

Home > Cyber Security Solutions > Various-Security-Offerings > Penetration Test > Specialized Pen Testing > Web Portals > Authentication vulnerabilities

Most of the websites needing user authentications are vulnerable to authentication problems. There are several available authentication mechanisms to choose from, if not done correctly, can expose vulnerabilities that attackers can exploit to gain access to your system.

Vulnerabilities :

  1. Credentials or authentication tickets passed in clear text
  2. Weak password policies
  3. Passwords stored insecurely
  4. Ineffective or lacking password complexity check

Attacks :

  1. Cookie Replay Attacks
  2. Dictionary Attacks
  3. Network Eavesdropping
  4. Password Brute Force Attacks

Valency Networks is a Pune, India based firm providing detailed penetration testing (pen-test) services to detect such vulnerabilities. Based on the findings, we suggest one or more of the following are a set of countermeasures which could be incorporated to thwart such attacks.


Countermeasures to counter authentication attacks include:

  1. Encrypt credentials over the wire. Avoid sending plain-text credentials over the wire. If you must send credentials over the wire, encrypt them to help protect them if they are captured during a network sniffing attack.
  2. Protect authentication tokens. Encrypt authentication tokens over the wire. Use an encrypted channel (for example by using SSL) to prevent an attacker sniffing authentication tokens and using them in cookie replay attacks.
  3. Enforce strong password policies. Enforce password complexity requirement by requiring a a long passwords with a combination of upper case, lower case, numeric and special (for example punctuation) characters. This helps mitigate the threat posed by dictionary attacks. If possible, also enforce automatic password expiry.
  4. Store password hashes (with salt) instead of the passwords or encrypted passwords. If you implement Forms authentication, don't store user passwords if the sole purpose is to verify that the user knows the password value. Instead, store a verifier in the form of a hash value and re-compute the hash using the user-supplied value during the logon process. Avoid storing encrypted passwords because it raises key management issues—you can secure the password with encryption, but you then have to consider how to store the encryption key. Combine password hashes with a salt value (a cryptographically strong random number), to mitigate the threat associated with brute force attacks and dictionary attacks.