Vulnérabilité de sécurité PrestaShop

Vulnérabilité de sécurité PrestaShop

Les attaquants ont trouvé une vulnérabilité de sécurité Prestashop pour exécuter de code arbitraire sur les sites PrestaShop. Dans cet article je vais vous expliquer comment sécurisé votre site, pour ne pas être un victime des attaquants.

Comment ça arrive ?

Prestashop a été informée que des acteurs malveillants exploitent une combinaison de vulnérabilités de sécurité connues et inconnues. Pour injecter du code malveillant dans les sites Web PrestaShop. Leur permettant d’exécuter des instructions arbitraires et potentiellement de voler les informations de paiement des clients.

Après l’enquête effectué via l’équipe Prestashop sur l’attaque, ils ont découvert une chaîne de vulnérabilités jusque-là inconnue que nous corrigeons. Pour le moment, cependant ils ne peuvent pas être sûrs que ce soit la seule méthode pour d’effectuer l’attaque. Et selon l’analyse de l’équipe, la vulnérabilité semble concerne les sites basées sur les versions 1.6.0.10 ou supérieures. Sujettes à des vulnérabilités d’injection SQL. Les versions 1.7.8.2 et supérieures ne sont pas vulnérables. S’elles n’exécutent un module ou un code personnalisé qui inclut lui-même une vulnérabilité d’injection SQL.

Notez que les versions 2.0.0~2.1.0 du module Wishlist (blockwishlist) sont vulnérables.

Comment les attaquants utilisent la vulnérabilité de sécurité ?

L’attaque nécessite que la boutique soit vulnérable aux exploits d’injection SQL. Les dernières informations disent que la dernière version de PrestaShop et ses modules sont exempts de ces vulnérabilités. Possible que les attaquants ciblent les boutiques en utilisant des logiciels ou des modules obsolètes. Des modules tiers vulnérables ou une vulnérabilité encore à découvrir.

D’après les conversations entre les propriétaires de boutiques et les développeurs, et las suivi des logs des sites le mode opératoire récurrent ressemble à ceci :

  • L’attaquant soumet une requête POST au point de terminaison vulnérable à l’injection SQL.
  • Après environ une seconde, l’attaquant soumet une requête GET à la page d’accueil, sans paramètres. Cela se traduit par la création d’un fichier PHP appelé blm.php à la racine du répertoire de la boutique.
  • L’attaquant soumet maintenant une requête GET au nouveau fichier qui a été créé, blm.php. Lui permettant d’exécuter des instructions arbitraires.
  • Après que les attaquants aient réussi à prendre le contrôle d’un magasin. Ils ont injecté un faux formulaire de paiement sur la page de paiement du front-office. Après les clients de la boutique pourraient entrer leurs informations de carte de crédit sur le faux formulaire et l’envoyer sans le savoir aux attaquants.

Bien que cela semble être le modèle courant. Les attaquants peuvent en utiliser un autre, en plaçant un nom de fichier différent, en modifiant d’autres parties du logiciel, en plantant du code malveillant ailleurs ou même en effaçant leurs traces une fois l’attaque réussie.

Exemple formulaire de paiement de vulnérabilité Prestashop

Exemple de formulaire de paiement de vulnérabilité Prestashop

La page est apparu en essayant d’accéder au page details commande sur le back office de Prestashop. Ou on essayant de passer un commande sur le site. En cliquant sur commander le formulaire va afficher pour voler les données des clients.

Comment protege mon site ?

Assurer que la boutique et tous les modules sont à jour avec leur dernière version. Cela devrait empêcher la boutique d’être exposée à des vulnérabilités d’injection SQL connues et activement exploitées. Si vous ne savez pas comment mettre à jour votre site j’offre un service de migration de Prestashop. Vous pouvez me contacter pour plus d’information.

Les attaquants pourraient utiliser les fonctionnalités de stockage de cache MySQL Smarty dans l’attaque. La fonctionnalité est rarement utilisée, elle est désactivée par défaut. Mais elle peut être activée à distance par l’attaquant. Jusqu’à la publication d’un correctif. Prestashop recommande de désactiver physiquement cette fonctionnalité dans le code de Prestashop afin de briser la chaîne d’attaque.

Localisez le fichier config/smarty.config.inc.php sur votre installation PrestaShop.

Supprimez les lignes 43-46 (PrestaShop 1.7) ou 40-43 (PrestaShop 1.6) :

Vulnérabilité de sécurité PrestaShop
if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') {
    include _PS_CLASS_DIR_.'Smarty/SmartyCacheResourceMysql.php';
    $smarty->caching_type = 'mysql';
}

Vérifier que le site n’est pas infecté?

Pensez à consulter le journal d’accès de votre serveur pour le modèle d’attaque expliqué ci-dessus. Voici un exemple partagé par un membre de la communauté :

Dans l’image le XXX est modifié. Possible que les attaquants utilisent d’autre nom pour le module.

Sachez que ne pas trouver ce modèle dans vos logs ne signifie pas nécessairement que votre boutique n’a pas été affectée par l’attaque : la complexité de l’exploit signifie qu’il existe plusieurs façons de l’exécuter, et les attaquants peuvent également essayer de cacher leurs traces. .

Intervention d’un spécialiste est conseillé pour réaliser une analyse complete de site. Et assure qu’aucun fichier n’a été modifié ni qu’aucun code malveillant n’a été ajouté.

N’hésitez pas de me contacter si vous avez des questions, je suis à votre disposition pout toute question.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Panier