osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

3 Pages V   1 2 3 >  
Reply to this topicStart new topic
> Mise à jour d'ATOS, discussion...
Rogers
posté 31 Oct 2008, 10:15
Message #1


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1819
Inscrit : 14-March 03
Lieu : Beaune (21200)
Membre no 961



Merci Periclès.

Peut-on en savoir plus sur cette faille (lien vers le forum US) ? Je n'ai pas installé le module mais je voulais savoir si c'était bien compatible quelque soit la version de l'api qu'on utilise ? Pour ma part j'ai la version 5 de atos cyberplus qui n'est pas la dernière version vu que la 6 n'était pas compatible avec mon serveur.

Merci d'avance.


--------------------
The hardest thing in this world is to live in it.

Force jaune devant, marron derrière

J'ai touché le fond de la piscine
Dans ton petit pull marine...
Go to the top of the page
 
xaglo
posté 31 Oct 2008, 10:39
Message #2


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14911
Inscrit : 22-November 02
Membre no 610



je suis en version 5 d'atos également... pas constaté de problème


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
oneill
posté 31 Oct 2008, 10:55
Message #3


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7627
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



Citation (Rogers @ 31 Oct 2008, 11:15) *
Peut-on en savoir plus sur cette faille (lien vers le forum US)

Euh non, pas pressé de voir tous les geeks arriver à Noël avec la recette....


--------------------
Go to the top of the page
 
oneill
posté 31 Oct 2008, 11:22
Message #4


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7627
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



Soucis avec cette ligne
Code
      $command .= " message=" . escapeshellarg($data);

Le panier ne se vide pas.


--------------------
Go to the top of the page
 
xaglo
posté 31 Oct 2008, 11:43
Message #5


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14911
Inscrit : 22-November 02
Membre no 610



merde, tu as raison... Je n'avais pas poussé le test jusqu'au bout, trop confiant avec le code de pericles mrgreen.gif


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
delete
posté 31 Oct 2008, 11:44
Message #6


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Citation (oneill @ 31 Oct 2008, 12:22) *
Soucis avec cette ligne
Code
      $command .= " message=" . escapeshellarg($data);

Le panier ne se vide pas.


J'avais déjà remplacé cette ligne comme ceci :

Code
$command .= " message=" . escapeshellcmd($data);


C'est là seule modif à faire ligne 569 environ du fichier includes/modules/payment/atos.php

Ceci neutralise deux commandes d'affilé ( ; ) et les variables unix.

Ce message a été modifié par delete - 31 Oct 2008, 11:53.
Go to the top of the page
 
xaglo
posté 31 Oct 2008, 11:53
Message #7


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14911
Inscrit : 22-November 02
Membre no 610



sans effet chez moi, le panier ne se vide toujours pas malgré ta modif delete


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
oneill
posté 31 Oct 2008, 12:00
Message #8


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7627
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



Citation
Error get DATA response parameter (wrong length)


si ca peut aider !


--------------------
Go to the top of the page
 
xaglo
posté 31 Oct 2008, 12:01
Message #9


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14911
Inscrit : 22-November 02
Membre no 610



j'ai alerté l'auteur (pericles) par mail...


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 
delete
posté 31 Oct 2008, 12:06
Message #10


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Je n'ai pas downloadé la contrib de pericles. Juste modifié cette ligne ... Chez moi ça fonctionne wacko.gif
Go to the top of the page
 
oneill
posté 31 Oct 2008, 12:08
Message #11


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7627
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



Citation
Cela permet de faire passer directement le paramètre arg comme argument Shell, tout en assurant un maximum de sécurité. escapeshellarg() doit être utilisée pour traiter individuellement chacun des arguments à passer au Shell. Les fonctions Shell sont exec(), system() et les opérateurs


Est-ce que ca ne devrait pas aller avec
Code
      $sips_resp = shell_exec ( "$command" );

plutôt qu'avec
Code
      $sips_resp =exec ( "$command" );


