# Autenticación y autorización

## Inicio de sesión

* Enumeración de cuentas de usuarios.
  * Mensajes entregados cuando se proporciona un usuario válido/inválido.
  * Diferencia en el tiempo de respuesta del servidor cuando se proporciona un usuario válido/inválido.
    * <https://github.com/MrW0l05zyn/pentesting/blob/master/web/payloads/timing-attack/timing_attack_user_enum.py>
  * Patrones de comportamiento específicos del flujo de inicio de sesión que pueden requerir una observación adicional para concluir si un usuario existe o no.
* [Ataques de contraseñas](https://pentesting.mrw0l05zyn.cl/explotacion/ataques-de-contrasenas).
  * [Credenciales por defecto](https://pentesting.mrw0l05zyn.cl/explotacion/ataques-de-contrasenas/wordlists-y-diccionarios#credenciales-por-defecto).
  * [Política de contraseñas](https://pentesting.mrw0l05zyn.cl/explotacion/ataques-de-contrasenas/wordlists-y-diccionarios#politica-de-contrasenas).
  * [Generación de diccionarios de nombres de usuarios](https://pentesting.mrw0l05zyn.cl/explotacion/ataques-de-contrasenas/wordlists-y-diccionarios#nombres-de-usuarios).
  * [Generación de diccionarios de contraseñas](https://pentesting.mrw0l05zyn.cl/explotacion/ataques-de-contrasenas/wordlists-y-diccionarios#generacion).
  * [Fuerza bruta Basic HTTP Authentication](https://pentesting.mrw0l05zyn.cl/explotacion/ataques-de-contrasenas/en-linea-online/80-tcp-443-tcp-http-s#basic-http-authentication).
  * [Fuerza bruta método HTTP GET](https://pentesting.mrw0l05zyn.cl/explotacion/ataques-de-contrasenas/en-linea-online/80-tcp-443-tcp-http-s#metodo-http-get).
  * [Fuerza bruta método HTTP POST](https://pentesting.mrw0l05zyn.cl/explotacion/ataques-de-contrasenas/en-linea-online/80-tcp-443-tcp-http-s#metodo-http-post).
  * Password spraying.
* Restricción de cantidad de intentos no válidos de inicio de sesión.
* Rate limit & spike arrest.

### Authentication bypass

* Injección SQL, NoSQL, LDAP, XML u otro para intentar eludir la autenticación.
* Modificación de HTTP header `Host`.
* Variables de sesión comunes:
  * Utilización de token de registro de usuario.
  * Utilización de token de restablecimiento de contraseña.
* Asignación prematura de variable de sesión al token durante el proceso de autenticación.

#### SQL injection authentication bypass

* <https://github.com/MrW0l05zyn/pentesting/blob/master/web/payloads/sql-injection/sql-injection-authentication-bypass.txt>

#### Type juggling <a href="#php-strcmp-bypass" id="php-strcmp-bypass"></a>

* [PHP](/explotacion/type-juggling.md#php)

## Registro de usuario

* Registro de usuario utilizando:
  * Espacios.
  * Unicode.
* Variables de sesión comunes: utilización de token de registro de usuario en otras funcionalidades.

## Proceso de restablecimiento de contraseña

* Enlace de restablecimiento de contraseña adivinable.
* Enlace de restablecimiento de contraseña reciclable.
* Token de restablecimiento de contraseña predecible.
* Respuestas adivinables para preguntas de seguridad.
* Envenenamiento de enlace de restablecimiento de contraseña a través de la manipulación del HTTP header `Host`.
* Variables de sesión comunes: utilización de token de restablecimiento de contraseña en otras funcionalidades.

## Session

* Token de sesión débil (generación adivinable).
* Manipulación de token de sesión (contenido).
* Session hijacking.
* Session fixation.
* Debilidades de cierre de sesión.
* Un identificador de sesión fuerte es:
  * Válido para una sola sesión.&#x20;
  * Tiempo limitado.&#x20;
  * Aleatorio e impredecible.
  * Tener al menos 16 bytes de longitud.
  * Proporcionar al menos 64 bits de entropía.

## Insecure direct object references (IDOR)

* Insecure direct object references (IDOR).
* IDOR information disclosure vulnerabilities.
* IDOR insecure function calls.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://web.mrw0l05zyn.cl/explotacion/autenticacion-y-autorizacion.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
