2010-11-21 13 views
1

Je parle des images téléchargées par l'utilisateur. Ces images peuvent être dangereuses et peuvent même contenir des scripts et autres. On m'a dit que tant que je n'exécute pas l'image, ça devrait aller. Qu'est-ce qui compte exactement comme l'exécution d'une image? Si l'utilisateur télécharge un fichier .png et que je dois le convertir en .jpg avant de l'afficher, cette conversion compte-t-elle comme l'exécution de l'image.La conversion d'une image compte-t-elle comme l'exécutant?

Répondre

2

Si vous effectuez par ex. utiliser une bibliothèque pour travailler avec la bibliothèque, alors la seule façon pour que ce soit un risque de sécurité est un problème avec la bibliothèque elle-même. Par exemple. S'il y a un problème de sécurité de débordement de tampon dans la bibliothèque, un simple processus de lecture de l'image pourrait potentiellement lui faire exécuter le code commodément caché dans l'image (par exemple, l'image ne serait plus l'image).

Si vous utilisez des bibliothèques standard, les chances de telles failles de sécurité sont plutôt minces. Pas zéro, cependant, mais je suppose que tu devrais vivre avec ça ou ne plus regarder aucune photo numérique dans ta vie.

1

À condition que l'outil utilisé pour convertir l'image ne soit pas vulnérable aux exploits, le fait de le convertir n'implique pas l'exécution de celui-ci.

0

Vous pouvez faire confiance au processus de conversion d'image si vous le souhaitez, mais comme d'autres l'ont dit, il existe un risque que le simple traitement des données puisse vous rendre vulnérable. Vous pouvez prendre d'autres mesures pour isoler l'étape de traitement de l'image si elle est critique.

Vous pouvez mettre cette étape sur une machine distincte, de sorte qu'un compromis ne mette pas le code malveillant sur le serveur en communication avec le public. Vous pouvez également exécuter ce processus en tant qu'utilisateur supplémentaire, de sorte qu'un exploit doive escalader les privilèges afin de compromettre votre service.