Como regla general, las cosas no deben hacerse accesibles de maneras que no fueron pensadas o por razones que no fueron pensadas. La mejor razón para seguir este patrón es porque no sabe cómo se puede abusar. Simplemente porque no puede pensar en una vulnerabilidad no significa que alguien más no pueda .
Pero en este caso, he visto este patrón usado contra el propietario de un sitio.
Como ejemplo, las operaciones de alojamiento virtual normalmente ejecutan el contenido del sitio web en usuarios aislados. Es decir, foo.com
se ejecuta como el usuario foo
, mientras que bar.com
se ejecuta como el usuario bar
, y ninguno puede acceder a los archivos del otro.
Pero una ruta secundaria para acceder al contenido del sitio, como 1.2.3.4/~foo/
, puede ejecutar el contenido de foo.com
usando algún contexto alternativo, tal vez www-data
, por ejemplo. Y en ese caso, se podría acceder a foo.com/filemanager.php
como 1.2.3.4/~foo/filemanager.php
, lo que le da al visitante acceso a través del sitio utilizando un conjunto de permisos diferente al que el propietario del sitio pensó.
También hay otras vulnerabilidades potenciales de las que puedo pensar: cosas que tienen que ver con las diferencias de configuración, las diferencias de ruta, el control de acceso y otros detalles similares. Todo esto depende en cierta medida de la instalación, pero el potencial está ahí.