injection de code malicieux sur des fichiers images
|
13-01-2015, 03h03
Message : #7
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: injection de code malicieux sur des fichiers images
(12-01-2015, 21h52)wass19 a écrit : j'ai su recement quon peut injecter un code malicieux (php, javascript, ...) et les uploader en ligne (...) je souhaiterais savoir comment contrer cette attaque c'est un peu comme si quelqu'un te disait "j'ai appris récemment qu'on pouvait se faire aggresser dans le métro, j'aimerais savoir comment éviter ça ?" la question est courte, mais y'a pas de vraie réponse, ni courte ni pleinement satisfaisante, et si on te dit d'aller prendre des cours de self-sécurité tu risques surement de mal le prendre Citation :existe t'il un script qui analyse le fichier image, et detecte le code par exemple ? oui ça s'appelle un antivirus, ou un firewall applicatif bien configuré doit faire le job aussi, mais l'attitude de base va plutôt consister à avoir la maitrise de son code, c'est à dire non seulement savoir faire un programme, mais aussi connaitre de manière très pointue les limites du langage utilisé (en l'occurrence PHP), on trouve d'ailleurs les détails et avertissements de sécurité sur les différentes fonctions directement dans la doc ! (même pas besoin de chercher des repaires de hackers pour ça ) les problèmes peuvent être multiples, particulièrement dans le cas d'un formulaire d'upload de fichiers, pas uniquement en terme d’exécution de code, c'est pour afficher dans une page web pour les internautes ensuite ? une image de 30Mo ça passe ? et je peux en uploader autant que je veux ? à chaque problématique sa solution, on pourrait par exemple envisager d'accepter les fichiers, si ça dépasse 1Mo de données reçues on met fin à la transaction purement et simplement (au niveau de la configuration PHP), puis on essaye de déterminer le type du fichier uploadé, pas en se basant sur l'en-tête http mais sur le contenu du fichier, avec finfo_file() par exemple, si le type du fichier est bien une image, on la redimensionne voire on modifie carrément son format pour la standardiser, s'il y a des trucs foireux à l'intérieur soit l'opération échouera soit les données seront perdues lors de la conversion enfin, à ce stade on peut raisonnablement penser que les données uploadées sont pas trop mal filtrées, dans une optique de verrouillage j'aurais tendance à rajouter un contrôle antivirus dessus (faut voir si c'est efficace au préalable) ou modsecurity en sortie/affichage ou à faire une sonde maison (...) ...et là il se trouve que t'as une injection sql un peu plus loin dans ton code qui n'a rien à voir avec le formulaire d'upload, et ta base de données qui autorise l'écriture dans un fichier, du coup un pirate peut s'en servir pour uploader du code sans même passer par le formulaire d'upload et tout ce qu'on a dit et mis en place n'a servi à rien... vdm la meilleure réponse qu'on puisse te faire en l'absence de cas concret avec son code pour accompagner c'est de continuer à lire autour de la doc PHP, des bypass connus de ce langage, mais aussi apprendre et comprendre le système qui soutient ton interpréteur et le serveur web, les réseaux également particulièrement http etc. et bien évidement quand t'as un doute de nous soumettre un bout de code sur le forum
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 11 visiteur(s)