Jump to content

Hack Prestashop sur la page de paiement - nettoyage


Eolia

Recommended Posts

4 minutes ago, MathieuC said:

Pour info : le site de dev est en 7.1 (sur le même serveur) ... le probleme est identique

Je n'avais pas remarqué, mais le script créer un fichier zip suspicious....

 

1 minute ago, Mediacom87 said:

Perso opCache est très bien.

Ce qu'il ne faut pas utiliser ce sont tous ceux proposés par l'option Cache serveur en bas de la page Performances

Merci,
Cependant nous somme sur 1.6...
Été effectivement nous n'avons aucun probleme sur OpCache

Link to comment
Share on other sites

4 minutes ago, MathieuC said:

Pour info : le site de dev est en 7.1 (sur le même serveur) ... le probleme est identique

Je n'avais pas remarqué, mais le script créer un fichier zip suspicious qui correspond aux alertes vu sur les autres version, mais qui sont normal pour nous...)
Mais pas de mail...

 

1 minute ago, Mediacom87 said:

Perso opCache est très bien.

Ce qu'il ne faut pas utiliser ce sont tous ceux proposés par l'option Cache serveur en bas de la page Performances

Merci,
Cependant nous somme sur 1.6...
Été effectivement nous n'avons aucun probleme sur OpCache

Link to comment
Share on other sites

7 minutes ago, MathieuC said:

Pour info : le site de dev est en 7.1 (sur le même serveur) ... le probleme est identique

Je n'avais pas remarqué, mais le script créer un fichier zip suspicious qui correspond aux alertes vu sur les autres version, mais qui sont normal pour nous...)
Mais pas de mail...

 

5 minutes ago, Mediacom87 said:

Perso opCache est très bien.

Ce qu'il ne faut pas utiliser ce sont tous ceux proposés par l'option Cache serveur en bas de la page Performances

Merci,
Cependant nous somme sur 1.6...
Été effectivement nous n'avons aucun probleme sur OpCache

Link to comment
Share on other sites

il y a 5 minutes, MathieuC a dit :

Pour info : le site de dev est en 7.1 (sur le même serveur) ... le probleme est identique

Donc ce n'est pas un problème php mais le serveur qui coupe les piles avant la fin du script.

L'erreur citée plus haut dans votre log Apache ne correspond pas, ça c'est un client qui a perdu sa connexion (en mobile ou autre)

Link to comment
Share on other sites

14 minutes ago, MathieuC said:

Pour info : le site de dev est en 7.1 (sur le même serveur) ... le probleme est identique

Je n'avais pas remarqué, mais le script créer un fichier zip suspicious qui correspond aux alertes vu sur les autres versions, (mais qui sont normal pour nous...)
Mais pas de mail...

 

12 minutes ago, Mediacom87 said:

Perso opCache est très bien.

Ce qu'il ne faut pas utiliser ce sont tous ceux proposés par l'option Cache serveur en bas de la page Performances

Merci,
Cependant nous somme sur 1.6...
Et effectivement nous n'avons aucun problème sur OpCache..
et notre configuration de cache correspond a ce qui est expliqué pour la 1.7

Edited by MathieuC (see edit history)
Link to comment
Share on other sites

4 minutes ago, Eolia said:

Donc ce n'est pas un problème php mais le serveur qui coupe les piles avant la fin du script.

L'erreur citée plus haut dans votre log Apache ne correspond pas, ça c'est un client qui a perdu sa connexion (en mobile ou autre)

c'est mon ordi...  les lignes correspondantes a l'appel du script.

Edited by MathieuC (see edit history)
Link to comment
Share on other sites

Hello, pour info nous avons travaillé avec la personne qui administre notre serveur. Des essais d'augmentation importante des temps d'execution max n'ont rien donné. Il me confirme qu'il n'y a pas eu de modification de conf hier qui aurait entrainé l'erreur.

J'ai essayé de supprimer les lignes 1056 a 1120 du fichier mais bizarrement le problème persiste.

Enfin j'ai testé le fait d'ajouter le code de debug au début du script, mais comme MathieuC pas de fichier log de créé. 

Link to comment
Share on other sites

12 minutes ago, Eolia said:

Ok donc apache vous coupe les piles car il vous considère comme inactif semble-t-il

C_Ma_For est sur Ngnix.
La logique serait que cela coince de votre coté (vu que le scrip sans les modifs ne fonctionne plus).
mais ça reste Théorique.
un fail2ban un peu trop tatillon ?

Edited by Mathieu C. (see edit history)
Link to comment
Share on other sites

49 minutes ago, Mathieu C. said:

C_Ma_For est sur Ngnix.
La logique serait que cela coince de votre coté (vu que le scrip sans les modifs ne fonctionne plus).
mais ça reste Théorique.
un fail2ban un peu trop tatillon ?

Pour Info, la page 503  :

Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.


Vient de votre serveur, la notre est différente.

Edited by Mathieu C. (see edit history)
Link to comment
Share on other sites

