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
CVE-2021-44906 — Prueba de concepto para CVE-2021-44906 que demuestra contaminación de prototipos en minimist a través de bypass de Function.prototype, con ejemplos ejecutables y análisis técnico detallado de la cadena de explotación. | Kitploit
Herramientas/GitHubGitHub/nevermoe/cve-2021-44906
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebAprendizaje y Educación
GitHubnevermoe/cve-2021-44906

CVE-2021-44906

Prueba de concepto para CVE-2021-44906 que demuestra contaminación de prototipos en minimist a través de bypass de Function.prototype, con ejemplos ejecutables y análisis técnico detallado de la cadena de explotación.

Ver Repositorio
6hace 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

CVE-2021-44906

Originalmente de: https://github.com/Marynk/JavaScript-vulnerability-detection/blob/main/minimist%20PoC.zip

Ejecución

root@kitploit:~
npm run hack

Y verás que la propiedad done de cualquier función se cambia a true. La explicación de la línea de comando node index.js --_.concat.constructor.prototype.done true:

  • -- es el guion normalmente usado en los argumentos de línea de comandos.
  • _ es la clave incorporada en minimist: https://github.com/minimistjs/minimist/blob/v1.2.5/index.js#L37
  • .concat.constructor.prototype.done true establecerá a . Porque es de tipo , a todos los prototipos de se les añadirá una propiedad llamada .
_.concat.constructor.prototype.done
true
_.concat.constructor
Function
Function
done

La razón por la que la cadena del prototipo es tan larga es que en las correcciones anteriores, el desarrollador prohibió __proto__, Array.prototype, Object.prototype, Number.prototype y String.prototype. Por lo tanto, tuvimos que usar constructor que tiene una propiedad de prototipo y que no está en la lista negra.

Otro ejemplo es:

root@kitploit:~
npm run hack2

Sin embargo, en los dos ejemplos anteriores, solo podemos manipular valores pero no la definición de funciones.

Causa

En la corrección para CVE-2020-7598 (1.2.2), y en 1.2.3 el desarrollador ya corrigió algunas vulnerabilidades comprobando __proto__, Array.prototype, Object.prototype, Number.prototype, String.prototype, pero olvidaron comprobar Function.prototype. Es por esto que este exploit solo puede afectar la propiedad de Function. Para la corrección de este CVE, el desarrollador comprobó Function.prototype así como constructor: https://github.com/minimistjs/minimist/blob/v1.2.6/index.js#L73

Descargar herramienta