Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

SSRF, cuando el servidor hace la petición

5 tareas · 35 min · Principiante

En una falsificación de petición del lado del servidor (SSRF, CWE-918; prueba WSTG-INPV-19 de la guía de OWASP, versión 4.2), una función recibe una dirección y el servidor la visita. Lo que importa es dónde está el servidor en la red: alcanza lugares que internet no alcanza. Aquí lees las notas de la revisión de la vista previa de enlaces de Papelería Trapiche: el código, el mapa de la red, el alcance firmado, las pruebas y el registro de salida del servidor. La prueba tocó un solo destino interno, el autorizado.

0 de 5 · 0%

Objetivo de la sala

En una falsificación de petición del lado del servidor (SSRF, CWE-918; prueba WSTG-INPV-19 de la guía de OWASP, versión 4.2), una función recibe una dirección y el servidor la visita. Lo que importa es dónde está el servidor en la red: alcanza lugares que internet no alcanza. Aquí lees las notas de la revisión de la vista previa de enlaces de Papelería Trapiche: el código, el mapa de la red, el alcance firmado, las pruebas y el registro de salida del servidor. La prueba tocó un solo destino interno, el autorizado.

En un CSRF la petición sale del navegador de una persona. En un SSRF sale del servidor, que está en otra posición de la red: dentro de la zona protegida, junto a servicios que no están publicados en internet. Si una función visita lo que le den sin comprobar adónde, quien controla la entrada controla adónde va el servidor, y puede hacer que lea servicios internos y devuelva lo que encuentre.

Es una de las pocas debilidades que cambia la frontera de red sin tocar ningún cortafuegos. Por eso se mira con cuidado cualquier función que reciba una dirección: vista previa, importación, webhooks, descarga de imágenes remotas.

Responde para continuar

¿Qué es un SSRF?

Ver pista de ayuda

La palabra clave es «servidor»: es él quien visita el destino.

La evidencia de un SSRF es la prueba de que el servidor llegó a un destino que la persona evaluadora no alcanza por sí sola. Hay que identificar con precisión el destino, y comprobar que sea el autorizado: el alcance firmado marca el único servicio interno que se podía tocar.

Cruza pruebas.txt, red.txt y salida-web01.txt. El registro de salida del servidor es la evidencia más fiable porque la escribe el propio servidor, no la respuesta de la prueba.

Responde para continuar

Escribe la dirección IP del servicio interno al que llegó el servidor en la prueba autorizada.

Ver pista de ayuda

Una línea del registro de salida de web01 la muestra; el mapa de la red dice a qué nombre corresponde.

Dos pruebas, el mismo destino. Desde la estación de pruebas, que es internet, el intento directo no obtiene respuesta. A través de la vista previa, obtiene respuesta. La conclusión no es que el servicio esté mal protegido: es que la función de vista previa cruza un límite de red que el diseño daba por cerrado, y lo hace por orden de quien escribe la dirección.

Responde para continuar

V-02 no obtiene respuesta desde fuera y V-03 sí la obtiene a través de la vista previa. ¿Qué demuestra?

Ver pista de ayuda

Lo que cambia entre V-02 y V-03 es quién hace la petición.

Para esta función, la corrección combina varias capas. Primero, una lista de destinos permitidos en lugar de una lista de destinos prohibidos. Segundo, resolver el nombre y rechazar cualquier dirección privada o interna antes de conectar. Tercero, no seguir redirecciones, porque un destino permitido puede redirigir a uno que no lo es. Cuarto, limitar la salida del servidor por red, de modo que aunque el código falle no pueda llegar a la zona interna. CWE-918 recoge la lista de destinos permitidos como mitigación principal.

Bloquear el texto «localhost» o una dirección concreta no sirve: hay muchas formas de nombrar el mismo destino.

Responde para continuar

¿Qué corrección propones para la vista previa de enlaces?

Ver pista de ayuda

Una lista de lo permitido es más segura que una lista de lo prohibido.

El alcance limita la evidencia a la primera línea de la respuesta. Para el hallazgo no hace falta navegar el servicio interno ni leer sus datos: basta con demostrar que respondió y dejar un dato inerte que pruebe que es ese servicio y no otro. Esa línea se copia tal cual al informe.

Responde para continuar

Escribe el número de versión que devolvió el servicio de inventario en la prueba autorizada.

Ver pista de ayuda

Es el valor que aparece tras la palabra version en la respuesta de V-03.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad