Il y a de plus en plus de failles dans le site PrestaShop. Ce système de site Web est un système open source utilisé par de nombreux sites Web de commerce extérieur. De la version initiale précédente 1.0 à la version actuelle 1.7, il a connu de nombreuses mises à niveau. utiliser le système De plus en plus d'entreprises nationales de commerce extérieur utilisent ce système. PrestaShop a une grande évolutivité, de nombreux modèles, un changement gratuit de plusieurs devises et prend en charge les paiements par carte de crédit et Paypal. C'est le premier choix pour les sites Web de commerce extérieur. Au cours des derniers jours, il a été révélé que PrestaShop présentait une vulnérabilité d'injection de code à distance. Cette vulnérabilité a un impact relativement faible et est relativement dangereuse. Elle peut télécharger un webshell dans le répertoire racine du site Web.
Le 7 novembre 2018, PrestaShop a officiellement publié la dernière version et corrigé les vulnérabilités du site Web, qui comprenaient des vulnérabilités de téléchargement de fichiers précédemment exposées, ainsi que des vulnérabilités malveillantes de suppression le dossier d'images nécessite les droits de gestion en arrière-plan du site Web pour être exploité.
La vulnérabilité PrestaShop découverte cette fois est une vulnérabilité d'injection de code à distance. Le code généré par la vulnérabilité est le suivant Le code ajax_calls.php dans le fichier filemanager dans le répertoire admin-dev en arrière-plan. Cette vulnérabilité d'injection à distance est en arrière-plan. Elle est causée par la fonction de traitement des fichiers téléchargés. La fonction getimagesize() dans le code est une fonction pour obtenir l'adresse de l'image. Cette fonction utilise la désérialisation PHP, qui a une fonction d'appel à distance. C'est-à-dire qu'il y a un appel à distance dans cette fonction.Injection et exécution de code.Lorsque nous construisons un code d'injection malveillant et le soumettons au code de l'image, notre code sera exécuté.Commençons par configurer un serveur Linux. créez un environnement de base de données Apache + mysql et copiez le code PrestaShop sur le serveur, l'installation et le débogage peuvent être activés.
Essayons comment exploiter cette vulnérabilité et appelons le fichier dialog.php dans le dossier filemanager sous le répertoire d'arrière-plan admin-rename. le téléchargement de fichiers et d'images. L'action peut être utilisée pour contrôler en toute sécurité les paramètres téléchargés. Nous pouvons construire l'exécution de code, admin-rename/filemanager/execute.php?action=rename_folder, soumettre sous forme de publication et envoyer des données à In. le code de ce fichier, le code peut être automatiquement analysé à l'aide de la désérialisation de PHP pour obtenir l'effet d'exécution par injection de code à distance.
Réparation et méthode de vulnérabilité du site PrestaShop
Mettez à niveau la version de PrestaShop vers la dernière version, désactivez la fonction d'analyse de php.ini, en particulier phar.readonly=off, ici, il est réglé sur Fermer, renforce le filtrage de sécurité de la fonction de téléchargement du site Web, filtre l'insertion de paramètres illégaux et fait des commentaires fonctionnels sur le code de vulnérabilité du site Web.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!