Attaque générale de création de comptes clients en cours

Si vous ne l'avez pas encore expérimenté, sachez que depuis la fin de la semaine dernière, une "attaque" est opérée sur les installations de PrestaShop sous la forme de création de comptes fictifs et donc pollueurs.

Ne me demandez pas pourquoi certains s'amusent à créer ce type d'attaque inutile, mais à part vous embêter cela n'a pas trop de risque, il semble que cela soit un script qui cherche les installations de PrestaShop dans le monde et s'amuse à créer des comptes clients.

La Solution

Comme souvent, lorsque PrestaShop rencontre un soucis et qu'il y a une urgence à intervenir, la commaunauté répond présente et plus particulièrement Eolia et Doekia.

Lisez le Topic du forum abordant le problème et apportant un solution : Topic.

Mise en oeuvre

Deux techniques sont à votre disposition pour mettre en oeuvre cette correction si votre boutique est touchée par cette attaque.

Dans le code

Modifiez les fichier /classes/Validate.php en y ajoutant ce code

public static function isCustomerName($name) { if (preg_match(Tools::cleanNonUnicodeSupport('/www|http/ui'), $name)) { return false; } return preg_match(Tools::cleanNonUnicodeSupport('/^[^0-9!\[\]<>,;?=+()@#"°{}_$%:\/\\\*\^]*$/u'), $name); }

Puis dans le fichier /classes/Customer.php remplacez

'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32), 'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),

par

'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32), 'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),

Par Override

Un override est une surcharge de la classe originelle par un bout de code modifiant le fonctionnement de la classe de base. Cela évite de devoir réécrire les corrections apportées à votre version de PrestaShop si vous la mettez à jour et surtout cela permet à quelqu'un d'extérieur de connaître ces modifications très rapidement.

Eolia propose les deux fichiers Validate.php et Customer.php à enregistrer dans le répertoire override de votre installation PrestaShop.

Conclusion

Quelque soit votre solution, il se peut que vous ne constatiez pas d'amélioration dans le comportement de votre boutique, c'est juste qu'il vous faudra effacer le fichier /cache/classe_index.php

Si vous n'arrivez pas à mettre en oeuvre cette solution ou si vous avez peur de la mettre en place sur votre boutique PrestaShop, je peux m'en charger, il vous suffit de commander 1 ticket d'intervention et de préparer un accès FTP à votre site que je vous demanderez après la commande.

Commander la mise en place

Mise à jour 03/05/2019 :

PrestaShop porpose d'intégrer ce patch dans la nouvelle version 1.6.1.24 disponible ce jour en téléchargement ainsi que la version 1.7.5.2 aussi disponible.

Discussions