
Exploit de prova de conceito para CVE-2022-24434 visando o pacote npm Dicer v0.3.1. Demonstra exploração de vulnerabilidade no lado do servidor com um script de servidor fornecido e payload PoC.
Este repositório contém uma Prova de Conceito (PoC) para CVE-2022-24434, uma vulnerabilidade que afeta o pacote npm Dicer.
Versão alvo da PoC: 0.3.1 (garanta que o código do dicer usado seja exatamente a v0.3.1)
Garanta que o diretório esteja estruturado desta forma:
. ├── dicer/ # Cloned Dicer repo (must be v0.3.1) ├── server.js # Vulnerable server script └── dicer_poc.js # Exploit PoC script
yaml Copy code
git clone https://github.com/mscdex/dicer.git
cd dicer
# fetch tags and switch to v0.3.1 (tag name may be "v0.3.1" or "0.3.1")
git fetch --all --tags
# try the tag checkout (if tag is 'v0.3.1')
git checkout tags/v0.3.1 -b poc-0.3.1 || git checkout tags/0.3.1 -b poc-0.3.1
npm install # install dicer repo dependencies if needed
cd ..
Opção B — instalar o pacote na versão 0.3.1 (se você preferir usar o npm em vez de clonar o repositório) Se você preferir não clonar o repositório completo, pode criar um node_modules local com a versão específica:
bash Copy code mkdir tmp_project && cd tmp_project npm init -y npm install [email protected]
cp -R node_modules/dicer ../dicer cd .. rm -rf tmp_project Importante: A PoC foi escrita para ser executada contra a pasta do código-fonte do dicer dentro da raiz deste projeto. Garanta que a pasta chamada dicer na raiz corresponda à versão 0.3.1.
└── poc/ ├── dicer/ # Cloned Dicer repo (must be v0.3.1) ├── server.js # Vulnerable server script (place here) └── dicer_poc.js # Exploit PoC script (place here)
▶️ Executando a PoC Inicie o servidor vulnerável:
node server.js
Em um terminal separado, execute a PoC do exploit:
node dicer_poc.js
🧩 Notas A PoC depende de um comportamento presente no dicer v0.3.1. Usar versões mais recentes ou corrigidas pode não reproduzir o problema.
Se você clonou o repositório e não encontrou a tag, use git tag para listar as tags disponíveis. Se não houver uma tag 0.3.1, use o método de instalação via npm acima e confirme se o package.json dentro de dicer/ mostra a versão 0.3.1.
⚠️ Aviso Legal Este repositório foi criado apenas para fins educacionais e de pesquisa. Não use esta PoC contra sistemas sem autorização explícita. O autor não é responsável por qualquer uso indevido ou danos causados.