11 KiB
Restablecimiento/Olvido de Contraseña Bypass
{{#include ../banners/hacktricks-training.md}}

¡Únete al servidor de HackenProof Discord para comunicarte con hackers experimentados y cazadores de bugs!
Perspectivas de Hacking
Participa en contenido que profundiza en la emoción y los desafíos del hacking
Noticias de Hackeo en Tiempo Real
Mantente al día con el mundo del hacking de ritmo rápido a través de noticias e información en tiempo real
Últimos Anuncios
Mantente informado sobre las nuevas recompensas por bugs que se lanzan y actualizaciones cruciales de la plataforma
Únete a nosotros en Discord y comienza a colaborar con los mejores hackers hoy mismo!
Filtración del Token de Restablecimiento de Contraseña a Través del Referer
- El encabezado HTTP referer puede filtrar el token de restablecimiento de contraseña si está incluido en la URL. Esto puede ocurrir cuando un usuario hace clic en un enlace de un sitio web de terceros después de solicitar un restablecimiento de contraseña.
- Impacto: Toma de control potencial de la cuenta a través de ataques de Cross-Site Request Forgery (CSRF).
- Explotación: Para verificar si un token de restablecimiento de contraseña se está filtrando en el encabezado referer, solicita un restablecimiento de contraseña a tu dirección de correo electrónico y haz clic en el enlace de restablecimiento proporcionado. No cambies tu contraseña de inmediato. En su lugar, navega a un sitio web de terceros (como Facebook o Twitter) mientras interceptas las solicitudes usando Burp Suite. Inspecciona las solicitudes para ver si el encabezado referer contiene el token de restablecimiento de contraseña, ya que esto podría exponer información sensible a terceros.
- Referencias:
- HackerOne Report 342693
- HackerOne Report 272379
- Artículo sobre la Filtración del Token de Restablecimiento de Contraseña
Envenenamiento del Restablecimiento de Contraseña
- Los atacantes pueden manipular el encabezado Host durante las solicitudes de restablecimiento de contraseña para apuntar el enlace de restablecimiento a un sitio malicioso.
- Impacto: Conduce a una posible toma de control de la cuenta al filtrar tokens de restablecimiento a los atacantes.
- Pasos de Mitigación:
- Valida el encabezado Host contra una lista blanca de dominios permitidos.
- Utiliza métodos seguros del lado del servidor para generar URLs absolutas.
- Parche: Usa
$_SERVER['SERVER_NAME']para construir URLs de restablecimiento de contraseña en lugar de$_SERVER['HTTP_HOST']. - Referencias:
- Artículo de Acunetix sobre el Envenenamiento del Restablecimiento de Contraseña
Restablecimiento de Contraseña Manipulando el Parámetro de Correo Electrónico
Los atacantes pueden manipular la solicitud de restablecimiento de contraseña añadiendo parámetros de correo electrónico adicionales para desviar el enlace de restablecimiento.
- Agrega el correo electrónico del atacante como segundo parámetro usando &
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
- Agregar el correo electrónico del atacante como segundo parámetro usando %20
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
- Agrega el correo electrónico del atacante como segundo parámetro usando |
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
- Agregar el correo electrónico del atacante como segundo parámetro usando cc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
- Agregar el correo electrónico del atacante como segundo parámetro usando bcc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
- Agrega el correo electrónico del atacante como segundo parámetro usando ,
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
- Agregar el correo electrónico del atacante como segundo parámetro en el array json
POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}
- Pasos de Mitigación:
- Analizar y validar adecuadamente los parámetros de correo electrónico del lado del servidor.
- Utilizar declaraciones preparadas o consultas parametrizadas para prevenir ataques de inyección.
- Referencias:
- https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be
- https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/
- https://twitter.com/HusseiN98D/status/1254888748216655872
Cambio de Correo Electrónico y Contraseña de Cualquier Usuario a Través de Parámetros de API
- Los atacantes pueden modificar los parámetros de correo electrónico y contraseña en las solicitudes de API para cambiar las credenciales de la cuenta.
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})
- Pasos de Mitigación:
- Asegurar una validación estricta de parámetros y verificaciones de autenticación.
- Implementar un registro y monitoreo robustos para detectar y responder a actividades sospechosas.
- Referencia:
- Full Account Takeover via API Parameter Manipulation
Sin Limitación de Tasa: Bombardeo de Correos Electrónicos
- La falta de limitación de tasa en las solicitudes de restablecimiento de contraseña puede llevar a un bombardeo de correos electrónicos, abrumando al usuario con correos de restablecimiento.
- Pasos de Mitigación:
- Implementar limitación de tasa basada en la dirección IP o la cuenta de usuario.
- Usar desafíos CAPTCHA para prevenir abusos automatizados.
- Referencias:
- HackerOne Report 280534
Descubrir Cómo se Genera el Token de Restablecimiento de Contraseña
- Entender el patrón o método detrás de la generación de tokens puede llevar a predecir o forzar tokens. Algunas opciones:
- Basado en Timestamp
- Basado en el UserID
- Basado en el correo electrónico del Usuario
- Basado en Nombre y Apellido
- Basado en Fecha de Nacimiento
- Basado en Criptografía
- Pasos de Mitigación:
- Usar métodos criptográficos fuertes para la generación de tokens.
- Asegurar suficiente aleatoriedad y longitud para prevenir la predictibilidad.
- Herramientas: Usar Burp Sequencer para analizar la aleatoriedad de los tokens.
UUID Adivinable
- Si los UUIDs (versión 1) son adivinables o predecibles, los atacantes pueden forzarlos para generar tokens de restablecimiento válidos. Verifique:
{{#ref}} uuid-insecurities.md {{#endref}}
- Pasos de Mitigación:
- Usar GUID versión 4 para aleatoriedad o implementar medidas de seguridad adicionales para otras versiones.
- Herramientas: Usar guidtool para analizar y generar GUIDs.
Manipulación de Respuesta: Reemplazar Respuesta Mala con Buena
- Manipular respuestas HTTP para eludir mensajes de error o restricciones.
- Pasos de Mitigación:
- Implementar verificaciones del lado del servidor para asegurar la integridad de la respuesta.
- Usar canales de comunicación seguros como HTTPS para prevenir ataques de hombre en el medio.
- Referencia:
- Critical Bug in Live Bug Bounty Event
Uso de Token Expirado
- Probar si los tokens expirados aún pueden ser utilizados para el restablecimiento de contraseña.
- Pasos de Mitigación:
- Implementar políticas estrictas de expiración de tokens y validar la expiración del token del lado del servidor.
Fuerza Bruta del Token de Restablecimiento de Contraseña
- Intentar forzar el token de restablecimiento usando herramientas como Burpsuite e IP-Rotator para eludir límites de tasa basados en IP.
- Pasos de Mitigación:
- Implementar mecanismos robustos de limitación de tasa y bloqueo de cuentas.
- Monitorear actividades sospechosas indicativas de ataques de fuerza bruta.
Intentar Usar Su Token
- Probar si el token de restablecimiento de un atacante puede ser utilizado junto con el correo electrónico de la víctima.
- Pasos de Mitigación:
- Asegurar que los tokens estén vinculados a la sesión del usuario u otros atributos específicos del usuario.
Invalidación de Sesión en Cierre de Sesión/Restablecimiento de Contraseña
- Asegurar que las sesiones se invaliden cuando un usuario cierra sesión o restablece su contraseña.
- Pasos de Mitigación:
- Implementar una gestión adecuada de sesiones, asegurando que todas las sesiones se invaliden al cerrar sesión o restablecer la contraseña.
Invalidación de Sesión en Cierre de Sesión/Restablecimiento de Contraseña
- Los tokens de restablecimiento deben tener un tiempo de expiración después del cual se vuelven inválidos.
- Pasos de Mitigación:
- Establecer un tiempo de expiración razonable para los tokens de restablecimiento y hacer cumplir estrictamente esto del lado del servidor.
Referencias

Únete al HackenProof Discord para comunicarte con hackers experimentados y cazadores de recompensas por errores.
Perspectivas de Hacking
Participa en contenido que profundiza en la emoción y los desafíos del hacking
Noticias de Hackeo en Tiempo Real
Mantente al día con el mundo del hacking de ritmo rápido a través de noticias e información en tiempo real
Últimos Anuncios
Mantente informado sobre las nuevas recompensas por errores que se lanzan y actualizaciones cruciales de la plataforma
Únete a nosotros en Discord y comienza a colaborar con los mejores hackers hoy mismo!
{{#include ../banners/hacktricks-training.md}}