Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
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 : 14910 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 : 7619 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 : 7619 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 : 14910 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 : 14910 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 : 7619 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 : 14910 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 : 7619 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 : 7619 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 : 7619 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 |
|
|
31 Oct 2008, 13:16
Message
#18
|
|
![]() 5eme dan OSC Groupe : Administrateur Messages : 7619 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 : 7619 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 : 7619 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 : 14910 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
-------------------- 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 : 19th June 2013 - 06:34 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |