
이 저장소는 Dicer npm 패키지에 영향을 주는 CVE-2022-24434에 대한 개념 증명 (PoC)을 포함합니다.
PoC 대상 버전: 0.3.1 (사용 중인 dicer 코드가 정확히 v0.3.1인지 확인하세요)
디렉터리가 다음과 같이 구성되어 있는지 확인하세요:
. ├── dicer/ # Dicer 저장소 클론 (v0.3.1이어야 함) ├── server.js # 취약한 서버 스크립트 └── dicer_poc.js # 익스플로잇 PoC 스크립트
yaml 코드 복사
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 [email protected]
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 설치 방법을 사용하고 dicer/ 내부의 package.json에 버전 0.3.1이 표시되는지 확인하세요.
⚠️ 면책 조항 이 저장소는 교육 및 연구 목적으로만 작성되었습니다. 명시적인 허가 없이 이 PoC를 시스템에 사용하지 마십시오. 저자는 발생한 오용이나 피해에 대해 책임을 지지 않습니다.