Algunas posibilidades, ordenadas por probabilidad:
-
Su aplicación django puede contener puntos débiles que le permiten a un atacante ejecutar código arbitrario como usuario de datos www.
-
El propio Django puede contener una debilidad que permita la ejecución remota de código.
-
El propio Apache puede contener una debilidad que permita la ejecución remota de código.
En los tres escenarios, un atacante obtiene acceso al sistema de archivos o, en caso de que haya chrooteado su proceso, a la parte del sistema de archivos en la jaula chroot. Un atacante que pueda cambiar sus imágenes probablemente no sea el mayor problema (dependiendo de la naturaleza y el uso de las imágenes, por supuesto). Un problema mucho más peligroso es que podría colocar otro código en su directorio de imágenes, ya que www-data probablemente tenga acceso de escritura al directorio. Esto significa que
- Un atacante ahora puede colocar código y datos arbitrarios en su servidor y
- Acceda a ese código y los datos de forma remota, ya que se encuentra en la raíz web de su servidor apache.
Estas dos habilidades son muy útiles para un atacante. Puede comenzar a extraer bitcoins en su servidor, o usarlo para enviar correos electrónicos no deseados, hacer que forme parte de una red de bots, o usarlo para distribuir material ilegal, etc.
Los permisos de escritura de la imagen en sí mismos son inofensivos ya que no pueden ser explotados para obtener acceso a su servidor, pero son un problema una vez que un atacante ha logrado violar su servidor, porque le dan un lugar para pararse, por así decirlo.