OVH Cloud OVH Cloud

exec

1 réponse
Avatar
seb
salut,

J'ai besoin d'un formulaire qui permet de passer une commande complète pour
imagemagick. Cette commande est récupérée par un script php qui le passe au
système via la fonction exec().

Donc j'ai une sorte de:
exec($_POST['command']);

JE SAIS QUE C'EST MAL !
Comment m'assurer que la commande passée est juste une commande imagemagick
et qu'il n'y a pas de pipe ou autre synthaxe qui permettrait de passer
d'autres commandes ?

Bref comment parser la commande sans rien oublier...

seb

1 réponse

Avatar
CrazyCat
seb wrote:
Donc j'ai une sorte de:
exec($_POST['command']);
JE SAIS QUE C'EST MAL !


tres mal, 100% unsafe

Comment m'assurer que la commande passée est juste une commande imagemagick
et qu'il n'y a pas de pipe ou autre synthaxe qui permettrait de passer
d'autres commandes ?


Je ne connais pas du tout imagemagick, mais je présume que les commandes
ont du type "imagemagick action params fichier".
Le premier point est de vérifier la présence de imagemagick en première
position de la chaine $command.
Le second point est de supprimer tout ce qui se trouve après "&" ou "|"
Le troisième point est d'avoir une liste de toutes les commandes (et
leurs options) possibles pour pouvoir supprimer ce qui n'est pas du
imagemagick.


--
Découvrez Original War: http://www.original-war.org
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.c-p-f.net