
Comprobador de vulnerabilidades de sitios WordPress para CVE-2020-35489 - "Solo para uso educativo"
El wp_CVE-2020-35489_checker es una herramienta de línea de comandos escrita en Python diseñada para comprobar si un sitio web WordPress es vulnerable a CVE-2020-35489. Esta vulnerabilidad en particular proviene de una falla de seguridad en el plugin Contact Form 7 de WordPress en versiones anteriores a la 5.3.2. Permite que atacantes no autenticados suban scripts maliciosos a través de los campos de formulario, debido a una validación y saneamiento de entradas insuficientes, lo que potencialmente conduce a la ejecución remota de código en el sitio afectado.
Este script, "wp_CVE-2020-35489_checker", se proporciona únicamente con fines educativos y éticos. Está diseñado para ayudar a administradores de sitios web, investigadores de seguridad y profesionales de la ciberseguridad a evaluar si los sitios web WordPress son vulnerables a la vulnerabilidad CVE-2020-35489.
Al usar este script, usted acepta las siguientes condiciones:
Uso exclusivamente educativo: El propósito principal de este script es promover la concienciación y la comprensión de las vulnerabilidades de ciberseguridad. Debe utilizarse estrictamente en un entorno controlado, educativo o de pruebas.
Consentimiento y autorización: Debe tener autorización explícita o ser el propietario del/de los sitio(s) web que pruebe con este script. Usar este script en cualquier sitio web sin la autorización adecuada es poco ético y puede ser ilegal en su jurisdicción.
Sin intenciones maliciosas: Este script no debe utilizarse para ninguna actividad ilegal o poco ética, como el acceso no autorizado, el daño o la explotación de sitios web y sus datos.
Cumplimiento legal: Los usuarios son responsables de garantizar que su uso del script cumpla con todas las leyes y regulaciones pertinentes de su jurisdicción, incluidas, entre otras, las leyes de protección de datos, privacidad y ciberseguridad.
Renuncia de responsabilidad: Los creadores y colaboradores de wp_CVE-2020-35489_checker no serán considerados responsables por el mal uso del script, ni por cualquier daño, pérdida o consecuencia legal derivada de dicho mal uso.
Al descargar, copiar o usar este script, usted reconoce y acepta que comprende estas condiciones y que utilizará la herramienta de manera responsable. El mal uso de esta herramienta va estrictamente en contra de su propósito previsto y podría dar lugar a acciones legales.
python -m pip install aiofiles aiohttp packaging
python cve_2020_35489_checker.py -h
usage: cve_2020_35489_checker.py [-h] [-d DOMAIN] [-i INPUT_FILE] [-o OUTPUT_FILE]
Checks if a WordPress website is vulnerable to CVE-2020-35489.
options:
-h, --help show this help message and exit
-d DOMAIN, --domain DOMAIN
Check a single site (Example: python cve_2020_35489_checker.py -d example.com)
-i INPUT_FILE, --input-file INPUT_FILE
Check multiple sites from a text file (Example: python cve_2020_35489_checker.py -i list.txt -o vulnerable.txt)
-o OUTPUT_FILE, --output-file OUTPUT_FILE
Output file for the list of vulnerable sites
En aquella ocasión (17/12/2020), se estimó que aproximadamente 5 millones de sitios web estaban afectados. ¿Cuántos siguen afectados hoy en día?
inurl:/wp-content/plugins/contact-form-7/
Descarga: Release v1.0-Beta1 - Download
Discusión: Release v1.0-Beta1 - Discussion
Nombre del archivo: wp_CVE-2020-35489_checker_v1.0-beta.1.exe
CRC-32: 23d09689
SHA-1: 057764d27bcbc51d4b115aa94df69dd35776c265
SHA-256: 00ad875be0e475ce79cb8fcbc18c5df6caae9157544e9fe07ab5ed265f609d8d
SHA-512: 8b640cea240e12039b7685965c8dc55a01ae92421c9052c08272f6eaf3e9c5c2015ee12f5bd52bbe331c65563399cc9f2ebd3e71dadb1c8875e600a34cd493e2

¡Estamos abiertos a contribuciones de código! Si sabes cómo reducir las líneas de código, mejorar el rendimiento o añadir una funcionalidad que se alinee con el objetivo del programa, ¡adelante!
Para informes de errores o solicitudes de funcionalidades, abre un issue en nuestro repositorio de GitHub. Al reportar un error, intenta incluir tantos detalles como sea posible; por ejemplo, los pasos para reproducir el error, el sistema operativo que estás usando, etc.
Si tienes una pregunta que no esté respondida en nuestra documentación, también puedes abrir un issue y haré todo lo posible por ayudarte.