Nous avons continué a travailler sur le problème et fait pas mal de tests de conf serveur. Modification des paramètres de php, droits.... rien ne fonctionne.

Je n'arrive pas à comprendre pourquoi en uploadant le fichier auquel j'enlève les lignes ajoutées lors de la mise à jour créant le problème je continue a avoir l'erreur en question.

Y a t il eu d'autres lignes ajoutées ou supprimer que les lignes 1056 à 1120 ?

Serait il possible de récupérer la version precedente afin de la tester et comprendre ce qui génère le souci ?

Merci encore!

Link to comment
Share on other sites

4 minutes ago, C_Ma_For said:

Nous avons continué a travailler sur le problème et fait pas mal de tests de conf serveur. Modification des paramètres de php, droits.... rien ne fonctionne.

Je n'arrive pas à comprendre pourquoi en uploadant le fichier auquel j'enlève les lignes ajoutées lors de la mise à jour créant le problème je continue a avoir l'erreur en question.

Y a t il eu d'autres lignes ajoutées ou supprimer que les lignes 1056 à 1120 ?

Serait il possible de récupérer la version precedente afin de la tester et comprendre ce qui génère le souci ?

Merci encore!

+1
Ce script  est une veritable drogue ! J'ai l'impression d'être aveugle sans celui-ci....

Link to comment
Share on other sites

Je viens de faire un test sur la version 54 du script.
Protocol : utiliser un die et voir jusqu'ou cela va.

Tout s'affiche correctement jusqu'a la boucle  foreach($files as $file)  ligne 1000
quand cette boucle s'execute on a le droit a la 503.


@C_Ma_For : si vous modifiez le script, la modification peut être ne sera bonne qu'une seule fois, car ce script se re upload si qq chose de modifié... donc vérifiez bien que vos modification ne sont pas effacées...

Link to comment
Share on other sites

12 minutes ago, Mathieu C. said:

Je viens de faire un test sur la version 54 du script.
Protocol : utiliser un die et voir jusqu'ou cela va.

Tout s'affiche correctement jusqu'a la boucle  foreach($files as $file)  ligne 1000
quand cette boucle s'execute on a le droit a la 503.


@C_Ma_For : si vous modifiez le script, la modification peut être ne sera bonne qu'une seule fois, car ce script se re upload si qq chose de modifié... donc vérifiez bien que vos modification ne sont pas effacées...

Avec un dump de $files juste avant...

 

Edited by Mathieu C. (see edit history)
Link to comment
Share on other sites

essayer d'enlever un niveau de profondeur dans la liste des sous-répertoires. Le dernier : ,glob($root_path.'modules/*/*/*/*/*.php')

    $files = array_merge(glob($root_path.'modules/*.php'), glob($root_path.'modules/*.ico'), glob($root_path.'modules/*/*.php'), glob($root_path.'modules/*/*/*.php'), glob($root_path.'modules/*/*/*/*.php'), glob($root_path.'modules/*/*/*/*/*.php'));

Je vois sur votre capture que c'est un module renommé, il serait bon de virer ces modules de ce répertoire, ils n'ont rien à y faire et ralentissent votre Presta qui essaye de les interpréter et les charge en mémoire.

Link to comment
Share on other sites

2 hours ago, Eolia said:

essayer d'enlever un niveau de profondeur dans la liste des sous-répertoires. Le dernier : ,glob($root_path.'modules/*/*/*/*/*.php')

    $files = array_merge(glob($root_path.'modules/*.php'), glob($root_path.'modules/*.ico'), glob($root_path.'modules/*/*.php'), glob($root_path.'modules/*/*/*.php'), glob($root_path.'modules/*/*/*/*.php'), glob($root_path.'modules/*/*/*/*/*.php'));

Je vois sur votre capture que c'est un module renommé, il serait bon de virer ces modules de ce répertoire, ils n'ont rien à y faire et ralentissent votre Presta qui essaye de les interpréter et les charge en mémoire.

Fonctione avec cette profondeur :
glob($root_path.'modules/*/*.php')
plus ça 503....

Edited by Mathieu C. (see edit history)
Link to comment
Share on other sites

6 hours ago, Mathieu C. said:

Je viens de faire un test sur la version 54 du script.
Protocol : utiliser un die et voir jusqu'ou cela va.

Tout s'affiche correctement jusqu'a la boucle  foreach($files as $file)  ligne 1000
quand cette boucle s'execute on a le droit a la 503.


@C_Ma_For : si vous modifiez le script, la modification peut être ne sera bonne qu'une seule fois, car ce script se re upload si qq chose de modifié... donc vérifiez bien que vos modification ne sont pas effacées...

 

1 hour ago, C_Ma_For said:

Merci @Mathieu C. et @Eolia.

Mon problème vient effectivement des profondeurs de sous répertoires contenus dans le merge. 
Plus de 502 quand j'enlève les trois derniers...

Somme nous que les 2 seuls gueux a avoir cet problème ?
De plus cela ne concerne que les modules... (on doit en avoir une sacrée louche).

