El Capitan Posted December 20, 2023 Share Posted December 20, 2023 1 hour ago, Eolia said: Not in .htaccess file but in your server configuration <IfModule mod_fcgid.c> MaxRequestLen 25728640 FcgidMaxRequestLen 25728640 IPCCommTimeout 600 FcgidIOTimeout 600 BusyTimeout 600 </IfModule> Server is on a shared managed host. I don't have the necessary access Link to comment Share on other sites More sharing options...
El Capitan Posted December 20, 2023 Share Posted December 20, 2023 1 hour ago, El Capitan said: Server is on a shared managed host. I don't have the necessary access I've been debugging the code and the $directory variable (around line 62) is empty, this doesn't seem to be correct? Link to comment Share on other sites More sharing options...
Eolia Posted December 20, 2023 Author Share Posted December 20, 2023 $directory is defined at line 61 and overridden at line 62 Link to comment Share on other sites More sharing options...
El Capitan Posted December 20, 2023 Share Posted December 20, 2023 (edited) 10 minutes ago, Eolia said: $directory is defined at line 61 and overridden at line 62 yes of course: header('Proceed: '.__LINE__); $directory = new RecursiveDirectoryIterator('.'); $directory = new DirFilter($directory); file_put_contents(__DIR__.'/cleaner000.log', print_r($directory, true) . PHP_EOL, FILE_APPEND); Result: DirFilter Object ( ) PS: the $scan variable is also empty... Edited December 20, 2023 by El Capitan (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted December 20, 2023 Author Share Posted December 20, 2023 print_r() of Iterator object returns always an empty object. but you can print_r() on line 66 Link to comment Share on other sites More sharing options...
El Capitan Posted December 21, 2023 Share Posted December 21, 2023 18 hours ago, Eolia said: print_r() of Iterator object returns always an empty object. but you can print_r() on line 66 thx, the amount of files returned is the problem. I temporarily filtered out the img directory and all goes well.. Link to comment Share on other sites More sharing options...
Mathieu C. Posted December 21, 2023 Share Posted December 21, 2023 <IfModule mod_fcgid.c> MaxRequestLen 25728640 FcgidMaxRequestLen 25728640 IPCCommTimeout 600 FcgidIOTimeout 600 BusyTimeout 600 </IfModule> ne marche pas pour moi... Link to comment Share on other sites More sharing options...
Olivier33000 Posted December 21, 2023 Share Posted December 21, 2023 en excluant le dossier "img" ça tourne pour moi aussi. Link to comment Share on other sites More sharing options...
El Capitan Posted December 21, 2023 Share Posted December 21, 2023 20 minutes ago, Olivier33000 said: en excluant le dossier "img" ça tourne pour moi aussi. since the IMG directory can be infected as well, I will have to experiment with excluding 'img/p/1' 'img/p/2' etc... Link to comment Share on other sites More sharing options...
Mathieu C. Posted December 21, 2023 Share Posted December 21, 2023 maybe by limiting the depth of img directory ? Hacker are sometimes simple... Link to comment Share on other sites More sharing options...
Olivier33000 Posted December 22, 2023 Share Posted December 22, 2023 You also could run the script twice. Once excluding the images folder, another scanning it but excluding some large content folders already scanned. Link to comment Share on other sites More sharing options...
El Capitan Posted December 23, 2023 Share Posted December 23, 2023 Can somebody provide me with a list of OS/Browser combinations where the hack occurs? I'm ready to clean my server but I can't recreate the hack result which obviously needed to see if the cleaning was successful Link to comment Share on other sites More sharing options...
Eolia Posted December 23, 2023 Author Share Posted December 23, 2023 - Open your browser in a private window. (Incognito Mode) - Search for your site on a Google page. - Click on one of the results that brings to your site and simulate an order until payment. The hack is active only if your initial referer is a search engine. Link to comment Share on other sites More sharing options...
El Capitan Posted December 23, 2023 Share Posted December 23, 2023 2 minutes ago, Eolia said: - Open your browser in a private window. (Incognito Mode) - Search for your site on a Google page. - Click on one of the results that brings to your site and simulate an order until payment. The hack is active only if your initial referer is a search engine. very interesting, thx Link to comment Share on other sites More sharing options...
sylvainps Posted December 27, 2023 Share Posted December 27, 2023 @Eolia Merci pour l'aide apportée sur ce problème. La boutique de mon épouse est infectée par ce Virus et en essayant d'intégrer et lancer le script j'obtiens un message d'erreur suivant : Fatal error: Allowed memory size of 671088640 bytes exhausted (tried to allocate 81920 bytes) in /home/clients/c6447db457fc93183449e1ae28903457/web/classes/Configuration.php on line 164 Il y a t-il une solution pour débloquer cela ? Je suis peu à l'aise dans le domaine donc j'ai peux être fait une erreur quelque part ? Merci d'avance pour votre aide Link to comment Share on other sites More sharing options...
Eolia Posted December 27, 2023 Author Share Posted December 27, 2023 A priori vous avez plus que des répertoires Prestashop dans votre hébergement. Commencez par faire du rangement (mettre en dehors de ce répertoire tout ce qui n'est pas du Prestashop) et augmentez la mémoire si vous le pouvez. Link to comment Share on other sites More sharing options...
Scalino Posted December 29, 2023 Share Posted December 29, 2023 Bonjour à tous, bonjour Eolia Lorsque je lance cleaner.php, j'ai bien l'écran qui me dit que ma version doit être mise à jour et ensuite arrive Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request... Sur le FTP, le fichier a bien été renommé en une suite de lettre et chioffres. JE vois qu'il fait un premier nettoyage puisque la page de paiement, l'encart Stripe revient à la normale et les paiements sont possibles, mais je n'ai aucun diagnostic pour nettoyer ce qui est corrompu... Le "hack" revient régulièrement... SI je regarde les logs, ça me dit : [Tue Dec 26 09:35:30 2023] [error] [client 2a01:e0a:351:21e0:2c53:83cc:d61d:1e8b] [host mondomaine.com] AH10149: FastCGI: incomplete headers (0 bytes) received from server "/homez.4/myhostbz/www/mondossier/e4d31cfa4901.php", referer: https://mondomaine.com/cleaner.php [Tue Dec 26 09:35:30 2023] [error] [client 2a01:e0a:351:21e0:2c53:83cc:d61d:1e8b] [host mondomaine.com] AH10157: FastCGI: An error happened during Fastcgi processing, fallback to CGI, referer: https://mondomaine.com/cleaner.php [Tue Dec 26 09:35:31 2023] [error] [client 2a01:e0a:351:21e0:2c53:83cc:d61d:1e8b] [host mondomaine.com] End of script output before headers: e4d31cfa4901.php, referer: https://mondomaine.com/cleaner.php [Thu Dec 28 08:49:26 2023] [error] [client 92.136.78.112] [host mondomaine.com] (104)Connection reset by peer: AH10143: FastCGI: comm with server "/homez.4/myhostbz/www/mondossier/e4d31cfa4901.php" aborted: read failed, referer: https://mondomaine.com/cleaner.php [Thu Dec 28 08:49:26 2023] [error] [client 92.136.78.112] [host mondomaine.com] AH10149: FastCGI: incomplete headers (0 bytes) received from server "/homez.4/myhostbz/www/mondossier/e4d31cfa4901.php", referer: https://mondomaine.com/cleaner.php [Thu Dec 28 08:49:26 2023] [error] [client 92.136.78.112] [host mondomaine.com] AH10157: FastCGI: An error happened during Fastcgi processing, fallback to CGI, referer: https://mondomaine.com/cleaner.php Merci pour votre aide. Link to comment Share on other sites More sharing options...
Scalino Posted December 29, 2023 Share Posted December 29, 2023 Précisions : c'est sur une Prestashop 1.6.1.2 et un mutualisé OVH avec Php 5.6, boosté en perf 3 pour voir si c'était un problème de mémoire... Link to comment Share on other sites More sharing options...
Eolia Posted December 29, 2023 Author Share Posted December 29, 2023 Vous n'avez qu'un Prestashop dans votre hébergement et pas de répertoires rajoutés ? Link to comment Share on other sites More sharing options...
Scalino Posted December 29, 2023 Share Posted December 29, 2023 Dans le dossier où se trouve le site hacké, il n'y a qu'un seul Prestashop... Après en racine de l'hébergement il y a plusieurs sites, pas beaucoup sur cet hébergement mais quelques uns... Chaque site à un Prestashop dédié dans un dossier unique... Pas de multi boutique... Link to comment Share on other sites More sharing options...
Eolia Posted December 29, 2023 Author Share Posted December 29, 2023 Envoyez-moi un accès ftp en MP que je puisse debuguer Link to comment Share on other sites More sharing options...
Scalino Posted December 29, 2023 Share Posted December 29, 2023 Je peux vous envoyer ça via le mail d'eoliashop ? Merci beaucoup Link to comment Share on other sites More sharing options...
Eolia Posted December 29, 2023 Author Share Posted December 29, 2023 oui Link to comment Share on other sites More sharing options...
Scalino Posted December 29, 2023 Share Posted December 29, 2023 C'est fait... Link to comment Share on other sites More sharing options...
Scalino Posted December 29, 2023 Share Posted December 29, 2023 Eolia un grand merci ! Link to comment Share on other sites More sharing options...
Gilles6688 Posted December 30, 2023 Share Posted December 30, 2023 Un grand Merci Eolia pour ton travaille, je me suis fait Hacker mon site car je "redirige" et "heberge" quasiment 60000 pages d'un autre site. Comment fermer la porte de ses hackeurs? Rappel : je suis sous PS 1.6.1.24 je viens de supprimer mon Wordpress qui était hébergé sous le même mutualisé car je ne l'utilise pas, puis... je suis un peu perdu, merci de votre aide Link to comment Share on other sites More sharing options...
Eolia Posted December 30, 2023 Author Share Posted December 30, 2023 Il y a 2 heures, Gilles6688 a dit : Un grand Merci Eolia pour ton travaille, je me suis fait Hacker mon site car je "redirige" et "heberge" quasiment 60000 pages d'un autre site. Comment fermer la porte de ses hackeurs? Rappel : je suis sous PS 1.6.1.24 je viens de supprimer mon Wordpress qui était hébergé sous le même mutualisé car je ne l'utilise pas, puis... je suis un peu perdu, merci de votre aide Je vais me répéter^^ Citation 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. Citation Concernant le hack: - 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é. Vous pouvez aussi migrer sur PhenixSuite qui comporte nativement des protections Link to comment Share on other sites More sharing options...
Mathieu C. Posted January 5 Share Posted January 5 Hello, Pour info : le script 3.0.15 maintenant marche sur notre config.. Merci 🙂 Link to comment Share on other sites More sharing options...
creationata Posted January 11 Share Posted January 11 Bonjour, j'ai apparemment été infectée par ce même virus (depuis 5 jours, donc il faut aussi que je retrouve si j'ai des clients qui se sont fait arnaqué au passage...) , avec ce faux module paypal. J'ai lancé le script cleaner, avec ce résultat : MD5 INTEGRITY : Fichier php infecté. Contenu à restaurer impérativement => /tools/pear/PEAR.php Voir MD5 INTEGRITY : Fichier php infecté. Contenu à restaurer impérativement => /tools/profiling/Controller.php Voir MD5 INTEGRITY : Fichier php infecté. Contenu à restaurer impérativement => /tools/smarty/sysplugins/smarty_cacheresource.php Voir J'ai donc restauré les 3 fichiers (fichier d'archive du script). Et là plus rien, erreur 500 sur mon site. J'ai essayé de réinstallé les 3 fichiers (que j'avais téléchargé via mon ftp avant) , mais toujours plus rien et erreur 500. Quelqu'un peut-il m'aider, je suis désespérée (vu que c'est mon travail principal, je n'ai plus rien du tout....) Encore merci d'avance ! Marlène Link to comment Share on other sites More sharing options...
Eolia Posted January 11 Author Share Posted January 11 Activez le mode debug pour connaitre la nature de l'erreur 500 Link to comment Share on other sites More sharing options...
creationata Posted January 11 Share Posted January 11 J'ai cela Warning: include(/home/creationhg/www/tools/smarty/sysplugins/smarty_internal_validate.php): failed to open stream: No such file or directory in /home/creationhg/www/tools/smarty/Smarty.class.php on line 1680 Warning: include(/home/creationhg/www/tools/smarty/sysplugins/smarty_internal_validate.php): failed to open stream: No such file or directory in /home/creationhg/www/tools/smarty/Smarty.class.php on line 1680 Warning: include(): Failed opening '/home/creationhg/www/tools/smarty/sysplugins/smarty_internal_validate.php' for inclusion (include_path='/home/creationhg/www/tools/htmlpurifier/standalone:.:/usr/local/php7.0/lib/php') in /home/creationhg/www/tools/smarty/Smarty.class.php on line 1680 Fatal error: Uncaught Error: Class 'Smarty_Internal_Validate' not found in /home/creationhg/www/tools/smarty/sysplugins/smarty_internal_data.php:55 Stack trace: #0 /home/creationhg/www/classes/controller/AdminController.php(539): Smarty_Internal_Data->assign(Array) #1 /home/creationhg/www/controllers/admin/AdminDashboardController.php(34): AdminControllerCore->__construct() #2 /home/creationhg/www/classes/controller/Controller.php(134): AdminDashboardControllerCore->__construct(false, false) #3 /home/creationhg/www/classes/Dispatcher.php(359): ControllerCore::getController('AdminDashboardC...') #4 /home/creationhg/www/admin1806/index.php(58): DispatcherCore->dispatch() #5 {main} thrown in /home/creationhg/www/tools/smarty/sysplugins/smarty_internal_data.php on line 55 (avec du coup mes anciens fichiers remis) Link to comment Share on other sites More sharing options...
Eolia Posted January 11 Author Share Posted January 11 Ben il vous manque la classe Smarty. Depuis l'archive de votre version, renvoyez tous les répertoires système: Link to comment Share on other sites More sharing options...
creationata Posted January 11 Share Posted January 11 Je n'en ai que 4 sur les 7. Donc je réécrase ces 4 là avec la version d'origine (prestashop_1.6.1.20) ? (j'ai encore peur de faire une bêtise....) Link to comment Share on other sites More sharing options...
Eolia Posted January 11 Author Share Posted January 11 Alors pour la 1.6.1.20: et relancez le script ensuite Link to comment Share on other sites More sharing options...
creationata Posted January 11 Share Posted January 11 Alors maintenant il me reste cette ligne ci en rouge (fichier index à contrôler ?) mais toujours la même erreur 500 en revanche Link to comment Share on other sites More sharing options...
Eolia Posted January 11 Author Share Posted January 11 Il vous en manque, il n'y a pas que les rouges^^ Envoyez-moi un accès ftp par Message Privé, je vais vous remettre ça en place Link to comment Share on other sites More sharing options...
creationata Posted January 11 Share Posted January 11 Super, je fais ça oui, encore merci ! Je vais aller m'occuper de mes fils et je reviens ensuite Link to comment Share on other sites More sharing options...
Artisan Webmaster Posted January 19 Share Posted January 19 Et bien, je suis tombé sur ce fil de discussion suite à un problème de connexion au back-office. C'était effectivement un hack. Le script m'a bien aidé, la page de paiement/commande a été modifiée également. Mais j'ai eu un autre problème. Je ne sais pas s'il est lié au hack, mais la recherche de produit ne trouvait plus aucun produit en front, bien que les produits étaient indexés en back-office ! Quand je réindexais, pas d'erreur, mais malgré tout, aucun produit trouvé en front. Finalement, je passe le site dans un environnement de développement et lors de l'indexation, je tombe sur "Failed to read auto-increment value from storage engine" pour la table "ps_search_word". Je vois des ID à 10 chiffres... Un coup de SELECT MAX(`id_word`) FROM `ps_search_word`; Résultat : 4283460451 Je dépasse la limite. J'ai donc réinitialisé l'auto-incrémentation à 1 et ça fonctionne de nouveau. C'est une boutique d'environ 1700 produits. C'est la première fois que je vois ce genre de problème. PS : Le script chez moi fait une mise à jour puis erreur 500 [message] => Uncaught Error: Call to undefined function p() in ***.php:825 Effectivement ligne 825 y'a une fonction "p($content);" introuvable, j'ai simplement effacé et ça fonctionne. Link to comment Share on other sites More sharing options...
Eolia Posted January 19 Author Share Posted January 19 (edited) effectivement la fonction p() n'existe plus en 1.7. la ligne sera supprimée dans la prochaine version. Et normalement lors d'une réindexation complète il y a un TRUNCATE qui réinitialise l'autoincrément. Vérifiez aussi que c'est un int(11) et pas 10 pour la primary Edited January 19 by Eolia (see edit history) Link to comment Share on other sites More sharing options...
bobby4722 Posted January 30 Share Posted January 30 (edited) Hello @Eolia, J'ai voulu faire un test et voir si la dernière version était ok sur mon navigateur avec mon url et j'ai ce message : Error 503 Backend fetch failed Backend fetch failed Guru Meditation: XID: 896386161 Varnish cache server En revanche j'ai bien reçu l'e-mail. J'ai rechargé la dernière archive (au cas où) mais cela ne change pas le message sur mon navigateur. Est-ce que c'est normal ? Merci d'avance. Edited January 30 by bobby4722 (see edit history) Link to comment Share on other sites More sharing options...
arnaudbh Posted January 30 Share Posted January 30 Tu dois être chez OVH, tu dois retirer l'ensemble de ton CDN sur le backoffice ovh. De toutes façons le CDN OVH il est mauvais. Car cela va créer un conflit. Tu dois aussi vider le cache de de ton navigateur et même de prestashop et tu vas voir si tout fonctionne ou une erreur. 1 Link to comment Share on other sites More sharing options...
Eolia Posted January 30 Author Share Posted January 30 Sachant que quand on vire le CDN la migration des IP n'est pas immédiate, donc à faire plutôt de nuit. 1 Link to comment Share on other sites More sharing options...
bobby4722 Posted January 31 Share Posted January 31 13 hours ago, arnaudbh said: Tu dois être chez OVH, tu dois retirer l'ensemble de ton CDN sur le backoffice ovh. De toutes façons le CDN OVH il est mauvais. Car cela va créer un conflit. Tu dois aussi vider le cache de de ton navigateur et même de prestashop et tu vas voir si tout fonctionne ou une erreur. Bonjour, Merci ! J'ai bien fermé tous les services CDN de chez OVH et je n'ai eu qu'une erreur 500 et ensuite cela à fonctionné. Je pense que le service est devenu de pire en pire depuis 3 semaines pour moi (coupures). Ils me proposent "Ip du pays" pour le moment c'est inactif, est-ce que cela à un intérêt ou cela peut être source de soucis également ? En revanche j'ai reçu des e-mail d'OVH avec des IPv4 et IPv6 que j'ai changé chez mon registrar SAUF QUE l'IPv4 est différente du mail au regard de celui de leur interface, mais l'IPv6 est la même (je l'ai ajouté car je ne l'avais enregistré). Impossible de savoir quelle est la bonne IPv4 et impossible de trouver comment créer un ticket chez eux, je suis donc confus 😕@Eolia J'ai suivi tes conseils, merci et j'ai fait ça de nuit et cela n'a du prendre qu'une petite heure. J'espère que cela va régler certains des soucis rencontrés car j'avais peur de le faire depuis que tu m'en avais parlé (la dernière coupure de 24h m'avais calmé). Bonne matinée Link to comment Share on other sites More sharing options...
Mathieu C. Posted January 31 Share Posted January 31 (edited) Un très bon CDN :https://www.cloudflare.com/fr-fr/ Edited January 31 by Mathieu C. (see edit history) Link to comment Share on other sites More sharing options...
william80 Posted January 31 Share Posted January 31 Bonjour a tous , je viens de mettre en place dans la racine e je reçois ceci comme reponse. (La directive allow_url_fopen est désactivée sur votre serveur. Veuillez l'activer pour pouvoir utiliser ce script.) , mais il est deja active . Une idee s"il vous plait. Grand merci a tous . https://electrika-shop-portugal.com/cleaner.php Link to comment Share on other sites More sharing options...
Eolia Posted January 31 Author Share Posted January 31 Ce message d'erreur arrive si votre serveur ne donne pas l'information: if(ini_get('allow_url_fopen')) { Donc ça ne doit pas être activé ou vous avez une configuration exotique^^ Link to comment Share on other sites More sharing options...
william80 Posted January 31 Share Posted January 31 Eolia , agradeço a reactivite de reponse. Link to comment Share on other sites More sharing options...
william80 Posted January 31 Share Posted January 31 Sorry, je suis en 1.7.2 e dans mon server J"ai 2 sites , peut etre une piste. Link to comment Share on other sites More sharing options...
Eolia Posted January 31 Author Share Posted January 31 supprimez la ligne de contrôle dans cleaner et essayez. remplacez if(ini_get('allow_url_fopen')) { if (!preg_match("/modules/i", $root_path) && file_exists('init.php')) { $fgc = file_get_contents('https://devcustom.net/public/cleaner.txt', false, stream_context_create($arrContextOptions)); if ($fgc && preg_match("/class_index\.php/", $fgc)) { if(!file_put_contents($latest_filename, $fgc . PHP_EOL . '/* Version téléchargée depuis devcustom.net - ' . date("Y-m-d H:i:s") . '*/')) die('<span style="color:red">Impossible de mettre à jour le fichier. Permissions en écriture insuffisantes</span></pre></body></html>'); else { if($current_script == 'cleaner.php') file_put_contents('cleaner.php', $fgc); } if (file_exists($latest_filename)) { header('Refresh: 1; url='.$new_url); echo $html; echo '<span style="color:red">Votre version doit être mise à jour. Téléchargement de la dernière version et exécution...</span></pre>'; sleep(2); $updating = true; } } } else die('<pre><span style="color:red">Ce script doit être placé à la racine de votre site (là où est installé votre Prestahop sur votre ftp) et nulle part ailleurs</span></pre></body></html>'); } else { die('<pre><span style="color:red">La directive allow_url_fopen est désactivée sur votre serveur. Veuillez l\'activer pour pouvoir utiliser ce script.</span></pre></body></html>'); } Par if (!preg_match("/modules/i", $root_path) && file_exists('init.php')) { $fgc = file_get_contents('https://devcustom.net/public/cleaner.txt', false, stream_context_create($arrContextOptions)); if ($fgc && preg_match("/class_index\.php/", $fgc)) { if(!file_put_contents($latest_filename, $fgc . PHP_EOL . '/* Version téléchargée depuis devcustom.net - ' . date("Y-m-d H:i:s") . '*/')) die('<span style="color:red">Impossible de mettre à jour le fichier. Permissions en écriture insuffisantes</span></pre></body></html>'); else { if($current_script == 'cleaner.php') file_put_contents('cleaner.php', $fgc); } if (file_exists($latest_filename)) { header('Refresh: 1; url='.$new_url); echo $html; echo '<span style="color:red">Votre version doit être mise à jour. Téléchargement de la dernière version et exécution...</span></pre>'; sleep(2); $updating = true; } } } else die('<pre><span style="color:red">Ce script doit être placé à la racine de votre site (là où est installé votre Prestahop sur votre ftp) et nulle part ailleurs</span></pre></body></html>'); 1 Link to comment Share on other sites More sharing options...
pfrade Posted January 31 Share Posted January 31 (edited) Hello @Eolia, I'm having some issues running the script. Warning: file_get_contents(): SSL: Handshake timed out in /var/www/vhosts/website.com/httpsdocs/cleaner.php on line 91 Warning: file_get_contents(): Failed to enable crypto in /var/www/vhosts/website.com/httpsdocs/cleaner.php on line 91 Warning: file_get_contents(https://devcustom.net/public/cleaner.txt): failed to open stream: operation failed in /var/www/vhosts/website.com/httpsdocs/cleaner.php on line 91 Would you be able to help? Seems that the URL containing the textfile is also down? Running on Plesk Edited January 31 by pfrade Added aditional information. (see edit history) Link to comment Share on other sites More sharing options...
Grafics Posted January 31 Share Posted January 31 5 hours ago, Eolia said: supprimez la ligne de contrôle dans cleaner et essayez. remplacez if(ini_get('allow_url_fopen')) { if (!preg_match("/modules/i", $root_path) && file_exists('init.php')) { $fgc = file_get_contents('https://devcustom.net/public/cleaner.txt', false, stream_context_create($arrContextOptions)); if ($fgc && preg_match("/class_index\.php/", $fgc)) { if(!file_put_contents($latest_filename, $fgc . PHP_EOL . '/* Version téléchargée depuis devcustom.net - ' . date("Y-m-d H:i:s") . '*/')) die('<span style="color:red">Impossible de mettre à jour le fichier. Permissions en écriture insuffisantes</span></pre></body></html>'); else { if($current_script == 'cleaner.php') file_put_contents('cleaner.php', $fgc); } if (file_exists($latest_filename)) { header('Refresh: 1; url='.$new_url); echo $html; echo '<span style="color:red">Votre version doit être mise à jour. Téléchargement de la dernière version et exécution...</span></pre>'; sleep(2); $updating = true; } } } else die('<pre><span style="color:red">Ce script doit être placé à la racine de votre site (là où est installé votre Prestahop sur votre ftp) et nulle part ailleurs</span></pre></body></html>'); } else { die('<pre><span style="color:red">La directive allow_url_fopen est désactivée sur votre serveur. Veuillez l\'activer pour pouvoir utiliser ce script.</span></pre></body></html>'); } Par if (!preg_match("/modules/i", $root_path) && file_exists('init.php')) { $fgc = file_get_contents('https://devcustom.net/public/cleaner.txt', false, stream_context_create($arrContextOptions)); if ($fgc && preg_match("/class_index\.php/", $fgc)) { if(!file_put_contents($latest_filename, $fgc . PHP_EOL . '/* Version téléchargée depuis devcustom.net - ' . date("Y-m-d H:i:s") . '*/')) die('<span style="color:red">Impossible de mettre à jour le fichier. Permissions en écriture insuffisantes</span></pre></body></html>'); else { if($current_script == 'cleaner.php') file_put_contents('cleaner.php', $fgc); } if (file_exists($latest_filename)) { header('Refresh: 1; url='.$new_url); echo $html; echo '<span style="color:red">Votre version doit être mise à jour. Téléchargement de la dernière version et exécution...</span></pre>'; sleep(2); $updating = true; } } } else die('<pre><span style="color:red">Ce script doit être placé à la racine de votre site (là où est installé votre Prestahop sur votre ftp) et nulle part ailleurs</span></pre></body></html>'); Bonsoir, Je n'ai pas d'accès à https://devcustom.net/public/cleaner.txt ou https://devcustom.net/public/cleaner.zip ce qui fait planter le fichier. C'est une panne passagère ou ça vient de "chez moi" ? Merci Link to comment Share on other sites More sharing options...
Eolia Posted January 31 Author Share Posted January 31 Passager parce que certains abusent de l'usage de cleaner (toutes les minutes...) 1 Link to comment Share on other sites More sharing options...
Grafics Posted January 31 Share Posted January 31 2 minutes ago, Eolia said: Passager parce que certains abusent de l'usage de cleaner (toutes les minutes...) OK, merci. Link to comment Share on other sites More sharing options...
Manolito Posted February 8 Share Posted February 8 Bonjour Tout d'abord merci @Eolia pour le taf effectué. J'ai un site qui est également vérolé (presta 1.7.5.2). J'ai tenté de lancer le cleaner.php mais tout comme @Scalino, il fait la mise à jour du script (avec modification du nom du fichier) puis erreur 500 Dans les logs j'ai la même chose que Scalino à savoir : [Tue Feb 06 09:14:22 2024] [error] [client 2.9.97.221] [host xxx.fr] AH10141: FastCGI: comm with server "/homez.269/lornithowj/www/cleaner.php" aborted: idle timeout (160 sec) [Tue Feb 06 09:14:22 2024] [error] [client 2.9.97.221] [host lxxx.fr] AH10149: FastCGI: incomplete headers (0 bytes) received from server "/homez.269/lornithowj/www/cleaner.php" Je l'ai tenté à plusieurs reprises, c'est allé un peu plus loin une fois puisque j'ai un dossier zip qui s'est créé (du type suspicious_nom_nouveau_script.zip) avec quelques dossiers du site à l'intérieur, puis erreur 500. Pour répondre à la question que tu avais posée à Scalino, je n'ai pas d'autres sites sur le serveur. Le seul souci, c'est une boutique de 60000 produits avec 60go occupés (nombre d'images très important) et un hébergement mutu sur OVH qui limite peut être l'exécution (max_execution_time à 165) mais je ne sais pas si ça a un lien. Merci d'avance Link to comment Share on other sites More sharing options...
junny Posted February 13 Share Posted February 13 Bonjour Je voudrais dans un premier temps remercier Eolia pour son travail. Suite un hacking sur mon site prestashop avec une demande de carte bleu a la fin de mon One-Page-checkout au lieu d'une demande de devis, j'ai fait un nettoyage nécessaire et fait une mis à jour avec la suite phenix de Eolia. Depuis ce nettoyage, ma page OPC ne marche plus ( j'ai juste un resumé de la commande sous forme HTML. donc pas de menu, pas de tableau rien... que du texte et quelques liens vers les produits du panier ) mais ma page en 5 étape marche correctement. Je voudrais savoir si quelqu'un peut me donner le nom des fichiers d'origine pour la page OPC que je puisse retrouver les originaux Merci d'avance Link to comment Share on other sites More sharing options...
Eolia Posted February 14 Author Share Posted February 14 A priori souci js/css Url de votre site ? Link to comment Share on other sites More sharing options...
Manolito Posted February 14 Share Posted February 14 On 2/8/2024 at 4:09 PM, Manolito said: Bonjour Tout d'abord merci @Eolia pour le taf effectué. J'ai un site qui est également vérolé (presta 1.7.5.2). J'ai tenté de lancer le cleaner.php mais tout comme @Scalino, il fait la mise à jour du script (avec modification du nom du fichier) puis erreur 500 Dans les logs j'ai la même chose que Scalino à savoir : [Tue Feb 06 09:14:22 2024] [error] [client 2.9.97.221] [host xxx.fr] AH10141: FastCGI: comm with server "/homez.269/lornithowj/www/cleaner.php" aborted: idle timeout (160 sec) [Tue Feb 06 09:14:22 2024] [error] [client 2.9.97.221] [host lxxx.fr] AH10149: FastCGI: incomplete headers (0 bytes) received from server "/homez.269/lornithowj/www/cleaner.php" Je l'ai tenté à plusieurs reprises, c'est allé un peu plus loin une fois puisque j'ai un dossier zip qui s'est créé (du type suspicious_nom_nouveau_script.zip) avec quelques dossiers du site à l'intérieur, puis erreur 500. Pour répondre à la question que tu avais posée à Scalino, je n'ai pas d'autres sites sur le serveur. Le seul souci, c'est une boutique de 60000 produits avec 60go occupés (nombre d'images très important) et un hébergement mutu sur OVH qui limite peut être l'exécution (max_execution_time à 165) mais je ne sais pas si ça a un lien. Merci d'avance Bonjour Je me permets un petit up sur mon message Merci par avance Link to comment Share on other sites More sharing options...
Eolia Posted February 14 Author Share Posted February 14 Je vois mais je ne peux pas faire grand chose de plus. Le répertoire /img/p est déjà exclu de la recherche donc ce n'est pas le pb. Ca peut venir du nombre total de fichiers à scanner (la 1.7 en a 10 fois plus que les 1.6) et du nombre de modules (sachant que la mode est à y ajouter les fichiers Symfony à chaque fois et pour chaque module). Et pour finir, OVH en mutu... c'est un peu la cata en fait au niveau hébergement Presta avec leurs limitations partout. Link to comment Share on other sites More sharing options...
Manolito Posted February 14 Share Posted February 14 OK 😕 Merci pour ton retour en tout cas ! Link to comment Share on other sites More sharing options...
Manolito Posted February 14 Share Posted February 14 Du coup, j'ai relancé le script en essayant d'override les limites imposées sur les mutu OVH (pas sur que ça ait fonctionné) mais j'ai eu cette erreur dans le fichier de log du script (cleaner500.php / script v3.1.5) : [type] => 1 [message] => Uncaught Error: Class 'DirFilter' not found in /home/lornithowj/www/764b06b501d5.php:71 Stack trace: #0 {main} thrown [file] => /home/lornithowj/www/764b06b501d5.php [line] => 71 En attendant, j'ai lancé le script en ligne de commande, il tourne et je n'ai pas de retour pour l'instant (peut être que ça a planté, peut être que ça continue de tourner). Link to comment Share on other sites More sharing options...
Eolia Posted February 14 Author Share Posted February 14 La classe DirFilter est en bas du script... class DirFilter extends RecursiveFilterIterator { public function accept() { $excludes = array('cache', 'log', 'stats', 'error', 'upload', 'download', 'themes', 'import', 'export', 'ps_checkout','psaddonsconnect', 'bin', 'var', 'vendor', 'p'); return !(!$this->isDot() && $this->isDir() && in_array($this->getFilename(), $excludes)); } } Link to comment Share on other sites More sharing options...
Manolito Posted February 15 Share Posted February 15 Je comprends bien d'autant plus que j'avais vu la classe tout en bas du script mais c'est ce qu'indique le fichier cleaner500.log. C'est pour ça que je ne comprends pas trop le rapport d'erreur généré par le script. Link to comment Share on other sites More sharing options...
los Posted February 20 Share Posted February 20 Bonjour, Juste un petit message pour vous informer que le script a supprimé ces fichiers JS sur un PrestaShop en version 1.7.7.4 prestashop_1.7.7.4/js/jquery/plugins/imgareaselect: jquery.imgareaselect.js prestashop_1.7.7.4/js/jquery/plugins: jquery.ifxtransfer.js prestashop_1.7.7.4/js/jquery/plugins: jquery.jqminmax.js prestashop_1.7.7.4/js/jquery/plugins: jquery.pngFix.js Si besoin je peux vous transférer le mail contenant le rapport complet. J'espère que cela pourra vous aider. Cordialement Los Link to comment Share on other sites More sharing options...
Eolia Posted February 25 Author Share Posted February 25 Kennisgeving aan iedereen: dit script waarvan ik de auteur ben, is een GRATIS hulpmiddel en mag in geen geval door bepaalde instanties worden gebruikt om te profiteren van het in rekening brengen van een dienst. Laat u niet misleiden door dit soort voorstellen! 1 1 Link to comment Share on other sites More sharing options...
magicbel Posted March 4 Share Posted March 4 Le 08/02/2024 à 4:09 PM, Manolito a dit : 60000 produits / Mutu OVH Faut être sacrément motivé pour continuer à utiliser un mutu OVH avec une telle quantité de données Link to comment Share on other sites More sharing options...
skur2000 Posted March 22 Share Posted March 22 hi friends. can help me, old prestashop 1.6 version with 3.2.1 cleaner have 500 internal server error. i use old version cleaner script, this update after run, and i see change name this script and next - internal server error after seconds run script work. logs clear. before cleaner started and work very fine, may be after script update this 500 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Link to comment Share on other sites More sharing options...
Bertrand57 Posted April 2 Share Posted April 2 Bonjour, Est-ce que c'est normal que la version 3.3.4 supprime tous les fichiers qui se terminent par "z.php" comme par exemple admin/filemanager/lang/az.php ? Merci Link to comment Share on other sites More sharing options...
Eolia Posted April 2 Author Share Posted April 2 oui mais ça a été corrigé. Link to comment Share on other sites More sharing options...
Essemme_Forniture Posted May 4 Share Posted May 4 Hello to everybody, i got hacked, i tried the cleaner, but i get white page, so i put the debug mode and this is what i see what can i do? Link to comment Share on other sites More sharing options...
Essemme_Forniture Posted May 4 Share Posted May 4 it was a problem of permission of that folder Link to comment Share on other sites More sharing options...
Eolia Posted May 4 Author Share Posted May 4 Directories should have permission to 755 and files to 644. It is possible that the hacker modified the permissions. Fix them in ftp 1 Link to comment Share on other sites More sharing options...
Essemme_Forniture Posted May 5 Share Posted May 5 12 hours ago, Eolia said: Directories should have permission to 755 and files to 644. It is possible that the hacker modified the permissions. Fix them in ftp Yeah, the hacker is playing very hard with me, yesterday i think he got that i discover him and he put my website offline.luckily I had made a copy and restored it, but I don't have the knowledge to block him. it will be a very dark time Link to comment Share on other sites More sharing options...
Essemme_Forniture Posted May 5 Share Posted May 5 Eolia, may i put 755 to all this pictures? Link to comment Share on other sites More sharing options...
Eolia Posted May 5 Author Share Posted May 5 picture = file = 644 Link to comment Share on other sites More sharing options...
Essemme_Forniture Posted May 5 Share Posted May 5 so it's ok, they are all 644 i can't understand what's wrong 🥲 Link to comment Share on other sites More sharing options...
Eolia Posted May 5 Author Share Posted May 5 There is nothing wrong but they are images in a /js directory so check if they are not original images. Link to comment Share on other sites More sharing options...
Essemme_Forniture Posted May 5 Share Posted May 5 i replaced all the images, cause i didn't know if they are original, but i'm covered of red things, i'm not able to understand all this stuff 🥲 Link to comment Share on other sites More sharing options...
junny Posted May 17 Share Posted May 17 On 2/14/2024 at 11:25 AM, Eolia said: A priori souci js/css Url de votre site ? Bonjour Est ce que je peux vous envoyé ca par MP ? Avez vous besoin d'un login test aussi ? Pour le moment mon OPC est déactivé et j'ai mis en mode classique. Mais mes clients préférent le OPC. Donc j'aimerai bien trouvé ou est le probléme avec mon CSS ou JS Merci de votre retour. Link to comment Share on other sites More sharing options...
Gilles6688 Posted June 18 Share Posted June 18 Bonjour à tous, Acruellement sous PS 1.6.1.4 j'ai cette erreur ce matin : "Fichier php inexistant dans la version d'origine qui contient des fonctions permettant une injection ($_GET) => /translations/de/admin.php", est-ce normal ou non? Merci Link to comment Share on other sites More sharing options...
Eolia Posted June 18 Author Share Posted June 18 Oui mais c'est un faux positif corrigé dans la dernière version. Link to comment Share on other sites More sharing options...
Gilles6688 Posted June 18 Share Posted June 18 Merci Eolia Link to comment Share on other sites More sharing options...
Phanie Posted June 26 Share Posted June 26 @Eolia Mon breton préféré, vient de me sauver la vie, après ce hack que j'ai chopé je ne sais pas quand sur un site client. Merci infiniment pour ton dévouement sur ce forum, que je suis depuis plusieurs années, mais jamais pour des causes aussi graves. Après avoir eu chaud aux fesses, je vais reprendre tout ça en main, mises à jour etc... Encore un grand merci à toi 1 Link to comment Share on other sites More sharing options...
Phanie Posted July 3 Share Posted July 3 On 6/26/2024 at 10:13 AM, Phanie said: @Eolia Mon breton préféré, vient de me sauver la vie, après ce hack que j'ai chopé je ne sais pas quand sur un site client. Merci infiniment pour ton dévouement sur ce forum, que je suis depuis plusieurs années, mais jamais pour des causes aussi graves. Après avoir eu chaud aux fesses, je vais reprendre tout ça en main, mises à jour etc... Encore un grand merci à toi Y a t'il une possibilité de visualiser la date à laquelle les fichiers ont été injectés ? Après le lancement, ils ont les dates à la date du lancement du script bien sûr. Pour savoir à partir de quelle commande, je dois prévenir les clients impactés. Merci. Link to comment Share on other sites More sharing options...
P i l o u Posted July 4 Share Posted July 4 (edited) Bonjour Eolia, En voulant accéder à la page Paramètres avancés .. Performances, la page s'affiche pendant une seconde puis une page blanche s'ouvre https://intznak.site/goroskop/xrumer/1/ Je lance le script et apparaît en rouge les lignes: Injection possible, fichier à contrôler (atob() => /themes/universal/js/autoload/custom.js Fichier php suspect interdit dans ce répertoire => /themes/universal/mails/fr/lang.php Fichier themes/universal/mails/fr/lang.php indésirable supprimé Fichier ./themes/universal/mails/fr/lang.php.old indésirable supprimé Fichier php suspect interdit dans ce répertoire => /themes/universal/lang/en.php Fichier themes/universal/lang/en.php indésirable supprimé Fichier php suspect interdit dans ce répertoire => /themes/universal/lang/fr.php Fichier themes/universal/lang/fr.php indésirable supprimé Fichier php suspect interdit dans ce répertoire => /themes/default-bootstrap/lang/fr.php Fichier themes/default-bootstrap/lang/fr.php indésirable supprimé Le script ne m'avait jamais signalé que les fichiers langue étaient suspects, c'est bien la première fois. Même après le passage du script, plus d'accès à la page Paramètres avancés .. Performances J'ai mis à jour Phenix à la v28 hier comme tu l'avais suggéré le 30 juin dernier Que faire svp ? custom.js Edited July 4 by P i l o u (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted July 4 Author Share Posted July 4 sur quel site svp ? Link to comment Share on other sites More sharing options...
P i l o u Posted July 4 Share Posted July 4 (edited) Le site de prod Là, j'ai vidé manuellement le cache smarty et la page est de nouveau accessible Edited July 4 by P i l o u (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted July 4 Author Share Posted July 4 Restaurez les fichiers lang du thème qui sont dans l'archive. Link to comment Share on other sites More sharing options...
P i l o u Posted July 4 Share Posted July 4 Quelle archive svp ? Celle envoyée avec le cleaner.php ? Cette fois, je n'ai rien reçu avec le mail.. Mais j'ai bien ces fichiers dans un backup. Merci !! Link to comment Share on other sites More sharing options...
Eolia Posted July 4 Author Share Posted July 4 Normalement l'archive est à la racine du ftp. Répertoires mails/ et lang/ Link to comment Share on other sites More sharing options...
P i l o u Posted July 4 Share Posted July 4 Oui, j'ai vu, merci. J'ai restauré les fichiers. Une idée de ce qui s'est passé avec cette adresse bizarre svp ? https://intznak.site/goroskop/xrumer/1/ Link to comment Share on other sites More sharing options...
Eolia Posted July 4 Author Share Posted July 4 Je doute que cela vienne de votre site, je vous conseille de scanner votre PC/navigateur avec un antivirus. Link to comment Share on other sites More sharing options...
P i l o u Posted July 4 Share Posted July 4 Eset Security protège mes pc depuis plusieurs années et le scan n'a rien donné, mais merci quand même ! Link to comment Share on other sites More sharing options...
Bertrand57 Posted July 4 Share Posted July 4 Bonjour, Ce matin, le script m'a trouvé ça : Fichier php suspect interdit dans ce répertoire => /themes/default-bootstrap/mails/en/lang.php Fichier themes/default-bootstrap/mails/en/lang.php indésirable supprimé Fichier php suspect interdit dans ce répertoire => /themes/default-bootstrap/mails/fr/lang.php Fichier themes/default-bootstrap/mails/fr/lang.php indésirable supprimé Fichier php suspect interdit dans ce répertoire => /themes/default-bootstrap/lang/fr.php Fichier themes/default-bootstrap/lang/fr.php indésirable supprimé Si je me connecte comme client à mon site, toute la partie mon-compte est en anglais. Idem pour le processus de commande qui est en anglais maintenant. Et le script ne m'a pas généré d'archive zip avec ces fichiers. Link to comment Share on other sites More sharing options...
Eolia Posted July 4 Author Share Posted July 4 Effectivement, la dernière mise à jour de cleaner a été un peu violente^^ Vous n'avez pas de sauvegarde de votre thème quelque part ? Link to comment Share on other sites More sharing options...
Bertrand57 Posted July 4 Share Posted July 4 J'ai pu restaurer les fichiers concernés à partir d'une sauvegarde. Est-ce que le script a été mis à jour pour que les mêmes fichiers ne sautent pas la prochaine fois ? Merci Link to comment Share on other sites More sharing options...
Eolia Posted July 4 Author Share Posted July 4 Oui, une exception a été ajoutée pour les répertoires lang/ et mails/ Link to comment Share on other sites More sharing options...
Mathieu C. Posted July 5 Share Posted July 5 (edited) Bonjour, Un autre faux positif pour ma part :Fichier php suspect interdit dans ce répertoire => /themes/leo_cool_stuff/info/info.php Fichier themes/leo_cool_stuff/info/info.php indésirable supprimé Prestas 1.6.1.24 Edited July 5 by Mathieu C. (see edit history) Link to comment Share on other sites More sharing options...
Mathieu C. Posted July 5 Share Posted July 5 (edited) Mémoire OK (512M). Vous avez la dernière version à jour du script -> Démarrage...Contrôle des images pouvant contenir un script: Aucun fichier image suspect detecté Au vu des limitations de votre serveur l'analyse des images produits n'a pas été effectuée. Quelles limitations ? Edited July 5 by Mathieu C. (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted July 5 Author Share Posted July 5 Il y a 2 heures, Mathieu C. a dit : Bonjour, Un autre faux positif pour ma part :Fichier php suspect interdit dans ce répertoire => /themes/leo_cool_stuff/info/info.php Fichier themes/leo_cool_stuff/info/info.php indésirable supprimé Prestas 1.6.1.24 Il y avait quoi dans ce fichier ? En dehors des langues il ne doit y avoir aucun php dans un thème. Link to comment Share on other sites More sharing options...
Eolia Posted July 5 Author Share Posted July 5 Il y a 2 heures, Mathieu C. a dit : Quelles limitations ? Le max_execution_time à 30 secondes. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now