Le shell_exec () ne fonctionne pas chez moi donc le escapeshellarg() ne devrait pas plus le faire non ?


--------------------
Go to the top of the page
 
delete
posté 31 Oct 2008, 12:19
Message #12


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Je viens de faire le test suivant (donc exec ou shell_exec) :

Code
      $command .= " message=" . escapeshellcmd($data);
      $sips_resp = shell_exec ( "$command 2>&1" );


Et ça fonctionne :
Appel :
/var/www/dev/catalog/atos/response 'pathfile=/var/www/dev/catalog/atos/pathfile.parmcom.sherlocks' message=20203333396.......

Réponse
!0!!XXXXXXX11111!fr!3682!120817!VISA!20081031110817!121402!20081031!00!1225451642!451642!978!1234.00!1!4D!00!!!!!!fr!fr!678!!!IP!0!AUTHOR_CAPTURE!


Ce message a été modifié par delete - 31 Oct 2008, 12:20.
Go to the top of the page
 
oneill
posté 31 Oct 2008, 12:21
Message #13


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7627
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



2>&1 bloque chez moi
Code
      $sips_resp = exec ( "$command" );  // Fonctionne


Code
      $sips_resp = exec ( "$command 2>&1" );  // Plante à l'appel des CGI



Delete -> si le shell fonctionne chez toi, c'est mormal que ca marche.


--------------------
Go to the top of the page
 
oneill
posté 31 Oct 2008, 12:33
Message #14


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7627
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



Code
      $command .= " message=" . escapeshellarg($data);
      $sips_resp = shell_exec ( "$command 2>&1" );

Marche pas : Panier pas vidé. pas d'erreur.


Même chose avec
Code
      $command .= " message=$data";
      $sips_resp = shell_exec ( "$command 2>&1" );


--------------------
Go to the top of the page
 
delete
posté 31 Oct 2008, 12:34
Message #15


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Il y a un paliatif :

Code
@exec ( "$command", $result, $status );
$sips_resp = $result[0];


Edit : Pour résumer :
Code
$command .= " message=" . escapeshellcmd($data);

@exec ( "$command", $result, $status );
$sips_resp = $result[0];


Ce message a été modifié par delete - 31 Oct 2008, 12:36.
Go to the top of the page
 
delete
posté 31 Oct 2008, 12:46
Message #16


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Citation (oneill @ 31 Oct 2008, 13:33) *
Code
    $command .= " message=$data";
      $sips_resp = shell_exec ( "$command 2>&1" );

Marche pas : Panier pas vidé. pas d'erreur.


C'est le code d'origine (hormis le shell_exec) donc dans ce cas je ne vois pas pourquoi cela ne marcherait pas.

Ce message a été modifié par delete - 31 Oct 2008, 12:47.
Go to the top of the page
 
delete
posté 31 Oct 2008, 12:55
Message #17


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Messages croisés ...

Et bien tu ne semble pas concerné puisque tu es en safe_mode arrow.gif http://fr3.php.net/manual/fr/features.safe...e.functions.php

Go to the top of the page
 
oneill
posté 31 Oct 2008, 13:16
Message #18


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7627
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



Citation (oneill @ 31 Oct 2008, 13:08) *
Citation
Cela permet de faire passer directement le paramètre arg comme argument Shell, tout en assurant un maximum de sécurité. escapeshellarg() doit être utilisée pour traiter individuellement chacun des arguments à passer au Shell. Les fonctions Shell sont exec(), system() et les opérateurs


Est-ce que ca ne devrait pas aller avec
Code
      $sips_resp = shell_exec ( "$command" );

plutôt qu'avec
Code
      $sips_resp =exec ( "$command" );


Le shell_exec () ne fonctionne pas chez moi donc le escapeshellarg() ne devrait pas plus le faire non ?


Oui, donc ma remarque plus haut est nulle, le escapeshellarg() n'est pas désactivé en safe_mode


