Las URL contienen más estructura de la que parecen
Un destino incluye un esquema, host, puerto opcional, ruta, consulta y fragmento. Tratarlo como una cadena arbitraria hace que la validación sea inconsistente y puede introducir comportamientos inseguros o sorprendentes.
Analice el valor completo una vez con un analizador de URL probado y luego aplique reglas al resultado estructurado.
Los fragmentos no pertenecen a la solicitud del servidor
Un navegador mantiene el fragmento después del signo hash y no lo envía al servidor de destino. Un servicio de redireccionamiento puede conservarlo para la navegación del cliente, pero una plataforma puede eliminar fragmentos intencionalmente cuando su contrato los trata como un estado de interfaz de usuario local.
Cualquiera que sea la política elegida, debe ser visible y probada. La codificación silenciosa del hash en una ruta cambia el destino y es un error de normalización común.
Los destinos privados necesitan cuidados especiales
Los hosts internos, privados, de enlace local y de bucle invertido pueden volverse peligrosos cuando una plataforma también obtiene vistas previas o realiza comprobaciones de estado. Rechazarlos antes del almacenamiento simplifica los límites de seguridad.
La resolución del nombre de host necesita comprobaciones adicionales en un buscador aislado porque un nombre de host de aspecto público puede resolverse posteriormente en una dirección privada. La validación de cadenas por sí sola no es una defensa completa de la SSRF.