Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/raytran54/cve-2018-7600
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónLabs y Práctica
GitHubraytran54/cve-2018-7600

CVE-2018-7600

Laboratorio de análisis y explotación paso a paso para la vulnerabilidad de ejecución remota de código Drupal CVE-2018-7600, incluida la depuración, el código del exploit y la revisión del parche de mitigación.

Ver Repositorio
3hace 2 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

TRAN CONG DANH - SVTT - Mentor: LUU VAN LAN - CVE-2018-7600 - Día de inicio: 26/06/2024.

Tabla de contenidos:

  1. Resumen del CVE
  2. Requisitos previos
  3. Análisis del CVE
  4. Mitigación

Resumen del CVE

  • Un atacante podría llamar a una solicitud Ajax de la API de Formularios de Drupal que contenga la función call_user_func auto do
  • Drupal anterior a 7.58, 8.x anterior a 8.3.9, 8.4.x anterior a 8.4.6 y 8.5.x anterior a 8.5.1

Requisitos previos

  • En este laboratorio, uso:

    • Ubuntu 20.04( PHP 7.2, MariaDB )
    • La versión de Drupal que uso en este laboratorio es 8.3.8
    • Visual Studio Code para depurar
    • Kali 23.4 para ejecutar el exploit de Drupal

Análisis del CVE

  • Encontramos que las claves que usan call_user_func son #pre_render, #post_render, #access_callback, #submit, #lazy_builder, #validate image
  • La tarea ahora es encontrar qué parámetro enviado por el usuario tiene un render, puede cambiar la clave y recibir la clave #post_render para invocarla. image
  • Cuando se redimensiona la imagen, el servidor llama a la API de Drupal image
  • La función &$array incluida aquí es la matriz de elementos predeterminados al enviarla; probemos a depurar sin código: image image
  • Supongamos que modificas el valor de mail al subir: image image
  • image

    • Al llamar al método getValue($array, $parents), el proceso es el siguiente:

    $ref impide las referencias a $array.

    Primer bucle: $ref referencia a $array['a'].

    Segundo bucle: $ref referencia a $array['a']['b'].

    Tercer bucle: $ref referencia a $array['a']['b']['c'].

    Como resultado final, $ref quedará referenciado al valor 42.

    root@kitploit:~
    $array = [
        'a' => [
            'b' => [
                'c' => 42
            ]
        ]
    ];
    $parents = ['a', 'b', 'c'];
    
    • Después de recibir el valor $form de la función getValue. $form se convertirá en un argumento para la función Render

    image image image

    • La definición de call_user_func

    image

    • El resultado cuando uso el archivo de exploit:

    image

    Mitigación

    • Parche ** Los desarrolladores de Drupal han publicado un parche que añade una clase RequestSanitizer con un método stripDangerousValues ​​para eliminar todos los elementos de entrada de la matriz cuyas claves comiencen con “#”. Este método limpia la entrada en $_GET, $_POST y $_COOKIES.

    ** Drupal 8.6.5 /core/lib/Drupal/Core/DrupalKernel.php image /core/lib/Drupal/Core/Security/RequestSanitizer.php image image ** La función stripDangerousValues ​​verifica todos los parámetros de entrada uno a uno; los primeros elementos de la matriz de entrada tienen un valor que comienza con “#” y los valores ​​que no están en la lista blanca se eliminan.

    Descargar herramienta