Link to comment
Share on other sites

Règles concernant les modules:

- Mettre ailleurs (sur votre PC ou dans un répertoire au-dessus de la racine) les anciens modules, modules renommés, zip ou autre joyeusetés qui n'ont RIEN à faire dans ce répertoire.

- Supprimez les répertoires du type 95125487456854458gfgf7842458gf qui sont des modules qui ont crashé lors de l'install (l'archive a été dézippée mais n'a finalement pas pu s'installer)

- Désinstallez et supprimez les modules inutilisés ou non-configurés.

- il ne doit rester QUE les modules actifs et ceux que vous n'utilisez que par moment ainsi que le .htaccess et leindex.php

Comprenez bien que Prestashop scanne ce répertoire et le charge en mémoire à chaque appel d'une page, d'autre part il essaye d'interpréter le code (si c'est un zip ou un pdf il patauge dans la semoule 2min)

Le répertoire / modules n'est pas un fourre-tout car c'est le lieu de prédilection des hackers et plus il contient de fichiers, plus il y a de contrôles à faire.

  • Like 1
Link to comment
Share on other sites

Mon dossier module est dans ce cas (je viens d'y faire un tour suite a ce conseil judicieux).

Pour info : Charger la page des module dans le back, ce n'est pas la page la plus rapide.

Même avec Timeout 300 dans Apache (et idem dans php)-  le script avec la profondeur souhaitée ne passe pas.

Le problème est ailleurs (Array de plus de 3000 fichier)?

 

Edited by Mathieu C. (see edit history)
Link to comment
Share on other sites

Il y a 16 heures, Eolia a dit :

- Supprimez les répertoires du type 95125487456854458gfgf7842458gf qui sont des modules qui ont crashé lors de l'install (l'archive a été dézippée mais n'a finalement pas pu s'installer)

- Désinstallez et supprimez les modules inutilisés ou non-configurés.

Tiens, je propose justement un module qui permet de faire tout cela 😉

Link to comment
Share on other sites

La version 3 est sortie.

Elle s'exécute en 30 secondes sur un OVH mutu avec pas mal de modules et d'images. J'espère que ce sera ok pour tout le monde.

Un seul scan est effectué, ensuite c'est un traitement du tableau de résultats.

  • Thanks 1
Link to comment
Share on other sites

Hello Eolia,

J'ai un PS 1.7.6.4 vérolé. Je l'ai récupéré et installé sur O2Switch dans une lune propre, avec PHP 7.3 et memory_limit au max mais le script plante sur une erreur 500 après avoir fait la mise à jour.
La dernière ligne du fichier cleaner500.php dit "Allowed memory size of 268435456 bytes exhausted (tried to allocate 8192 bytes"

Et sur la page Informations dans l'admin, il ne voit que 256M en memory_limit. J'ai vidé le cache, désactivé le cache, supprimer les dossiers dev et prod du dossier cache. No change.
J'ai cherché un éventuel fichier php.ini que j'aurais récupéré du site de prod, mais je ne vois rien.
J'ai mis un fichier phpinfo à la racine, et lui détecte le bon memory_limit. Donc le souci est dans Prestashop mais à part un module en lien avec la compta, je ne vois rien d'exotique qui pourrait agir sur ce paramètre.

Des idées de recherche me seraient donc précieuses !

 

Merci d'avance

Link to comment
Share on other sites

Bonjour
je voudrais lancer un test juste par curiosité et je tombe directement sur ça (voir image).
 

image.thumb.png.b77e84e1a76b7b6ff4140626f358caf6.png

E,n effet j'ai mon site de préprod qui sous le dossier public_html/test/ donc tous les dossiers (admin/modules etc) sont en double dans ce sous-dossier.

  1. Y'a t'il un moyen d'effectuer le test quand même ?
  2. si je clique sur 1, celà vas t'il automatiquement supprimer mon dossier admin de mon site de test ?

Merci et bonne journée

 

Link to comment
Share on other sites

11 hours ago, Eolia said:

La version 3 est sortie.

Elle s'exécute en 30 secondes sur un OVH mutu avec pas mal de modules et d'images. J'espère que ce sera ok pour tout le monde.

Un seul scan est effectué, ensuite c'est un traitement du tableau de résultats.

Bonjour @Eolia j'ai tenté la mise à jour (ovh) et pas moyen de passer de la 2.0.54 à la derniere version 😪

Internal Server Error

Merci OVH 💩 😠

Link to comment
Share on other sites

il y a 45 minutes, sparh a dit :

Bonjour
je voudrais lancer un test juste par curiosité et je tombe directement sur ça (voir image).
 

image.thumb.png.b77e84e1a76b7b6ff4140626f358caf6.png

E,n effet j'ai mon site de préprod qui sous le dossier public_html/test/ donc tous les dossiers (admin/modules etc) sont en double dans ce sous-dossier.

  1. Y'a t'il un moyen d'effectuer le test quand même ?
  2. si je clique sur 1, celà vas t'il automatiquement supprimer mon dossier admin de mon site de test ?

