Entrada

Encuentra tu primer Open Redirect

Metdología para descubrir tu primer Open Redirect en un programa de Bug Bounty

Encuentra tu primer Open Redirect

¿Qué es un Open Redirect?

Un Open Redirect es una vulnerabilidad de seguridad web en la que una aplicación permite redirigir a los usuarios a una URL externa sin validación adecuada, esto puede ser explotado para realizar phishing, engañando a las víctimas para que visiten sitios maliciosos que parecen legítimos.

Páginas comunes donde ocurre

Los Open Redirects se ven comúnmente en:

  • Páginas de Inicio de Sesión
  • Páginas de Cierre de Sesión
  • Páginas de Registro
  • Páginas de Restablecimiento de Contraseña
  • Pasarelas de Pago

Método que Seguí para identificar el Open Redirect

Por temas de cofidencialidad del programa supondremos que estamos trabajando con un dominio ficticio, por ejemplo example.com

Escanear Subdominios con subfinder

El primer paso en el proceso fué identificar los subdominios activos de example.com

1
subfinder -d example.com -all -recursive > subs.txt

Filtrar Subdominios activos usando httpx

Después de obtener la lista de subdominios con Subfinder, el siguiente paso fué filtrar los subdominios activos

1
cat subs.txt | httpx > alive_subs.txt

Búsqueda de endpoints con Katana y Waymore

Una vez filtrados los dominios activos escogí uno que llamo mi atención, llamado production.ap01.ecm.example.com y utilice la herramienta Katana para explorar los posibles endpoints o puntos de entrada

1
katana -u https://production.ap01.ecm.example.com -jc -d 5 > katana_urls.txt

Para obtener una lista más exhaustiva de URLs relacionadas con production.ap01.ecm.example.com utilice Waymore

1
waymore -i production.ap01.ecm.example.com -mode U -oU waymore_urls.txt

Filtrar y Buscar Open Redirect en las URLs

Con las listas de URLs obtenidas de Katana y Waymore filtre las URLs que contenian parámetros de redirección, buscando aquellos parámetros que contienen el término =http, que podría indicar que hay una URL de redirección definida por el usuario.

1
cat katana_urls.txt | grep "=http" | sort -u | uro > openredirect_test1.txt
1
cat waymore_urls.txt | grep "=http" | sort -u | uro > openredirect_test2.txt

Encontrar el endpoint vulnerable

En mi caso, solamente obtuve un endpoint, el cual era https://production.ap01.ecm.example.com/login-logout?redirectURL=https%3a%2f%2fexample%2ecom%2fwelcome

Probar Open Redirect

De normal no me gusta probar manualmente, pero al ser esta pequeña tarea simplemente probe a reemplazar el valor de redirectURL para redirigir a un dominio externo arbitrario, como evil.com

1
https://production.ap01.ecm.example.com/login-logout?redirectURL=http://evil.com

Vulnerabilidad Open Redirect

image

Esta entrada está licenciada bajo CC BY 4.0 por el autor.