SSRF: Leyendo Archivos Locales Del Servidor De Downnotifier

Hace un tiempo escribí un write-up acerca de como fui capaz de leer archivos locales provenientes del servidor de un servicio web llamado Downnotifier y para poder realizar tal acción, se explotó una vulnerabilidad llamada Server Side Request Forgery. El write-up originalmente fue escrito en inglés por medio de la plataforma Openbugbounty, pero ahora lo escribo mediante este blog y traducida al español.


Hola chicos, este es mi primer write-up y me gustaría compartirlo con la comunidad de bug bounty, es sobre un SSRF que encontré hace un tiempo.

DownNotifier tiene un programa de recompensas en Openbugbounty, entonces decidí darle un vistazo a https://www.downnotifier.com. Cuando navegué por el sitio web, me di cuenta de un campo para entrada de texto de tipo URL y rapidamente la vulnerabilidad SSRF vino a mi mente.

Obteniendo XSPA

La primer actividad por realizar es agregar http://127.0.0.1:22 en el campo de texto “Website URL”.

Después seleccionar “When the site does not contain a specific text” y escribir algún texto aleatorio.

image

Envié esa solicitud y seguidamente dos correos electrónicos llegaron a mi bandeja de entrada unos minutos después. El primero para alertar que un sitio web está siendo monitoreado y el segundo correo para alertar que el sitio web está fuera de servicio pero dentro de un archivo de HTML.

image

¿Y cual era la respuesta?

image

Obteniendo Lectura de Archivos Locales

A este punto ya estaba emocionado, pero eso no es suficiente para probar que se pueden obtener archivos con datos sensibles, entonces intenté el mismo proceso pero con algunos esquemas de URI como lo son file, ldap, gopher, ftp, ssh, pero ninguno dió resultado.

image

Estuve pensando como podría hacer un bypass a ese filtro y recordé un write-up mencionando un bypass usando una redirección con la cabezera Location en un archivo de PHP alojado en tu propio servidor.

<?php
  header('Location: file:///etc/passwd');
  die();
?>

Alojé el archivo de PHP con el código mostrado anteriormente y se procedió a realizar el mismo proceso registrando un sitio web para monitorear.

image

Unos minutos después un correo electrónico llegó a la bandeja de entrada con un archivo HTML.

image

Y la respuesta fue…

image

Reporté la vulnerabilidad SSRF al soporte de DownNotifier y ellos arreglaron el fallo muy rápido.

Quiero agradecer al soporte de DownNotifier porque ellos fueron muy amables en nuestra comunicación y me permitieron publicar este write-up. También quiero agradecer al bug bounty hunter quien escribió el write-up en el cual utilizó la técnica de redirección con la cabezera Location.

“No temo a los ordenadores; lo que temo es quedarme sin ellos."
Isaac Asimov