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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
WPTimeCapsulePOC — An authentication bypass was recently discovered (https://www.webarxsecurity.com/vulnerability-infinitewp-client-wp-time-capsule/) on WP Time Capsule < 1.21.16. This PoC proves how the issue works and how it can be exploited. | Kitploit
도구/GitHubGitHub/secforce/wptimecapsulepoc
ExploitationWeb Application ExploitationPost-ExploitationPenetration TestingAuthenticationPayload Development
GitHubsecforce/wptimecapsulepoc

WPTimeCapsulePOC

An authentication bypass was recently discovered (https://www.webarxsecurity.com/vulnerability-infinitewp-client-wp-time-capsule/) on WP Time Capsule < 1.21.16. This PoC proves how the issue works and how it can be exploited.

저장소 보기
546년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Backup and Staging by WP Time Capsule < 1.21.16 - 인증 우회 개념 증명

WP Time Capsule < 1.21.16에서 인증 우회(Authentication Bypass) 취약점이 최근 발견되었습니다 (https://www.webarxsecurity.com/vulnerability-infinitewp-client-wp-time-capsule/). 이 PoC는 해당 문제가 어떻게 동작하며 어떻게 악용될 수 있는지를 증명합니다.

The PoC

이 PoC는 두 가지 옵션을 제공합니다:

  • 사례 1: 관리자 쿠키 획득 예시:
    root@kitploit:~
    poc.py http://127.0.0.1/
    
  • 사례 2: 관리자 쿠키 획득 + 비밀번호로 보호된 웹쉘을 /wp-content/plugins/shell/shell.php에 업로드 예시:
    root@kitploit:~
    poc.py http://127.0.0.1 shell
    

문제

wptc-cron-functions.php 내부에 있으며 Wptc_Init 생성자에 의해 호출되는 decode_server_request_wptc() 함수는 본문(body)으로 전송된 요청을 디코딩할 때 어떠한 권한 검사도 수행하지 않습니다:

root@kitploit:~
if( !empty($HTTP_RAW_POST_DATA_LOCAL)
  && strpos($HTTP_RAW_POST_DATA_LOCAL, 'IWP_JSON_PREFIX') !== false ){

  wptc_log('', "--------IWP_JSON_PREFIX--coming------");

  wp_cookie_constants();
  wptc_login_as_admin();
}

단순히 모든 POST 요청의 본문에 IWP_JSON_PREFIX 문자열이 포함되어 있는지만 확인하며, 포함되어 있으면 다음 메서드를 호출합니다:

root@kitploit:~
  wp_cookie_constants();
  wptc_login_as_admin();

wptc_login_as_admin()은 모든 관리자 사용자를 가져와 첫 번째 사용자를 추출한 후 해당 사용자 이름에 대한 쿠키를 반환합니다.

root@kitploit:~

function wptc_login_as_admin(){

	wptc_log(func_get_args(), "--------" . __FUNCTION__ . "--------");

	wptc_define_admin_constants();

	if( !function_exists('is_user_logged_in') ){
		include_once( ABSPATH . 'wp-includes/pluggable.php' );
	}

	if(is_user_logged_in()){
		return ;
	}

	$admins = get_users(array('role' => 'administrator'));

	foreach ($admins as $admin) {
		$user = $admin;
		break;
	}

	if (isset($user) && isset($user->ID)) {
		wp_set_current_user($user->ID);
		// Compatibility with All In One Security
		update_user_meta($user->ID, 'last_login_time', current_time('mysql'));
	}

	if(!defined('SECURE_AUTH_COOKIE')){

		return;
	}

	$isHTTPS = (bool)is_ssl();

	if($isHTTPS){
		wp_set_auth_cookie($user->ID);
	} else{
		wp_set_auth_cookie($user->ID, false, false);
		wp_set_auth_cookie($user->ID, false, true);
	}
}

문제 재현

이 테스트를 위해 다음을 사용했습니다:

  • docker-compose 준비된 Wordpress 이미지 https://github.com/nezhar/wordpress-docker-compose
  • wp-time-capsule 1.21.15 https://downloads.wordpress.org/plugin/wp-time-capsule.1.21.15.zip
  • Burp Suite

수행 단계:

  1. 브라우저에서 새 세션에 접속
  2. wp-login.php로 이동
  3. 더미 사용자 이름과 비밀번호 입력
  4. 본문(BODY)의 일부를 다음 문자열로 교체: IWP_JSON_PREFIX
  5. 홈 페이지로 돌아가기

도구 다운로드