
CVE-2024-10924에 대한 PoC(Proof-of-Concept) 익스플로잇으로, Really Simple SSL WordPress 플러그인에서 2FA(이중 인증) 우회를 허용하는 취약점입니다. 영향을 받는 WordPress 사이트를 보호하기 위한 완화 기법을 포함합니다.
📌 개요
이 저장소는 WordPress 플러그인 Really Simple SSL의 취약점인 CVE-2024-10924에 대한 PoC(Proof-of-Concept) 익스플로잇을 포함합니다. 이 취약점은 2FA(2단계 인증)를 우회할 수 있게 합니다. 공격자는 이 결함을 악용하여 유효한 ID를 가진 모든 사용자로 로그인할 수 있습니다.
🚨 경고: 이 익스플로잇은 교육 및 연구 목적으로만 제공됩니다. 소유하지 않은 시스템에 대한 무단 사용은 불법입니다.
🚀 익스플로잇 사용법
사전 요구 사항:
설치: 저장소 클론: | $ git clone https://github.com/h8sU/wordpress-cve-2024-10924-exploit.git $ cd wordpress-cve-2024-10924-exploit
익스플로잇 실행: $ python exploit.py <target_url> <user_id>
예시: $ python exploit.py http://web.com 1
이 명령은 지정된 user_id에 대한 2FA 인증을 우회하는 조작된 요청을 전송합니다.
🛡️ 완화 및 수정 방법
WordPress 사이트를 보호하는 방법:
플러그인 업데이트 - "Really Simple SSL"이 취약점이 패치된 최신 버전으로 업데이트되었는지 확인하세요.
REST API 액세스 제한 - Wordfence와 같은 보안 플러그인을 사용하여 승인되지 않은 API 액세스를 제한하세요.
nonce를 올바르게 검증 - 중요한 작업을 실행하기 전에 nonce가 서버 측에서 요구되고 검증되도록 하세요.
강력한 인증 메커니즘 사용 - WAF(웹 애플리케이션 방화벽)와 같은 추가 보안 계층을 구현하세요.
액세스 로그 모니터링 - rest_route=/reallysimplessl/v1/two_fa/skip_onboarding에 대한 의심스러운 API 요청이 있는지 로그를 확인하세요.
코드 수정 적용 - skip_onboarding 함수가 사용자 인증 및 nonce 검증을 올바르게 확인하는지 확인하세요. 다음 코드 조각은 권장되는 수정 사항을 보여줍니다:
try { $this->check_login_and_get_user($parameters->user_id, $parameters->login_nonce); } catch (Exception $e) { return new WP_REST_Response(['error' => $e->getMessage()], 403); }
이 수정 사항을 구현하면 승인되지 않은 요청은 403 Forbidden 응답으로 거부됩니다.
⚠️ 면책 조항
이 프로젝트는 교육 및 보안 연구 목적으로만 제공됩니다. 허가 없이 실제 시스템을 악용하려는 무단 시도는 불법이며 심각한 법적 결과를 초래할 수 있습니다. 책임감 있게 사용하세요.