Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pfsense-cp-filemanager-write — pfSense CE 2.9.0-DEVELOPMENT - Élevée - À distance - Écriture de fichier - Gestionnaire de fichiers CP | Kitploit
Outils/GitHubGitHub/abraxas/pfsense-cp-filemanager-write
Scanners de VulnérabilitésAnalyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionArticles et RechercheLabs et Pratique
GitHubabraxas/pfsense-cp-filemanager-write

pfsense-cp-filemanager-write

pfSense CE 2.9.0-DEVELOPMENT - Élevée - À distance - Écriture de fichier - Gestionnaire de fichiers CP

Voir le dépôt
7il y a 5 joursPas encore vérifié

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

Abraxas Labs - pfsense-cp-filemanager-write

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-cp-filemanager-write

pfsense-cp-filemanager-write

Classe : Écriture de fichier Portée : Distante

pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org

Le nom du téléversement n'est pas passé par basename(). Un nom qui contient déjà captiveportal- saute le préfixe. file_put_contents("{$g['captiveportal_element_path']}/{$data['name']}") avec cpelements = /var/db/cpelements. Les ../ restants après captiveportal-.. remontent toujours jusqu'à /.

IDpas encore de CVE
ClasseÉcriture de fichier
PortéeDistante (WebGUI authentifié sauf indication contraire)
CWECWE-22
CVSSÉlevé : 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProduitpfSense CE
Affecté2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9)
AuthSession WebGUI avec page-services-captiveportal-filemanager
LicenceGNU Affero GPL v3.0
Labo127.0.0.1 uniquement

J'ai épinglé le master public 9363ac5. Le labo est un gadget PHP du sink épinglé, HTTP en loopback sur 127.0.0.1:19000.

Article de la série : https://abraxaslabs.tech/research/pfsense-ce-leftovers

Ce qu'un attaquant peut faire

MéthodeSinkPrivilège
POST services_captiveportal_filemanager.php nom de fichierfile_put_contents cpelements/{$data['name']}Intégrité : Prouvé en labo : le nom captiveportal-../../../../../oracle/... a sauté le préfixe et écrit en dehors de cpelements. Une écriture PHP en root équivaut à une RCE sur l'hôte sur cette plateforme.
même reliquatmême sinkReconnaissance : Déduit : écraser config.xml ou du PHP dans www.
même reliquatmême sinkDisponibilité : Déduit : écraser des fichiers critiques.

Nécessite : page-services-captiveportal-filemanager. CSRF-magic sur POST sauf indication contraire. Le PHP-FPM du WebGUI est root.

Nécessite : page-services-captiveportal-filemanager. CSRF-magic sur POST sauf indication contraire. Le PHP-FPM du WebGUI est root. CSRF-magic sur POST sauf indication contraire. Le PHP-FPM du WebGUI est root.

Surface adjacente qui reste fermée

Un nom sans la sous-chaîne est préfixé et ne peut pas s'échapper de cette manière. Le PHP documenté à l'intérieur de la prison du portail est une fonctionnalité différente.

Pas de Diagnostics : Command sauf si cette page est également accordée.

Labo

cd lab
./run.sh

Loopback 127.0.0.1:19000. Projet Compose pfsense-cp-filemanager-write. Témoin PFSENSE-CP-FILEMANAGER-WRITE-WITNESS. Loopback uniquement : 127.0.0.1:19000. Projet Compose pfsense-cp-filemanager-write. Témoin PFSENSE-CP-FILEMANAGER-WRITE-WITNESS. Gadget PHP des lignes épinglées. La stack est démontée après l'exécution.

Dernière ligne :

SUCCESS PFSENSE-CP-FILEMANAGER-WRITE control-prefixed=yes prefix-no-escape=yes trigger-outside=yes PFSENSE-CP-FILEMANAGER-WRITE-WITNESS

Correctif

Passer le nom du téléversement par basename(). Toujours préfixer. Rejeter .. .

Références

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • CWE-22
  • Série : https://abraxaslabs.tech/research/pfsense-ce-leftovers
Télécharger l’outil