
CVE-2017-5941 node-serialize 신뢰할 수 없는 역직렬화 RCE를 위한 개념 증명 실습입니다. 인가된 테스트를 위한 Docker 환경과 함께 POST 및 쿠키 기반 익스플로잇 벡터를 포함합니다.
⚠️ 실습 / 자체 평가 용도로만 사용하세요. 소유한 시스템이나 테스트 권한이 있는 시스템에서만 사용하세요.
이 저장소는 다음을 제공합니다:
node-serialize <= 0.0.4를 사용)에 대해 CVE-2017-5941을 재현하는 최소 PoC 스크립트./api/deserialize (기본값)/profile에 대한 쿠키 profile (Base64 인코딩; 서버는 unserialize() 이전에 디코딩해야 함)node-serialize (≤ 0.0.4)unserialize() 중에 "_$$ND_FUNC$$_"로 시작하는 문자열 값은 실행 가능한 JavaScript로 취급되어 평가됩니다.unserialize()에 도달하면 원격 코드 실행으로 이어집니다.악성 값의 예:
{ "p": "_$$ND_FUNC$$_function(){ require('child_process').exec('id') }()" }