SSRF cuando la entrada del usuario se agrega al nombre de host

1

¿Se considera una vulnerabilidad de la SSRF (o es peligrosa en absoluto) si el backend de una aplicación obtiene una URL que se basa de alguna manera en la entrada del usuario, de una manera similar a esta?

get("https://thehostname.com/a-directory/" + userinput)

Entonces, debido a que el nombre del host está codificado en forma rígida antes de la entrada del usuario, no debería ser posible escanear la red interna ni nada, ¿no?

Sin una vulnerabilidad de redireccionamiento abierta en https://thehostname.com/* , no veo cómo podrías lograr algo con eso.

Editar: En el escenario específico para el que formulo esta pregunta, el servidor solo responde con un error verdadero / falso / error, que indica si el tipo de contenido de la respuesta http es un pdf, o si no se pudo recuperar la página (404, o el host está inactivo).

    
pregunta user149925 06.08.2018 - 20:01
fuente

1 respuesta

2

Como se menciona en los comentarios, siempre desinfecte la entrada del usuario. Siempre asuma que el usuario puede ser malicioso. Si bien su fragmento no parece ser explotable directamente, también debe considerar que no todos los analizadores de URL se comporta igual y la biblioteca que está usando puede afectar el tipo de explotación que puede ser vulnerable a.

En un mundo perfecto, puedes estar seguro, pero siempre es bueno hacer verificaciones adicionales solo para estar seguro. Por ejemplo, si solo desea que los usuarios accedan a ciertas páginas, debe configurar una lista blanca. Si se supone que no deben acceder a los subdirectorios, asegúrese de que no existan barras inclinadas en la URL (codificada o no).

    
respondido por el Mr. Llama 07.08.2018 - 19:47
fuente

Lea otras preguntas en las etiquetas