Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2021-44906 | Kitploit
Ferramentas/GitHubGitHub/nevermoe/cve-2021-44906
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebAprendizado e Educação
GitHubnevermoe/cve-2021-44906

CVE-2021-44906

Ver Repositório
há 2 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2021-44906

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

Executar

root@kitploit:~
npm run hack

E você verá que a propriedade done de qualquer função é alterada para true. A explicação da linha de comando node index.js --_.concat.constructor.prototype.done true:

  • -- é o sinal de hífen normalmente usado em argumentos de linha de comando.
  • _ é a chave interna do minimist: https://github.com/minimistjs/minimist/blob/v1.2.5/index.js#L37
  • .concat.constructor.prototype.done true definirá _.concat.constructor.prototype.done como true. Como _.concat.constructor é do tipo Function, uma propriedade chamada done será adicionada ao protótipo de todas as Function.

A razão pela qual a cadeia de protótipos é tão longa é que, nas correções anteriores, o desenvolvedor bloqueou __proto__, Arrary.prototype, Object.prototype, Number.prototype e String.prototype. Portanto, temos que usar constructor, que tem a propriedade prototype e não está na lista negra.

Outro exemplo é:

root@kitploit:~
npm run hack2

No entanto, nos dois exemplos acima, só podemos manipular valores, mas não a definição de funções.

Causa

Na correção para CVE-2020-7598 (1.2.2), e na versão 1.2.3, o desenvolvedor já havia corrigido algumas vulnerabilidades ao verificar __proto__, Arrary.prototype, Object.prototype, Number.prototype, String.prototype, mas se esqueceu de verificar Function.prototye. É por isso que esta exploração só pode afetar a propriedade de Function. Para a correção deste CVE, o desenvolvedor verificou tanto Function.prototype quanto constructor: https://github.com/minimistjs/minimist/blob/v1.2.6/index.js#L73

Baixar ferramenta