IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web Perl Discussion :

Problème de création de dossier


Sujet :

Web Perl

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut Problème de création de dossier
    Bonjour

    Je dois faire tourner un CGI qui crée un dossier et ça ne marche pas :

    Il tourne sous Apache 2.2 sous Windows 2003 avec ActivePerl 5.8.
    Le "Taint mode" est activé (et je ne sais pas comment le désactiver ...)

    J'ai un message "Insecure dependency in mkdir"

    J'ai tourné çà dans tous les sens ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    1: $temp_dir = "/test/12345";
     
    2: $temp_dir = "/test/$sid";
     
    3:
      if ($sid =~ /^([\w]+)$/) {
        $temp_dir .= $sid;
      }
     
    mkdir $temp_dir, $mode;
    le cas 1 marche.
    le cas 2 marche pas, c'est normal ($sid est tainted)
    le cas 3 marche pas non plus.
    je ne peux pas tester $temp_dir parce qu'il y a des "/" dedans ...

    Est-ce que quelqu'un connais la solution ?
    ou peut-on supprimer le "taint mode" ?

    Merci

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par J-P-B
    Est-ce que quelqu'un connais la solution ?
    ou peut-on supprimer le "taint mode" ?
    C'est pas une bonne idée de supprimer le "taint mode", c'est une première ligne de défense fort appréciable !
    perlsec est assez explicite sur la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        if ($data =~ /^([-\@\w.]+)$/) {
    	$data = $1; 			# $data now untainted
        } else {
    	die "Bad data in '$data'"; 	# log this somewhere
        }
    (bien sûr il faut adapter ta regex)

    Citation Envoyé par J-P-B
    je ne peux pas tester $temp_dir parce qu'il y a des "/" dedans ...
    Qu'est ce que tu veux dire par là ??

    --
    Jedaï

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par Jedai
    C'est pas une bonne idée de supprimer le "taint mode", c'est une première ligne de défense fort appréciable !
    perlsec est assez explicite sur la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        if ($data =~ /^([-\@\w.]+)$/) {
    	$data = $1; 			# $data now untainted
        } else {
    	die "Bad data in '$data'"; 	# log this somewhere
        }
    (bien sûr il faut adapter ta regex)


    Qu'est ce que tu veux dire par là ??

    --
    Jedaï
    Merci de ta réponse
    J'avais pas vu qu'il fallait réaffecter $data pour que ça nettoie la variable.
    ça fonctionne bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de création de dossiers avec une application vb6
    Par Gamuelf dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 17/03/2013, 06h19
  2. [Batch] Problème création de dossier
    Par loulette99 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 07/12/2009, 14h59
  3. VBS & ADSI Probléme de création de "dossier de base"
    Par greginstant dans le forum VBScript
    Réponses: 0
    Dernier message: 22/10/2008, 19h00
  4. Réponses: 2
    Dernier message: 30/04/2007, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo