← Blog sécurité

PrestaShop · 12 min de lecture

PrestaShop piraté : détecter les faux boutons de paiement et les scripts malveillants

Apprenez à repérer et neutraliser les faux boutons de paiement et les scripts malveillants sur PrestaShop. Conseils pratiques pour détection, réponses et prévention.

06 novembre 2026•Securantis•Mis à jour le 06 novembre 2026
Bureau neutre avec un ordinateur portable affichant du code et une page de paiement, mains d’un technicien tapant au clavier.

Pourquoi les faux boutons et scripts malveillants sont une menace réelle

Les faux boutons de paiement et les scripts malveillants contournent la relation de confiance entre un site marchand PrestaShop et ses clients. Au lieu d’attaquer le serveur directement, un acteur malveillant injette du code côté client ou modifie des templates pour présenter des éléments trompeurs : boutons qui affichent une interface de paiement contrôlée par l’attaquant, champs qui exfiltrent des cartes, ou scripts qui redirigent les clients vers des pages factices.

Les conséquences vont du vol de données sensibles (numéros de carte, CVV, données personnelles) à la fraude ultérieure et à la perte de réputation. Pour les boutiques WooCommerce ou WordPress, des mécanismes similaires existent, mais PrestaShop a ses spécificités : modules tiers et templates Smarty offrent des vecteurs d’injection différents, et la présence d’anciens modules non maintenus augmente le risque.

Signes visibles d’un faux bouton de paiement ou d’un script malveillant

Un faux bouton n’est pas toujours une copie parfaite. Les indices visibles incluent une variation subtile dans le texte ou le style, redirections inattendues lors du clic, ou une fenêtre modale qui ne ressemble pas à votre solution de paiement habituelle (Stripe, PayPal, Redsys, etc.). Les scripts malveillants peuvent provoquer des comportements étranges : formulaires qui se soumettent sans action utilisateur, champs qui se vident après saisie, ou chargement de ressources externes inhabituelles.

Inspectez systématiquement le comportement : si un paiement redirige vers un domaine inconnu, si des requêtes réseau pointent vers des IPs ou domaines qui n’appartiennent pas à vos prestataires, ou si le code HTML contient des iframes, scripts ou éléments insérés en bas de page non documentés, considérez-les comme suspects.

Vérifier le code côté client avec les outils du navigateur

Les navigateurs modernes (Chrome, Firefox, Edge) fournissent des outils de développement indispensables. Ouvrez l’onglet Réseau (Network) et surveillez les requêtes lorsque vous chargez la page de paiement. Recherchez des requêtes POST à des URL inconnues ou des scripts chargés depuis des domaines tiers. L’onglet Sources permet de parcourir les scripts JavaScript exécutés : recherchez des fonctions anonymes qui interceptent les soumissions de formulaire (event listeners sur submit), des appels à fetch()/XMLHttpRequest vers des hôtes non approuvés, ou des bases64 longues indiquant du code injecté.

L’inspection DOM (Elements) aide à repérer les boutons ou iframes insérés dynamiquement. Les attributs comme data-* ou des classes étranges peuvent indiquer un module tiers. En PrestaShop, comparez le HTML généré avec celui d’une copie propre (si disponible) pour repérer des ajouts.

Examiner les fichiers du serveur et les modules PrestaShop

Côté serveur, commencez par lister les fichiers récemment modifiés dans l’espace web. Sur un hébergement Linux, des commandes comme find . -type f -mtime -n permettent d’identifier les fichiers altérés. Vérifiez en particulier les dossiers suivants : themes/ (templates Smarty), modules/, override/, et le front controller /index.php. Les attaques par modification directe de fichier sont courantes si un compte FTP ou le back-office a été compromis.

Examinez les modules installés depuis le back-office PrestaShop : supprimez ou désactivez immédiatement tout module obsolète ou provenant de sources non fiables. Les modules qui s’exécutent côté front peuvent injecter scripts ; auditez leur code pour appels externes, fonctions encodées ou inclusion de fichiers via file_get_contents() avec URL.

Rechercher des backdoors et des scripts dissimulés

Les attaquants laissent souvent des backdoors pour revenir. Recherchez des fichiers PHP contenant eval(), base64_decode(), preg_replace() avec /e/ ou create_function(), ou des include/require vers des chemins inhabituels. Les noms de fichiers peuvent être trompeurs (css.php, jquery.php). Utilisez des outils comme grep pour repérer des signatures : grep -R "base64_decode" .

Ne supprimez pas aveuglément : archivez les fichiers suspects pour analyse. Si vous n’êtes pas sûr, isolez le site (mode maintenance) et copiez une image pour une analyse hors ligne par un professionnel. Les modifications dans la base de données (par exemple, dans ps_configuration ou ps_hook_module) peuvent également permettre l’injection de scripts : vérifiez les contenus HTML stockés en base.

Contrôler les intégrations de paiement et les webhooks

Les fausses interfaces de paiement imitent les prestataires légitimes. Vérifiez dans la configuration PrestaShop que les clés API et URLs de callback (webhooks) pointent vers les domaines officiels de vos prestataires. Inspectez les logs côté service de paiement (si disponibles) pour détecter des requêtes non autorisées. Pour Stripe, PayPal ou Redsys, assurez-vous que les certificats et signatures sont valides et que les notifications IPN/Webhook sont traitées uniquement après validation cryptographique.

Si vous suspectez que des webhooks ont été modifiés, révoquez les clés et régénérez des secrets, puis configurez des adresses IP autorisées ou des mécanismes de validation supplémentaires.

Mesures immédiates après détection

La priorité est d’empêcher toute nouvelle fuite et de protéger vos clients. Mettez le site en mode maintenance et affichez un message transparent expliquant qu’une vérification de sécurité est en cours. Changez immédiatement tous les mots de passe d’accès (back-office, FTP, SFTP, base de données, provider) et retirez les comptes inutiles ou douteux. Si possible, réinitialisez les clés API de vos prestataires de paiement.

Sauvegardez une copie complète du site et de la base de données pour analyse forensique. Conservez les timestamps, headers et logs web, et exportez les logs serveur (access.log, error.log) avant toute modification majeure.

Nettoyage sécurisé et restauration

Si vous avez une sauvegarde propre récente, la restauration est souvent la façon la plus sûre de repartir : restaurez fichiers et base de données, puis mettez à jour immédiatement PrestaShop, thèmes et modules. Si la restauration n’est pas possible, procédez à un nettoyage manuel en supprimant les fichiers suspects et en réinstallant modules officiels depuis des sources fiables.

Après nettoyage, effectuez une vérification complète : scannez avec un outil antivirus serveur, faites passer des tests de charge et naviguez le parcours de commande en environnement isolé. Demandez à un professionnel de réaliser une analyse forensique si l’attaque semble sophistiquée.

Prévention à long terme : mises à jour, sauvegardes et principe du moindre privilège

La prévention repose sur des règles simples mais exigeantes. Maintenez PrestaShop, thèmes et modules à jour. Évitez d’installer des modules provenant de sources non vérifiées. Automatisez les sauvegardes hors site avec conservation des versions et testez régulièrement les restaurations.

Appliquez le principe du moindre privilège : n’accordez que les droits nécessaires aux comptes FTP et administrateurs, utilisez SFTP/SSH au lieu du FTP classique, et activez l’authentification à deux facteurs (2FA) pour les accès critiques. Limitez l’accès au panneau admin via IP whitelisting si possible.

Surveillance et détection continue

Mettez en place une surveillance régulière des fichiers (integrity monitoring) et des alertes sur les modifications inattendues. Activez les journaux détaillés et utilisez des outils qui analysent les requêtes HTTP pour détecter les tentatives d’injection. Pour PrestaShop, certains services de sécurité web ou plugins proposent une surveillance des modifications de templates et des injections côté client.

Surveillez aussi la réputation : flux de trafic inhabituel, pics de conversion anormaux, plaintes clients concernant paiements frauduleux. Ces signes peuvent indiquer une compromission active.

Quand faire appel à un professionnel et informer vos clients

Pour un site marchand, la prudence exige de faire appel à une équipe spécialisée dès que l’ampleur de la compromission dépasse vos compétences. Un prestataire pourra effectuer une analyse forensique, identifier la plage temporelle de l’injection, et recommander des remédiations précises sans altérer les preuves.

Si des données clients ont été exposées, informez les personnes concernées et les autorités compétentes selon la réglementation applicable (par exemple RGPD en Europe). Rédigez un communiqué honnête et factuel : dites ce que vous savez, quelles actions vous avez prises et quelles protections sont proposées (monitoring, conseils de changement de mots de passe, etc.).

Bonnes pratiques spécifiques à PrestaShop, WooCommerce et WordPress

Sur PrestaShop, vérifiez les overrides et hooks ainsi que le dossier themes/ et modules/. Les modules tiers peuvent s’exécuter côté front et injecter directement du JavaScript. Sur WooCommerce et WordPress, surveillez wp-content/plugins et les options stockées en base. Dans tous les cas, conservez des copies chiffrées des sauvegardes et automatisez la mise à jour des composants quand c’est possible.

Pour les boutiques WooCommerce connectées à WordPress, veillez à isoler les responsabilités : un plugin WordPress vulnérable peut compromettre la boutique entière. Pour PrestaShop, limitez les accès aux fichiers de configuration et protégez admin-dev et admin via authentification supplémentaire.

Conclusion : priorités et prochaines étapes

La détection d’un faux bouton de paiement ou d’un script malveillant exige une réaction rapide mais mesurée : isoler le site, préserver les preuves, révoquer les accès compromis et restaurer à partir d’une sauvegarde fiable sont les étapes primordiales. Les contrôles côté client (inspection DOM/Réseau) et côté serveur (analyse de fichiers et modules) se complètent pour construire une image complète de l’incident.

À moyen terme, investissez dans des processus robustes : mises à jour régulières, sauvegardes testées, surveillance d’intégrité et prisonnier du principe du moindre privilège. Si vous n’avez pas les ressources internes, faites appel à un spécialiste pour la remédiation et la forensique. La transparence envers vos clients et la conformité réglementaire restent des priorités après une compromission.

Securantis propose des conseils et des services pensés pour les boutiques PrestaShop, WordPress et WooCommerce ; utilisez des outils professionnels pour la surveillance et la récupération, et considérez un audit externe si vous gérez des volumes de transaction importants.