--------------------
Go to the top of the page
 
oneill
posté 31 Oct 2008, 13:32
Message #19


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7627
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



escapeshellcmd() ne fait pas mieux


--------------------
Go to the top of the page
 
delete
posté 31 Oct 2008, 15:46
Message #20


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Voici ma suggestion de patch de la contrib ATOS opérationnel en environnement Safe Mode = On ou Off

Code
      if ( ini_get('safe_mode') )
      {
         $command .= " message=$data";

         @exec ( "$command", $result, $status );
         $sips_resp = $result[0];
      }
      else
      {
         $command .= " message=" . escapeshellcmd($data);
         $sips_resp = shell_exec ( "$command 2>&1" );
      }


Dit moi ce que tu en penses ...
Edit : Code corrigé ...

Ce message a été modifié par delete - 31 Oct 2008, 16:54.
Go to the top of the page
 
oneill
posté 31 Oct 2008, 16:22
Message #21


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7627
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



Autrement dit, si on est en safe_mode, on ne touche à rien. Autant je comprends ce que font escapeshellarg() et escapeshellcmd() autant je ne vois pas tout de suite ce que peut faire
Code
@exec ( "$command", $result, $status );
         $sips_resp = $result[0];
pour peu qu'on veuille arriver au résultat escompté, c'est à dire l'échappement de certains caractéres. C'est le mot, ca 'm'échappe. sad.gif


--------------------
Go to the top of the page
 
delete
posté 31 Oct 2008, 16:35
Message #22


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Citation (oneill @ 31 Oct 2008, 17:22) *
Autrement dit, si on est en safe_mode, on ne touche à rien.


Exactement preuve à l'appui :
<?php
Code
<?php
$command = "./atos/response; echo Je suis un Hacker, tu es cuit ! ";
echo "\n1) ---------------\n";
$result = exec($command);
echo $result;
echo "\n2) ---------------\n";
$result = exec( escapeshellcmd( $command ) );
echo $result;
echo "\n3) ---------------\n";
$result = shell_exec( escapeshellcmd( $command ) );
echo $result;
?>


Résultats : par défaut sans paramètres atos response renvoie : ( !-1!invalid number of arguments (must be > 1)!! )

Citation
1) ---------------
!-1!invalid number of arguments (must be > 1)!!Je suis un Hacker, tu es cuit !
2) ---------------
!-1!invalid number of arguments (must be < 2)!!
3) ---------------
!-1!invalid number of arguments (must be < 2)!!


C'est en m'appuyant là dessus que j'ai modifié le code de pericles

Edit : au passage merci car j'étais touché mais toi non laugh.gif wink.gif

Ce message a été modifié par oneill - 31 Oct 2008, 16:48.
Go to the top of the page
 
Chez Pilou
posté 31 Oct 2008, 16:47
Message #23


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 13
Inscrit : 8-August 08
Membre no 22661



Bonjour,
je suis avec grand intérêt cette conversation...
Du coup, le panier se vide t il ou non ?
Les commande s'enregistrent elles ou non ?
Merci de vos infos !!


--------------------
Version : osCommerce Online Merchant v2.2 RC1 W3C Valid FR
Contribs : ...
Go to the top of the page
 
delete
posté 31 Oct 2008, 16:52
Message #24


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Et bien voir : http://www.oscommerce-fr.info/forum/index....st&p=301455 en attendant validation, de pericles, xaglo et oneill !

Ce message a été modifié par delete - 31 Oct 2008, 16:54.
Go to the top of the page
 
xaglo
posté 31 Oct 2008, 16:56
Message #25


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 14911
Inscrit : 22-November 02
Membre no 610



pour ma part, je suis revenu en arrière pour ma version d'atos, en attente de validation par pericles... petit joueur sur le coup blush.gif et je n'ai pas bien le temps de creuser...


--------------------
Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions
Go to the top of the page
 

3 Pages V   1 2 3 >
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 22nd December 2014 - 14:28
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)