Les questions de sécurité à accepter le téléchargement de l'image

voix
7

Quels sont les principaux problèmes de sécurité à prendre en compte lors de l'acceptation uploads d'image, au-delà des choses normales pour tous les téléchargements HTTP?

Je suis d'accepter le téléchargement de l'image, puis montrant ces images à d'autres utilisateurs.

Comment dois-je vérifier, par exemple, que l'image téléchargée est en fait un fichier image valide? Y a-t-il des vulnérabilités connues des téléspectateurs qui sont exploitables par des fichiers d'image malformés pour laquelle je devrais être préoccupé par le passage par hasard le long des exploits? (Semble rapidement googler pour montrer qu'il y était une fois dans IE5 / 6.)

Dois-je enlever toutes les métadonnées d'image pour aider les utilisateurs de prévenir la divulgation d'informations non intentionnelles? Ou y at-il des choses qui sont sûrs et nécessaires ou utiles pour permettre?

Y a-t-il des caractéristiques Arcane de formats d'image communs qui pourraient être des failles de sécurité?

Y a-t-il des bibliothèques qui traitent de ces questions? (Et / ou avec d'autres questions telles que la conversion progressive à JPEGs normale JPEGs, sous-échantillonnage pour normaliser la taille, l'optimisation PNGs, etc.)

Créé 28/09/2009 à 05:31
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
2

Certaines choses que j'appris récemment d'une vidéo de sécurité web :

  • L'option nucléaire est de servir tout le contenu téléchargé à partir d'un domaine séparé qui sert uniquement du contenu statique - toutes les fonctions sont désactivées et rien d'important y est stockée.
  • Compte tenu de traitement d'images par etc. ImageMagick pour dépouilleront affaires drôle.
  • Pour un exemple de ce que vous êtes contre, rechercher GIFAR, une technique qui met un JAR GIF et Java dans le même fichier.
Créé 28/09/2009 à 05:48
source utilisateur

voix
2

Le risque de propagation d'insectes à l' intérieur de l' image n'est pas formatteurs « exactement » votre problème, mais vous pouvez aider de toute façon, en suivant la pratique générale de la cartographie « .jpg » dans votre langue exécutable et le traitement de chaque image manuellement (de cette façon vous peuvent se référer ne vérifie aussi bien).

Vous devez faire attention:

  • Les gens de code sous forme d'images téléchargeant (.jpg avec c # code réelle à l'intérieur)
  • toutes les extensions non valides (vous vérifiez pour cela)
  • Les gens qui essaient de faire des attaques liées à la route sur vous

Le dernier est ce que vous aurez besoin de se méfier, si vous lisez dynamiquement les images (que vous serez, si vous suivez mon premier conseil).

Donc assurez - vous que le code ouvert dans le dossier concerné et, probablement plus important encore , verrouiller l'utilisateur qui fait ce travail . Je veux dire l'utilisateur du serveur web. Assurez - vous qu'il ne dispose que des autorisations à lire à partir du dossier que vous travaillez, et d' autres choses logiques.

métadonnées Décapage? Bien sûr, pourquoi pas, il est tout à fait polie de vous, mais je ne serais pas noix à ce sujet.

Créé 28/09/2009 à 05:46
source utilisateur

voix
2

Votre plus grand risque est qu'un attaquant tente de télécharger un certain type de code exécutable à votre serveur. Si le fichier téléchargé est alors explorable sur le web, l'attaquant peut être en mesure de provoquer le code à exécuter sur votre serveur. Votre meilleure protection est d'abord enregistrer le fichier téléchargé dans un endroit non public explorable, essayez de le charger comme une image dans votre langage de programmation et permettre si elle peut être analysée avec succès comme une image. Beaucoup de temps les gens voudra redimensionner l'image de toute façon vraiment faire est sans travail supplémentaire. Une fois que l'image est validée, vous pouvez le déplacer dans la zone publique explorable pour votre serveur web.

Aussi, assurez-vous que vous avez une limite de taille de téléchargement de fichiers. La plupart des plates-formes auront une sorte de limite en place par défaut. Vous ne voulez pas un utilisateur malveillant de remplir votre disque avec un téléchargement de fichiers sans fin.

Créé 28/09/2009 à 05:36
source utilisateur

voix
0

L' une des vulnérabilités que je connaisse est une « porte dérobée WMF ». WMF est "Windows Metafile" - un format graphique rendu par la bibliothèque de Windows GDI. Voici l' article wikipedia .

L'attaquant est capable d'exécuter du code arbitraire sur la machine de l'utilisateur. Cela peut se produire lorsque l'utilisateur regarde juste le fichier via le navigateur, y compris, mais sans s'y limiter Internet Explorer. La question est dit fixe en 2006.

Créé 28/09/2009 à 05:47
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more