Merci et bonne journée

 

2 prestashop dans le même répertoire cela oblige à contrôler 2 fois plus de fichiers et augmente le risque d'infections planquées dans les fichiers de l'autre dossier.
Déplacez votre dev dans un autre répertoire au même niveau que le www ou public_html

Link to comment
Share on other sites

Bonjour 
j'ai déplacé mon site de test, lancé cleaner.php et maintenant j'ai mon site entier en erreur 500 :(
log cleaner :

 

 [input] => 
    [1] => Array
        (
            [type] => 1
            [message] => Maximum execution time of 360 seconds exceeded
            [file] => /home/mbl/domains/monsite.com/public_html/e60812a86943.php
            [line] => 991
        )

Mes logs
 

[Tue Dec 05 11:57:22.231930 2023] [proxy_fcgi:error] [pid 3763972:tid 139677258696448] [remote 194.230.196.245:56905] AH01071: Got error 'PHP message: PHP Warning:  include(/home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/composer/../ramsey/uuid/src/Provider/Node/SystemNodeProvider.php): failed to open stream: No such file or directory in /home/site/domains/monsitelab.com/public_html/vendor/composer/ClassLoader.php on line 576PHP message: PHP Warning:  include(): Failed opening '/home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/composer/../ramsey/uuid/src/Provider/Node/SystemNodeProvider.php' for inclusion (include_path='/home/site/domains/monsitelab.com/public_html/vendor/pear/pear_exception:/home/site/domains/monsitelab.com/public_html/vendor/pear/console_getopt:/home/site/domains/monsitelab.com/public_html/vendor/pear/pear-core-minimal/src:/home/site/domains/monsitelab.com/public_html/vendor/pear/archive_tar:.:/usr/local/php74/lib/php') in /home/site/domains/monsitelab.com/public_html/vendor/composer/ClassLoader.php on line 576PHP message: PHP Warning:  include(/home/site/domains/monsitelab.com/public_html/modules/ps_checkout/vendor/composer/../ramsey/uuid/src/Provider/Node/SystemNodeProvider.php): failed to open stream: No such file or directory in /home/site/domains/monsitelab.com/public_html/vendor/composer/ClassLoader.php on line 576PHP message: PHP Warning:  include(): Failed opening '/home/site/domains/monsitelab.com/public_html/modules/ps_checkout/vendor/composer/../ramsey/uuid/src/Provider/Node/SystemNodeProvider.php' for inclusion (include_path='/home/site/domains/monsitelab.com/public_html/vendor/pear/pear_exception:/home/site/domains/monsitelab.com/public_html/vendor/pear/console_getopt:/home/site/domains/monsitelab.com/public_html/vendor/pear/pear-core-minimal/src:/home/site/domains/monsitelab.com/public_html/vendor/pear/archive_tar:.:/usr/local/php74/lib/php') in /home/site/domains/monsitelab.com/public_html/vendor/composer/ClassLoader.php on line 576PHP message: PHP Fatal error:  Uncaught Error: Class 'Ramsey\\Uuid\\Provider\\Node\\SystemNodeProvider' not found in /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/ramsey/uuid/src/FeatureSet.php:231\nStack trace:\n#0 /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/ramsey/uuid/src/FeatureSet.php(127): Ramsey\\Uuid\\FeatureSet->buildNodeProvider()\n#1 /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/ramsey/uuid/src/UuidFactory.php(64): Ramsey\\Uuid\\FeatureSet->__construct()\n#2 /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/ramsey/uuid/src/Uuid.php(647): Ramsey\\Uuid\\UuidFactory->__construct()\n#3 /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/ramsey/uuid/src/Uuid.php(765): Ramsey\\Uuid\\Uuid::getFactory()\n#4 /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/classes/Service/AnalyticsService.php(289): Ramsey\\Uuid\\Uuid::uuid4()\n#5 /home/site/domains/mat...'

au secours :(

Edited by sparh (see edit history)
Link to comment
Share on other sites

il y a 2 minutes, sparh a dit :

Bonjour 
j'ai déplacé mon site de test, lancé cleaner.php et maintenant j'ai mon site entier en erreur 500 :(
log cleaner :

 

 [input] => 
    [1] => Array
        (
            [type] => 1
            [message] => Maximum execution time of 360 seconds exceeded
            [file] => /home/mbl/domains/monsite.com/public_html/e60812a86943.php
            [line] => 991
        )

Mes logs
 

[Tue Dec 05 11:57:22.231930 2023] [proxy_fcgi:error] [pid 3763972:tid 139677258696448] [remote 194.230.196.245:56905] AH01071: Got error 'PHP message: PHP Warning:  include(/home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/composer/../ramsey/uuid/src/Provider/Node/SystemNodeProvider.php): failed to open stream: No such file or directory in /home/site/domains/monsitelab.com/public_html/vendor/composer/ClassLoader.php on line 576PHP message: PHP Warning:  include(): Failed opening '/home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/composer/../ramsey/uuid/src/Provider/Node/SystemNodeProvider.php' for inclusion (include_path='/home/site/domains/monsitelab.com/public_html/vendor/pear/pear_exception:/home/site/domains/monsitelab.com/public_html/vendor/pear/console_getopt:/home/site/domains/monsitelab.com/public_html/vendor/pear/pear-core-minimal/src:/home/site/domains/monsitelab.com/public_html/vendor/pear/archive_tar:.:/usr/local/php74/lib/php') in /home/site/domains/monsitelab.com/public_html/vendor/composer/ClassLoader.php on line 576PHP message: PHP Warning:  include(/home/site/domains/monsitelab.com/public_html/modules/ps_checkout/vendor/composer/../ramsey/uuid/src/Provider/Node/SystemNodeProvider.php): failed to open stream: No such file or directory in /home/site/domains/monsitelab.com/public_html/vendor/composer/ClassLoader.php on line 576PHP message: PHP Warning:  include(): Failed opening '/home/site/domains/monsitelab.com/public_html/modules/ps_checkout/vendor/composer/../ramsey/uuid/src/Provider/Node/SystemNodeProvider.php' for inclusion (include_path='/home/site/domains/monsitelab.com/public_html/vendor/pear/pear_exception:/home/site/domains/monsitelab.com/public_html/vendor/pear/console_getopt:/home/site/domains/monsitelab.com/public_html/vendor/pear/pear-core-minimal/src:/home/site/domains/monsitelab.com/public_html/vendor/pear/archive_tar:.:/usr/local/php74/lib/php') in /home/site/domains/monsitelab.com/public_html/vendor/composer/ClassLoader.php on line 576PHP message: PHP Fatal error:  Uncaught Error: Class 'Ramsey\\Uuid\\Provider\\Node\\SystemNodeProvider' not found in /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/ramsey/uuid/src/FeatureSet.php:231\nStack trace:\n#0 /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/ramsey/uuid/src/FeatureSet.php(127): Ramsey\\Uuid\\FeatureSet->buildNodeProvider()\n#1 /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/ramsey/uuid/src/UuidFactory.php(64): Ramsey\\Uuid\\FeatureSet->__construct()\n#2 /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/ramsey/uuid/src/Uuid.php(647): Ramsey\\Uuid\\UuidFactory->__construct()\n#3 /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/vendor/ramsey/uuid/src/Uuid.php(765): Ramsey\\Uuid\\Uuid::getFactory()\n#4 /home/site/domains/monsitelab.com/public_html/modules/ps_accounts/classes/Service/AnalyticsService.php(289): Ramsey\\Uuid\\Uuid::uuid4()\n#5 /home/site/domains/mat...'

au secours :(

Une archive a été générée à la racine de votre site ?

Il y a des fichiers concernant le module ps_checkout dedans ?

Link to comment
Share on other sites

J'ai toujours un timeout en front mais je reçois le mail sur l'analyse.

Quelques lignes en rouge:

Recherche de vulnérabilité sur les modules (A titre d'information. Si vous ne savez pas interpréter le code, veuillez demander l'avis d'un professionnel):

Fonction sensible hors classe à contrôler: eval( => /modules/autoupgrade/AdminSelfUpgrade.php

Fonction sensible à contrôler: eval( => /modules/autoupgrade/ajax-upgradetab.php

Fonction sensible à contrôler: eval( => /modules/autoupgrade/init.php

Fonction sensible à contrôler: eval( => /modules/mollie/vendor/symfony/dependency-injection/Dumper/PhpDumper.php

Pour Mollie, le module n'a plus été mis à jour depuis très longtemps et fonctionne toujours bien.

Link to comment
Share on other sites

Il y a 14 heures, kerlin a dit :

Hello Eolia,

J'ai un PS 1.7.6.4 vérolé. Je l'ai récupéré et installé sur O2Switch dans une lune propre, avec PHP 7.3 et memory_limit au max mais le script plante sur une erreur 500 après avoir fait la mise à jour.
La dernière ligne du fichier cleaner500.php dit "Allowed memory size of 268435456 bytes exhausted (tried to allocate 8192 bytes"

Et sur la page Informations dans l'admin, il ne voit que 256M en memory_limit. J'ai vidé le cache, désactivé le cache, supprimer les dossiers dev et prod du dossier cache. No change.
J'ai cherché un éventuel fichier php.ini que j'aurais récupéré du site de prod, mais je ne vois rien.
J'ai mis un fichier phpinfo à la racine, et lui détecte le bon memory_limit. Donc le souci est dans Prestashop mais à part un module en lien avec la compta, je ne vois rien d'exotique qui pourrait agir sur ce paramètre.

Des idées de recherche me seraient donc précieuses !

 

Merci d'avance

bonjour, je me permets un petit up ...

j'ai relancé quelques fois le script, j'en suis à la version 3.0.6, ça tourne plus longtemps puis erreur 504 avec toujours le même message dans cleaner500.php. Et ce alors que j'ai 2Go de mempory_limit, mais PS n'en voit que 254M

 

Merci d'avance

Link to comment
Share on other sites

Belle frayeur de mon coté
J'ai fini par installer le backup tout entier de mon site et ça à l'air ok.

@Eolia serait il possible d'avoir un cleaner qui ne change/supprime rien, juste des alertes ? 
Je demande surement beaucoup mais mon site fonctionnait très bien à priori sans hack et votre script (qui est très utile) à complétement tout cassé et j'aimerai bien le tester sans prendre de risque.

Merci

Link to comment
Share on other sites

4 minutes ago, Eolia said:

Ca fonctionne chez moi et le zip est bien généré.

Yes merci :) J'ai juste oublié de revenir le dire ici car au bout de 10 tests j'ai remplacé le fichier directement via ton lien et cela à enfin fonctionné la mise à jour.
Merci encore :)🙏

Link to comment
Share on other sites

15 hours ago, Mathieu C. said:

version 3.0.7... 8

Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

😞

 

Bonjour, 


c'est la partie Module (ligne 1044-1122)) qui coince (comme d'habitude si je peux oser).plus Exactement le bloc a ligne 1070. 


En commentant cette partie le script passe.
vous avez le lien de mon fichier....

 

 

shot 2.png

Edited by Mathieu C.
ajout precision (see edit history)
Link to comment
Share on other sites

il y a 6 minutes, Mathieu C. a dit :

Bonjour, 


c'est la partie Module (ligne 1044-1122)) qui coince (comme d'habitude si je peux oser).
En commentant cette partie le script passe.
vous avez le lien de mon fichier....

shot 1.png

Donc time_out.

Dans les dernières version de cleaner, l'itération de tous les fichiers est faite une seule fois, au début.

Ensuite on traite le tableau ligne par ligne. Plus il y a de lignes, plus ça prend du temps.

Etes-vous sûr de n'avoir que des modules utilisés ou utiles dans votre répertoire /modules ?

Link to comment
Share on other sites

8 minutes ago, Eolia said:

Donc time_out.

Dans les dernières version de cleaner, l'itération de tous les fichiers est faite une seule fois, au début.

Ensuite on traite le tableau ligne par ligne. Plus il y a de lignes, plus ça prend du temps.

Etes-vous sûr de n'avoir que des modules utilisés ou utiles dans votre répertoire /modules ?

Pour ce qui est du serveur... c'est le notre, non mutualisé.
Intel(R) Xeon(R) E-2236 CPU @ 3.40GHz, 12 cores
32GB
=> donc pas une petite configuration ;-).


timeout de 300 (c'est pas court)

Le repertoire module est optimisé.

195 modules pour info et tout est utile !

 

 

 

Edited by Mathieu C. (see edit history)
Link to comment
Share on other sites

APACHE
[Wed Dec 06 13:06:25.808969 2023] [proxy_fcgi:error] [pid 27803:tid 140269233604352] [client **********] AH01067: Failed to read FastCGI header, referer: https://**********4ba7c.php
[Wed Dec 06 13:06:25.809001 2023] [proxy_fcgi:error] [pid 27803:tid 140269233604352] (104)Connection reset by peer: [client **********] AH01075: Error dispatching request to : , referer: https://**********4ba7c.php

FPM
[06-Dec-2023 13:06:25] WARNING: [pool www] child 15803 exited on signal 11 (SIGSEGV) after 175758.549863 seconds from start
[06-Dec-2023 13:06:25] NOTICE: [pool www] child 20957 started
 

Link to comment
Share on other sites

2 minutes ago, Mathieu C. said:

c'est le child qui est 'ouvert'... un slot prêt a agir....
Et comme le script plant il le ferme et en réouvre un autre

ce sur vous devriez porter attention est SIGNAL 11 :
It indicates an attempt by a program to write or read outside its allocated memory—either because of a programming error, a software or hardware compatibility issue, or a malicious attack, such as buffer overflow. SIGSEGV is indicated by the following codes: In Unix/Linux, SIGSEGV is operating system signal 11

 

Link to comment
Share on other sites

1 minute ago, Mathieu C. said:

ce sur vous devriez porter attention est SIGNAL 11 :
It indicates an attempt by a program to write or read outside its allocated memory—either because of a programming error, a software or hardware compatibility issue, or a malicious attack, such as buffer overflow. SIGSEGV is indicated by the following codes: In Unix/Linux, SIGSEGV is operating system signal 11

 

https://serverfault.com/questions/67504/what-can-cause-a-signal-11

Link to comment
Share on other sites

2 hours ago, Eolia said:

ajoutez ça au début du script et relancez pour voir:

if (function_exists('newrelic_ignore_transaction')) { newrelic_ignore_transaction(); }

 

APACHE
[Wed Dec 06 16:44:28.820945 2023] [proxy_fcgi:error] [pid 27803:tid 140269300745984] [client *******:51009] AH01067: Failed to read FastCGI header
[Wed Dec 06 16:44:28.820974 2023] [proxy_fcgi:error] [pid 27803:tid 140269300745984] (104)Connection reset by peer: [client*******:51009] AH01075: Error dispatching request to : 

PHP
child 15790 exited on signal 11 (SIGSEGV)

Link to comment
Share on other sites

On 12/4/2023 at 10:45 PM, kerlin said:

...le script plante sur une erreur 500 après avoir fait la mise à jour.

La dernière ligne du fichier cleaner500.php dit "Allowed memory size of 268435456 bytes exhausted (tried to allocate 8192 bytes"

J'ai la même chose depuis 2 jours. La plupart du temps il n'y a pas de génération de cleaner500.

Capturedecran2023-12-06a19_43_50.thumb.png.ef8cf321f1f83b92c7126fbf30b24ccf.png

Link to comment
Share on other sites

1 hour ago, Eolia said:

Une erreur sur la mémoire aussi ?

Répertoire /modules nettoyé de tous les inutiles ?

Moi aussi...  89 modules...
nettoyage au Karcher.. le plus drôle est qu'un module s'annonçait comme pas installé alors qu'il était utilisé !! Merci presta.... (bloclanguage modifié)

Edited by Mathieu C. (see edit history)
Link to comment
Share on other sites

Bonjour,

Pour le moment avec la version du script 3.0.9 et la version 1.7.6.9 de Prestashop j'ai toujours le souci de internal server error.

L'affichage du "hack" ne se voit plus que sur Edge et Chrome mais plus sous Firefox pour information avec notre site.

Merci pour votre aide et votre travail.

Bonne journée !

Link to comment
Share on other sites

il y a 1 minute, Martial IW a dit :

Merci pour l'information :)

Mais malheureusement j'arrive, après le chargement de la version 3.0.10, toujours à la page 500 Internal Server Error.

Je ne sais pas si vous avez besoin de plus d'information de ma part. Merci pour votre aide. :)

 

envoyez-moi un accès ftp en Message Privé que je puisse débuguer chez vous

  • Like 1
Link to comment
Share on other sites

Pour ceux qui sont avec Plesk et Ngnix:

Augmentez le fcgi IOTimeout et le  fcgi BusyTimeout

Depuis PleskPanel -> Site Web et domaines -> Paramètres du serveur Web

Ajouter aux "Directives supplémentaires pour HTTP" et "Directives supplémentaires pour HTTPS" :
FcgidBusyTimeout 160
FcgidIOTimeout 160

et ajoutez dans les directives nginx additionnelles ceci:
proxy_read_timeout 300;

  • Like 1
Link to comment
Share on other sites

Bon ben la dernière version n'a rien changé pour moi, je ne suis pas sous nginx. Mes paramètres serveur sont les mêmes qu'au dessus (j'ai même testé en dev un 1024 de memory limit, mais ça ne change rien). En ce qui concerne le timeout, le mien est largement surdimesionné.

Link to comment
Share on other sites

Perso sur tous mes serveurs, je les configure comme ça:

<IfModule mod_fcgid.c>
  MaxRequestLen       25728640
  FcgidMaxRequestLen  25728640
  IPCCommTimeout          600
  FcgidIOTimeout          600
  BusyTimeout             600
</IfModule>

<IfModule mod_http2.c>
  Protocols h2 h2c http/1.1
  ProtocolsHonorOrder On
  H2MaxSessionStreams 300
</IfModule>

LimitRequestFieldSize 65356

Link to comment
Share on other sites

Bonjour,

J'ai un blog sous Wordpress installé dans un dossier (Prestation est installé à la racine).

Avant, le script l'ignorait, mais maintenant, il analyse aussi ce dossier.

Cela engendre deux soucis :

  • Le script m'a supprimé plusieurs fichiers Wordpress, dont wp-login.php qui est nécessaire pour se connecter à l'administration.
    Est ce qu'il y a un moyen pour que je puisse les récupérer ? Je ne les trouve pas dans l'archive suspicious qui a été générée ?
  • Je me retrouve avec une liste "Recheche de fichiers php ajoutés" à rallonge et du coup, cela est plus difficile de trouver les fichiers qui pourraient réellement poser problème.

Puis-je exclure ce dossier pour les prochaines analyses ?

Merci

Link to comment
Share on other sites

le script génère un zip la racine - il se pourrait qu'il soit ici....
cependant mettre un wordpress là n'est pas une 'best practice'.
pour les lien sur wordpress, il suffit de mettre un ../  pour remonter d'un niveau (sortir du dossier presta) - puis redescendre .
ex ../wordpress/
ou de mettre un lien symbolique 

Edited by Mathieu C. (see edit history)
Link to comment
Share on other sites

Tous les fichiers supprimés sont dans le zip.

Un zip initial est créé au 1er appel avec la date du jour, si vous relancez cleaner, le zip sans date sera écrasé et remplacé par le nouveau.

Recherchez dans les zip avec date vos fichiers WP, mais oui, un WP ne devrait jamais être dans le même répertoire qu'un Prestashop car c'est une source d'infection principale.

Link to comment
Share on other sites

Merci pour la réponse.

Bizarrement, le seul zip qu'il y a est celui de la semaine dernière (précédent appel du script).
Mais, j'ai pu récupérer les fichiers dans une sauvegarde.

Y a-t-il un moyen d'exclure le dossier "blog" de l'analyse ? Afin d'éviter que ça me supprimer à nouveau les mêmes fichiers à chaque appel du script ?

Link to comment
Share on other sites

il y a une heure, Bertrand57 a dit :

Merci pour la réponse.

Bizarrement, le seul zip qu'il y a est celui de la semaine dernière (précédent appel du script).
Mais, j'ai pu récupérer les fichiers dans une sauvegarde.

Y a-t-il un moyen d'exclure le dossier "blog" de l'analyse ? Afin d'éviter que ça me supprimer à nouveau les mêmes fichiers à chaque appel du script ?

Déplacez surtout votre répertoire blog hors du répertoire d'installation de PrestaShop.

Link to comment
Share on other sites

Vous pouvez, tout en bas du script, mais il faut savoir que si ces fichiers sont recherchés et supprimés c'est parce que dans les derniers hacks, on retrouvait de faux répertoires /wp-xxxxx dans ceux des Prestashop.

$excludes = array('cache', 'log', 'stats', 'error', 'upload', 'download', 'themes', 'docs', 'import', 'export', 'blog');

 

Link to comment
Share on other sites

Cela m'est arrivé deux fois maintenant sur mon siteweb et votre script est une bouée de sauvetage, j'envisage de mettre à niveau la sécurité de mon sotre si cela ne vous dérange pas, pouvez-vous nous dire s'il existe un module ou une solution pour protéger à nouveau nos eshop de ce piratage et et avez-vous quelle pourrait être la source de ce hack ?

je suis encore très reconnaissant, merci beaucoup

Link to comment
Share on other sites

Il y a 15 heures, Najm a dit :

Cela m'est arrivé deux fois maintenant sur mon siteweb et votre script est une bouée de sauvetage, j'envisage de mettre à niveau la sécurité de mon sotre si cela ne vous dérange pas, pouvez-vous nous dire s'il existe un module ou une solution pour protéger à nouveau nos eshop de ce piratage et et avez-vous quelle pourrait être la source de ce hack ?

je suis encore très reconnaissant, merci beaucoup

Déjà expliqué de nombreuses fois:

- Soit un module tiers mal sécurisé (manque de contrôle des données uploadées)

- Soit un autre CMS non sécurisé dans le même espace web (Un Wordpress pas à jour par exemple, ou un autre Prestashop vérolé)

- Soit un vol d'identifiants employé (Le hacker se connecte avec les identifiants employé, charge un module de hack, effectue ses injections et supprime son module ce qui efface toute trace)

- Soit un vol de vos identifiants hébergeur ce qui permet au hacker de modifier/créer un accès ftp et d'avoir directement accès aux fichiers (vu plusieurs fois pour ma part ces derniers temps).

C'est pourquoi après un nettoyage, il faut changer immédiatement TOUS les mots de passe employés, ceux de votre hébergeur et je conseille également de renommer le répertoire /admin. Il faut savoir que l'infection du fichier AdminLoginController envoie aux hackers l'url de votre admin, l'email et le mot de passe de l'employé.

Link to comment
Share on other sites

2023-12-20 15:41:31 Error 145.224.1244.123500GET /b98be7427f51.php HTTP/1.1

2023-12-20 15:42:07 Warning 145.224.124.123(104)Connection reset by peer: mod_fcgid: error reading data from FastCGI 

2023-12-20 15:42:07 Error 145.224.124.123End of script output before headers: b98be7427f51.php

Hi I've read most of the Error 500 messages in this post and I understand there is some server resource problem. The Memory limit is set to 1024M, and max_execution _time= 10000 via the user.ini file. Setting Fcgid parameters in htaccess is not allowed. The error 500 comes after 20 seconds. What can I do?

PS version 1.6.1.25

Edited by El Capitan (see edit history)
Link to comment
Share on other sites

il y a 7 minutes, El Capitan a dit :

2023-12-20 15:41:31 Error 145.224.1244.123500GET /b98be7427f51.php HTTP/1.1

2023-12-20 15:42:07 Warning 145.224.124.123(104)Connection reset by peer: mod_fcgid: error reading data from FastCGI 

2023-12-20 15:42:07 Error 145.224.124.123End of script output before headers: b98be7427f51.php

Hi I've read most of the Error 500 messages in this post and I understand there is some server resource problem. The Memory limit is set to 1024M, and max_execution _time= 10000 via the user.ini file. Setting Fcgid parameters in htaccess is not allowed. The error 500 comes after 20 seconds. What can I do?

Not in .htaccess file but in your server configuration

<IfModule mod_fcgid.c>
  MaxRequestLen       25728640
  FcgidMaxRequestLen  25728640
  IPCCommTimeout          600
  FcgidIOTimeout          600
  BusyTimeout             600
</IfModule>

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...