Mise à jour d'ATOS, discussion... |
Bienvenue invité ( Connexion | Inscription )
Mise à jour d'ATOS, discussion... |
31 Oct 2008, 10:15
Message
#1
|
|
Ceinture marron OSC 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... |
|
31 Oct 2008, 10:39
Message
#2
|
|
5eme dan OSC Groupe : Administrateur Messages : 14914 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 |
|
31 Oct 2008, 10:55
Message
#3
|
|
5eme dan OSC Groupe : Administrateur Messages : 7634 Inscrit : 28-December 03 Lieu : Hollywood les Granits Membre no 1773 |
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.... -------------------- |
|
31 Oct 2008, 11:22
Message
#4
|
|
5eme dan OSC Groupe : Administrateur Messages : 7634 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. -------------------- |
|
31 Oct 2008, 11:43
Message
#5
|
|
5eme dan OSC Groupe : Administrateur Messages : 14914 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
-------------------- Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions |
|
31 Oct 2008, 11:44
Message
#6
|
|
2eme dan OSC Groupe : Bannis Messages : 3022 Inscrit : 12-November 07 Lieu : Massilia Membre no 19718 |
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. |
|
31 Oct 2008, 11:53
Message
#7
|
|
5eme dan OSC Groupe : Administrateur Messages : 14914 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 |
|
31 Oct 2008, 12:00
Message
#8
|
|
5eme dan OSC Groupe : Administrateur Messages : 7634 Inscrit : 28-December 03 Lieu : Hollywood les Granits Membre no 1773 |
Citation Error get DATA response parameter (wrong length) si ca peut aider ! -------------------- |
|
31 Oct 2008, 12:01
Message
#9
|
|
5eme dan OSC Groupe : Administrateur Messages : 14914 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 |
|
31 Oct 2008, 12:06
Message
#10
|
|
2eme dan OSC 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
|
|
31 Oct 2008, 12:08
Message
#11
|
|
5eme dan OSC Groupe : Administrateur Messages : 7634 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 ? -------------------- |
|
31 Oct 2008, 12:19
Message
#12
|
|
2eme dan OSC 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. |
|
31 Oct 2008, 12:21
Message
#13
|
|
5eme dan OSC Groupe : Administrateur Messages : 7634 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. -------------------- |
|
31 Oct 2008, 12:33
Message
#14
|
|
5eme dan OSC Groupe : Administrateur Messages : 7634 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" ); -------------------- |
|
31 Oct 2008, 12:34
Message
#15
|
|
2eme dan OSC 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. |
|
31 Oct 2008, 12:46
Message
#16
|
|
2eme dan OSC Groupe : Bannis Messages : 3022 Inscrit : 12-November 07 Lieu : Massilia Membre no 19718 |
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. |
|
31 Oct 2008, 12:55
Message
#17
|
|
2eme dan OSC 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 http://fr3.php.net/manual/fr/features.safe...e.functions.php |
|
31 Oct 2008, 13:16
Message
#18
|
|
5eme dan OSC Groupe : Administrateur Messages : 7634 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 ? Oui, donc ma remarque plus haut est nulle, le escapeshellarg() n'est pas désactivé en safe_mode -------------------- |
|
31 Oct 2008, 13:32
Message
#19
|
|
5eme dan OSC Groupe : Administrateur Messages : 7634 Inscrit : 28-December 03 Lieu : Hollywood les Granits Membre no 1773 |
escapeshellcmd() ne fait pas mieux
-------------------- |
|
31 Oct 2008, 15:46
Message
#20
|
|
2eme dan OSC 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. |
|
31 Oct 2008, 16:22
Message
#21
|
|
5eme dan OSC Groupe : Administrateur Messages : 7634 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 ); 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.
$sips_resp = $result[0]; -------------------- |
|
31 Oct 2008, 16:35
Message
#22
|
|
2eme dan OSC Groupe : Bannis Messages : 3022 Inscrit : 12-November 07 Lieu : Massilia Membre no 19718 |
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 Ce message a été modifié par oneill - 31 Oct 2008, 16:48. |
|
31 Oct 2008, 16:47
Message
#23
|
|
Ceinture blanche OSC 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 : ... |
|
31 Oct 2008, 16:52
Message
#24
|
|
2eme dan OSC 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. |
|
31 Oct 2008, 16:56
Message
#25
|
|
5eme dan OSC Groupe : Administrateur Messages : 14914 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 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 |
|
Version bas débit | Nous sommes le : 28th March 2024 - 08:56 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |