> ## Documentation Index
> Fetch the complete documentation index at: https://rootea.es/llms.txt
> Use this file to discover all available pages before exploring further.

# Authentication Vulnerabilities

> Cross-platform resources for Authentication Vulnerabilities: curated HTB machines, PortSwigger labs and TryHackMe rooms with validated writeups and related skills.

# Authentication Vulnerabilities

This page aggregates **cross-platform resources to practice Authentication Vulnerabilities**: retired Hack The Box machines, PortSwigger Web Security Academy labs and TryHackMe rooms, plus curated resources (HackTricks, PortSwigger, etc.) and related skills.

## Curated resources

| Source      | Link                                                                                                       |
| ----------- | ---------------------------------------------------------------------------------------------------------- |
| PortSwigger | [https://portswigger.net/web-security/authentication](https://portswigger.net/web-security/authentication) |

## HTB machines practicing Authentication Vulnerabilities (4)

| Machine                                               | OS      | Difficulty                                           |
| ----------------------------------------------------- | ------- | ---------------------------------------------------- |
| [Cache](/en/htb/machines/linux/medio/cache)           | Linux   | <span className="dbadge dbadge-medium">MEDIUM</span> |
| [Epsilon](/en/htb/machines/linux/medio/epsilon)       | Linux   | <span className="dbadge dbadge-medium">MEDIUM</span> |
| [Helpline](/en/htb/machines/windows/dificil/helpline) | Windows | <span className="dbadge dbadge-hard">HARD</span>     |
| [NodeBlog](/en/htb/machines/linux/facil/nodeblog)     | Linux   | <span className="dbadge dbadge-easy">EASY</span>     |

## PortSwigger labs practicing Authentication Vulnerabilities (27)

| Lab                                                                                                                                                                                         | Difficulty                                                 | Topic                          | Official                                                                                                                                       |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| [2FA bypass using a brute-force attack](/en/portswigger/labs/authentication/multi-factor-2fa-bypass-using-a-brute-force-attack)                                                             | <span className="dbadge dbadge-easy">APPRENTICE</span>     | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/multi-factor/lab-2fa-bypass-using-a-brute-force-attack)                             |
| [2FA simple bypass](/en/portswigger/labs/authentication/multi-factor-2fa-simple-bypass)                                                                                                     | <span className="dbadge dbadge-easy">APPRENTICE</span>     | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/multi-factor/lab-2fa-simple-bypass)                                                 |
| [Authentication bypass via information disclosure](/en/portswigger/labs/information-disclosure/exploiting-infoleak-authentication-bypass)                                                   | <span className="dbadge dbadge-easy">APPRENTICE</span>     | Information Disclosure         | [Open](https://portswigger.net/web-security/information-disclosure/exploiting/lab-infoleak-authentication-bypass)                              |
| [Authentication bypass via OAuth implicit flow](/en/portswigger/labs/oauth/oauth-authentication-bypass-via-oauth-implicit-flow)                                                             | <span className="dbadge dbadge-easy">APPRENTICE</span>     | OAuth Authentication           | [Open](https://portswigger.net/web-security/oauth/lab-oauth-authentication-bypass-via-oauth-implicit-flow)                                     |
| [Broken brute-force protection, multiple credentials per request](/en/portswigger/labs/authentication/password-based-broken-brute-force-protection-multiple-credentials-per-request)        | <span className="dbadge dbadge-easy">APPRENTICE</span>     | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/password-based/lab-broken-brute-force-protection-multiple-credentials-per-request)  |
| [Host header authentication bypass](/en/portswigger/labs/host-header/exploiting-host-header-authentication-bypass)                                                                          | <span className="dbadge dbadge-easy">APPRENTICE</span>     | HTTP Host Header Attacks       | [Open](https://portswigger.net/web-security/host-header/exploiting/lab-host-header-authentication-bypass)                                      |
| [JWT authentication bypass via algorithm confusion](/en/portswigger/labs/jwt/algorithm-confusion-jwt-authentication-bypass-via-algorithm-confusion)                                         | <span className="dbadge dbadge-easy">APPRENTICE</span>     | JWT (JSON Web Tokens)          | [Open](https://portswigger.net/web-security/jwt/algorithm-confusion/lab-jwt-authentication-bypass-via-algorithm-confusion)                     |
| [JWT authentication bypass via algorithm confusion with no exposed key](/en/portswigger/labs/jwt/algorithm-confusion-jwt-authentication-bypass-via-algorithm-confusion-with-no-exposed-key) | <span className="dbadge dbadge-easy">APPRENTICE</span>     | JWT (JSON Web Tokens)          | [Open](https://portswigger.net/web-security/jwt/algorithm-confusion/lab-jwt-authentication-bypass-via-algorithm-confusion-with-no-exposed-key) |
| [JWT authentication bypass via flawed signature verification](/en/portswigger/labs/jwt/jwt-authentication-bypass-via-flawed-signature-verification)                                         | <span className="dbadge dbadge-easy">APPRENTICE</span>     | JWT (JSON Web Tokens)          | [Open](https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-flawed-signature-verification)                               |
| [JWT authentication bypass via unverified signature](/en/portswigger/labs/jwt/jwt-authentication-bypass-via-unverified-signature)                                                           | <span className="dbadge dbadge-easy">APPRENTICE</span>     | JWT (JSON Web Tokens)          | [Open](https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-unverified-signature)                                        |
| [Password reset broken logic](/en/portswigger/labs/authentication/other-mechanisms-password-reset-broken-logic)                                                                             | <span className="dbadge dbadge-easy">APPRENTICE</span>     | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/other-mechanisms/lab-password-reset-broken-logic)                                   |
| [Username enumeration via different responses](/en/portswigger/labs/authentication/password-based-username-enumeration-via-different-responses)                                             | <span className="dbadge dbadge-easy">APPRENTICE</span>     | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/password-based/lab-username-enumeration-via-different-responses)                    |
| [2FA broken logic](/en/portswigger/labs/authentication/multi-factor-2fa-broken-logic)                                                                                                       | <span className="dbadge dbadge-medium">PRACTITIONER</span> | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/multi-factor/lab-2fa-broken-logic)                                                  |
| [Authentication bypass via encryption oracle](/en/portswigger/labs/logic-flaws/examples-logic-flaws-authentication-bypass-via-encryption-oracle)                                            | <span className="dbadge dbadge-medium">PRACTITIONER</span> | Business Logic Vulnerabilities | [Open](https://portswigger.net/web-security/logic-flaws/examples/lab-logic-flaws-authentication-bypass-via-encryption-oracle)                  |
| [Authentication bypass via flawed state machine](/en/portswigger/labs/logic-flaws/examples-logic-flaws-authentication-bypass-via-flawed-state-machine)                                      | <span className="dbadge dbadge-medium">PRACTITIONER</span> | Business Logic Vulnerabilities | [Open](https://portswigger.net/web-security/logic-flaws/examples/lab-logic-flaws-authentication-bypass-via-flawed-state-machine)               |
| [Broken brute-force protection, IP block](/en/portswigger/labs/authentication/password-based-broken-bruteforce-protection-ip-block)                                                         | <span className="dbadge dbadge-medium">PRACTITIONER</span> | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/password-based/lab-broken-bruteforce-protection-ip-block)                           |
| [Brute-forcing a stay-logged-in cookie](/en/portswigger/labs/authentication/other-mechanisms-brute-forcing-a-stay-logged-in-cookie)                                                         | <span className="dbadge dbadge-medium">PRACTITIONER</span> | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/other-mechanisms/lab-brute-forcing-a-stay-logged-in-cookie)                         |
| [JWT authentication bypass via jku header injection](/en/portswigger/labs/jwt/jwt-authentication-bypass-via-jku-header-injection)                                                           | <span className="dbadge dbadge-medium">PRACTITIONER</span> | JWT (JSON Web Tokens)          | [Open](https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-jku-header-injection)                                        |
| [JWT authentication bypass via jwk header injection](/en/portswigger/labs/jwt/jwt-authentication-bypass-via-jwk-header-injection)                                                           | <span className="dbadge dbadge-medium">PRACTITIONER</span> | JWT (JSON Web Tokens)          | [Open](https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-jwk-header-injection)                                        |
| [JWT authentication bypass via kid header path traversal](/en/portswigger/labs/jwt/jwt-authentication-bypass-via-kid-header-path-traversal)                                                 | <span className="dbadge dbadge-medium">PRACTITIONER</span> | JWT (JSON Web Tokens)          | [Open](https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-kid-header-path-traversal)                                   |
| [JWT authentication bypass via weak signing key](/en/portswigger/labs/jwt/jwt-authentication-bypass-via-weak-signing-key)                                                                   | <span className="dbadge dbadge-medium">PRACTITIONER</span> | JWT (JSON Web Tokens)          | [Open](https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-weak-signing-key)                                            |
| [Offline password cracking](/en/portswigger/labs/authentication/other-mechanisms-offline-password-cracking)                                                                                 | <span className="dbadge dbadge-medium">PRACTITIONER</span> | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/other-mechanisms/lab-offline-password-cracking)                                     |
| [Password brute-force via password change](/en/portswigger/labs/authentication/other-mechanisms-password-brute-force-via-password-change)                                                   | <span className="dbadge dbadge-medium">PRACTITIONER</span> | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/other-mechanisms/lab-password-brute-force-via-password-change)                      |
| [Password reset poisoning via middleware](/en/portswigger/labs/authentication/other-mechanisms-password-reset-poisoning-via-middleware)                                                     | <span className="dbadge dbadge-medium">PRACTITIONER</span> | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/other-mechanisms/lab-password-reset-poisoning-via-middleware)                       |
| [Username enumeration via account lock](/en/portswigger/labs/authentication/password-based-username-enumeration-via-account-lock)                                                           | <span className="dbadge dbadge-medium">PRACTITIONER</span> | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/password-based/lab-username-enumeration-via-account-lock)                           |
| [Username enumeration via response timing](/en/portswigger/labs/authentication/password-based-username-enumeration-via-response-timing)                                                     | <span className="dbadge dbadge-medium">PRACTITIONER</span> | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/password-based/lab-username-enumeration-via-response-timing)                        |
| [Username enumeration via subtly different responses](/en/portswigger/labs/authentication/password-based-username-enumeration-via-subtly-different-responses)                               | <span className="dbadge dbadge-medium">PRACTITIONER</span> | Authentication Vulnerabilities | [Open](https://portswigger.net/web-security/authentication/password-based/lab-username-enumeration-via-subtly-different-responses)             |

## TryHackMe rooms practicing Authentication Vulnerabilities (2)

| Room                                                              | Difficulty                                       | Type        | Access  | Official                                                |
| ----------------------------------------------------------------- | ------------------------------------------------ | ----------- | ------- | ------------------------------------------------------- |
| [Advent of Cyber 3 (2021)](/en/tryhackme/rooms/adventofcyber3)    | <span className="dbadge dbadge-easy">EASY</span> | Walkthrough | 🟢 Free | [Open](https://tryhackme.com/room/adventofcyber3)       |
| [Authentication Bypass](/en/tryhackme/rooms/authenticationbypass) | <span className="dbadge dbadge-easy">EASY</span> | Walkthrough | 🔵 VIP  | [Open](https://tryhackme.com/room/authenticationbypass) |

***

← [Back to the full glossary](/en/glossary)

<script type="application/ld+json">
  {`{"@context":"https://schema.org","@type":"DefinedTerm","name":"Authentication Vulnerabilities","termCode":"authentication","inLanguage":"en","url":"https://rootea.es/en/skills/authentication","inDefinedTermSet":{"@type":"DefinedTermSet","name":"Tactical pentesting glossary","url":"https://rootea.es/en/glossary"}}`}
</script>

<script type="application/ld+json">
  {`{"@context":"https://schema.org","@type":"ItemList","name":"HTB machines practicing Authentication Vulnerabilities","numberOfItems":4,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://rootea.es/en/htb/machines/linux/medio/cache","name":"Cache"},{"@type":"ListItem","position":2,"url":"https://rootea.es/en/htb/machines/linux/medio/epsilon","name":"Epsilon"},{"@type":"ListItem","position":3,"url":"https://rootea.es/en/htb/machines/windows/dificil/helpline","name":"Helpline"},{"@type":"ListItem","position":4,"url":"https://rootea.es/en/htb/machines/linux/facil/nodeblog","name":"NodeBlog"}]}`}
</script>

*Last updated: 2026-06-07*
