
의도적으로 취약하게 구성된 Drupal 7.57 실습 환경으로, Docker 컨테이너에서 CVE-2018-7600(Drupalgeddon2)을 재현하기 위한 것입니다. 설치 스크립트와 PHP 내장 서버를 포함하여 격리된 보안 테스트를 지원합니다.
이 저장소는 Drupalgeddon2 실행을 위한 재사용 가능한 대상 패키지입니다.
Sentinel은 2026-08-27에 SQLite와 PHP 7.4를 사용하는 Drupal 코어 7.57에서 CVE-2018-7600을 재현했습니다. 익스플로잇은 Drupal 7의 두 번의 요청으로 이루어지는 AJAX 렌더 배열 경로입니다:
name[#post_render][]=passthru, name[#markup]=id, name[#type]=markup를 통해 사용자 비밀번호 양식 캐시를 오염시킵니다.form_build_id를 /?q=file/ajax/name/#value/<form_build_id>에 제출합니다.이 저장소는 BountyDesk가 이 시나리오를 연결된 GitHub 대상으로 취급할 수 있도록 Docker 기반 실습 환경 부트스트랩을 유지합니다. Docker 이미지는 PHP 7.4에서 Drupal 7.57을 빌드하고, PHP 내장 서버를 시작하기 전에 설치 스크립트를 실행합니다.
이것은 의도적으로 취약하게 만든 실습 환경입니다. 격리된 로컬 또는 샌드박스 환경에서만 실행하세요.
docker build -t drupalgeddon2-cve-lab .
docker run --rm -p 8080:8080 drupalgeddon2-cve-lab
대상은 HTTP 포트 8080에서 수신 대기합니다.
BountyDesk는 이 저장소를 대상 코드로만 취급해야 합니다. TrueForge 에이전트는 플랫폼 하네스를 통해 실행 중인 대상을 조사해야 하며, 읽기 전용 요청에는 probe_target를 사용하고 승인이 필요한 상태 변경 요청에는 probe_target_write를 사용해야 합니다. 이 저장소의 어떤 스크립트도 권위 있는 판정 소스가 아닙니다.
증거 출처: Sentinel 저장소의 demo/evidence/drupalgeddon2-cve-2018-7600-blind-build.md.