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 algunos meses.
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.
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.
¿Y cual era la respuesta?
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.
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.
Alojé el archivo de PHP con el código mostrado en la imagen anterior y se procedió a realizar el mismo proceso registrando un sitio web para monitorear.
Unos minutos después un correo electrónico llegó a la bandeja de entrada con un archivo HTML.
Y la respuesta fue…
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 el presente 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.