Jump to content

Hack Prestashop sur la page de paiement - nettoyage


Eolia

Recommended Posts

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

10 minutes ago, Eolia said:

$directory is defined at line 61 and overridden at line 62

image.png.4ece45dd41d927c6e6b0d32b8a034bef.png

 

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 by El Capitan (see edit history)
Link to comment
Share on other sites

- 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

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

@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

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

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

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

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

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

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

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

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 by Eolia (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

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 by bobby4722 (see edit history)
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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

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

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>');

 

  • Thanks 1
Link to comment
Share on other sites

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 by pfrade
Added aditional information. (see edit history)
Link to comment
Share on other sites

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

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

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

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

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

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

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

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

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

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!

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

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

  • 2 weeks later...
  • 1 month later...
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

  • 2 weeks later...
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

  • 1 month later...

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

image.thumb.png.e49d0d4e3615e95d0254a751af3db537.png

Link to comment
Share on other sites

@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

  • Like 1
Link to comment
Share on other sites

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

Posted (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 by P i l o u (see edit history)
Link to comment
Share on other sites

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

Posted (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 by Mathieu C. (see edit history)
Link to comment
Share on other sites

Posted (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 ?

shot.png

shot.png

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

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

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...