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
hace 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á _.concat.constructor.prototype.done a true. Porque _.concat.constructor es de tipo Function, a todos los prototipos de Function se les añadirá una propiedad llamada 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