## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-NAYANKADAMM-CVE-2022-24434_POC
# CVE-2022-24434 – PoC для Dicer
Этот репозиторий содержит доказательство концепции (PoC) для **CVE-2022-24434** — уязвимости, затрагивающей npm-пакет Dicer.
> **Целевая версия PoC:** **0.3.1** (убедитесь, что используемый код dicer — именно v0.3.1)
* * *
## 📂 Структура проекта
Убедитесь, что каталог имеет следующую структуру:
. ├── dicer/ # Клонированный репозиторий Dicer (должен быть v0.3.1) ├── server.js # Уязвимый серверный скрипт └── dicer_poc.js # PoC-скрипт эксплойта
yaml Копировать код
* * *
## ⚙️ Настройка
### Вариант A — клонируйте репозиторий и переключитесь на v0.3.1 (рекомендуется, если вы используете репозиторий)
root@kitploit:~
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 ..
Вариант B — установите пакет версии 0.3.1 (если вы предпочитаете использовать npm вместо клонирования репозитория)
Если вы не хотите клонировать полный репозиторий, вы можете создать локальный node_modules с нужной версией:
bash
Копировать код
mkdir tmp_project && cd tmp_project
npm init -y
npm install some-email@example.com
# 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
Важно: PoC рассчитан на работу с папкой исходного кода dicer в корне этого проекта. Убедитесь, что папка с именем dicer в корне соответствует версии 0.3.1.
└── poc/
├── dicer/ # Клонированный репозиторий Dicer (должен быть v0.3.1)
├── server.js # Уязвимый серверный скрипт (разместите здесь)
└── dicer_poc.js # PoC-скрипт эксплойта (разместите здесь)
▶️ Запуск PoC
Запустите уязвимый сервер:
bash
Копировать код
node server.js
В отдельном терминале запустите PoC-эксплойт:
bash
Копировать код
node dicer_poc.js
🧩 Примечания
PoC зависит от поведения, характерного для dicer v0.3.1. При использовании более новых или пропатченных версий проблема может не воспроизводиться.
Если вы клонировали репозиторий и не можете найти тег, выполните `git tag`, чтобы вывести список доступных тегов. Если тега 0.3.1 нет, воспользуйтесь описанным выше способом установки через npm и убедитесь, что package.json внутри dicer/ показывает версию 0.3.1.
⚠️ Отказ от ответственности
Этот репозиторий создан исключительно в образовательных и исследовательских целях.
Не используйте этот PoC против систем без явного разрешения.
Автор не несёт ответственности за любое неправомерное использование или причинённый ущерб.