
Preuve de concept de l'exploit pour CVE-2022-24434 ciblant le package npm Dicer v0.3.1. Démontre l'exploitation d'une vulnérabilité côté serveur avec un script serveur fourni et une charge utile PoC.
Ce dépôt contient une preuve de concept (PoC) pour CVE-2022-24434, une vulnérabilité affectant le package npm Dicer.
Version cible du PoC : 0.3.1 (assurez-vous que le code dicer utilisé est exactement la v0.3.1)
Assurez-vous que le répertoire est structuré comme suit :
. ├── dicer/ # Cloned Dicer repo (must be v0.3.1) ├── server.js # Vulnerable server script └── dicer_poc.js # Exploit PoC script
yaml Copier le 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 ..
Si vous préférez ne pas cloner le dépôt complet, vous pouvez créer un node_modules local avec la version spécifique :
mkdir tmp_project && cd tmp_project
npm init -y
npm install [email protected]
# copy the installed package folder node_modules/dicer into the parent folder as 'dicer'
cp -R node_modules/dicer ../dicer
cd ..
rm -rf tmp_project
Important : le PoC est écrit pour s'exécuter à partir du dossier source dicer à la racine de ce projet. Assurez-vous que le dossier nommé dicer à la racine correspond à la version 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)
▶️ Exécution du PoC
Démarrez le serveur vulnérable :
node server.js
Dans un terminal séparé, exécutez le PoC d'exploitation :
node dicer_poc.js
🧩 Remarques
Le PoC dépend d'un comportement présent dans dicer v0.3.1. L'utilisation de versions plus récentes ou patchées peut ne pas reproduire le problème.
Si vous avez cloné le dépôt et ne trouvez pas le tag, vérifiez git tag pour lister les tags disponibles. S'il n'y a pas de tag 0.3.1, utilisez la méthode d'installation npm ci-dessus et confirmez que le package.json dans dicer/ indique la version 0.3.1.
⚠️ Avertissement