
このリポジトリは、npm パッケージ Dicer に影響する脆弱性 CVE-2022-24434 の Proof-of-Concept(PoC)を含んでいます。
PoC 対象バージョン: 0.3.1(使用する dicer コードが必ず v0.3.1 であることを確認してください)
ディレクトリが次のように構成されていることを確認してください:
. ├── dicer/ # クローンした Dicer リポジトリ(v0.3.1 であること) ├── server.js # 脆弱なサーバースクリプト └── dicer_poc.js # エクスプロイト PoC スクリプト
yaml Copy code
git clone https://github.com/mscdex/dicer.git
cd dicer
# タグを取得し v0.3.1 に切り替える(タグ名は "v0.3.1" または "0.3.1")
git fetch --all --tags
# タグのチェックアウトを試行(タグが '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 # 必要に応じて dicer リポジトリの依存関係をインストール
cd ..
リポジトリ全体をクローンしたくない場合は、特定のバージョンでローカルの node_modules を作成できます:
mkdir tmp_project && cd tmp_project
npm init -y
npm install [email protected]
# インストールされたパッケージフォルダ node_modules/dicer を親フォルダに '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 スクリプト(ここに配置)
脆弱なサーバーを起動します:
node server.js
別のターミナルで、エクスプロイト PoC を実行します:
node dicer_poc.js
git tag で利用可能なタグを一覧表示してください。0.3.1 のタグがない場合は、上記の npm install 方法を使用し、dicer/ 内の package.json がバージョン 0.3.1 であることを確認してください。このリポジトリは教育および研究目的のみで作成されています。
明示的な許可なく、この PoC をシステムに対して使用しないでください。
作者は、誤用またはそれによって生じた損害について一切の責任を負いません。