XSS ciego a SSRF

Feb 01 2023
Durante la búsqueda de errores en un programa privado de recompensas por errores, encontré una función dentro de la aplicación que permitía generar documentos PDF. Dado que la entrada del usuario se reflejó en los documentos PDF generados, decidí intentar inyectar cargas útiles de HTML y XSS.

Durante la búsqueda de errores en un programa privado de recompensas por errores, encontré una función dentro de la aplicación que permitía generar documentos PDF. Dado que la entrada del usuario se reflejó en los documentos PDF generados, decidí intentar inyectar cargas útiles de HTML y XSS.

Utilicé una herramienta muy conocida llamada XSSHunter, que nos permite encontrar vulnerabilidades ciegas de secuencias de comandos entre sitios. Para mi sorpresa, mi carga útil se ejecutó de inmediato y pude recuperar la captura de pantalla y los siguientes detalles en XSSHunter.

Una investigación adicional reveló que la carga útil se había ejecutado en la ruta del archivo

“archivo:///gotenberg/e86fbc55ef893d878821c1bc76c3b1e3/index.html”.

Gotenberg es una API de código abierto para convertir documentos HTML, Markdown y Office a PDF. Utiliza un conjunto de motores de renderizado configurables para convertir el documento de entrada en un archivo PDF. El analizador de Gotenberg es el componente de Gotenberg que toma el documento de entrada y lo convierte a un formato que los motores pueden representar.

Luego de más pruebas, descubrí que el analizador Gotenberg era vulnerable a los ataques de falsificación de solicitudes del lado del servidor. Pude ejecutar con éxito una carga útil que incluía un iframe con el src establecido en "file:///etc/passwd" . Esto me permitió ver el contenido del archivo “/etc/passwd” .

Este tipo de vulnerabilidad permite que un atacante acceda a archivos confidenciales en un servidor manipulando la ruta del archivo de una manera que le permita atravesar el sistema de archivos. Esto puede conducir potencialmente a la exposición de información confidencial e incluso a un compromiso completo del sistema.

Inmediatamente informé mis hallazgos al equipo de seguridad, que clasificó la vulnerabilidad como alta. Sin embargo, otro investigador de seguridad también había informado sobre la vulnerabilidad al mismo tiempo. Como resultado, el equipo decidió dividir la recompensa y recibí $500.

Recursos

https://media.defcon.org/DEF%20CON%2027/DEF%20CON%2027%20presentations/DEFCON-27-Ben-Sadeghipour-Owning-the-clout-through-SSRF-and-PDF-generators.pdf