
CVE-2024-33911에 대한 개념 증명 익스플로잇으로, 인증 후 SQL 인젝션 취약점이 The School Management WordPress 플러그인 v10.3.4에 존재하여 admin-ajax.php 엔드포인트를 통해 임의의 SQL 명령 실행을 가능하게 합니다.
익스플로잇 제목: The School Management 10.3.4 - Post-Authenticated SQL Injection
날짜: 2024년 4월 29일
익스플로잇 작성자: Ivan Spiridonov (xbz0n)
공급업체 홈페이지: https://theschool-management.com
버전: 10.3.4
테스트 환경: Ubuntu 22.04
CVE: CVE-2024-33911
The School Management 플러그인, 버전 10.3.4, Weblizar가 WordPress용으로 개발한 것은, '/wp-admin/admin-ajax.php' 엔드포인트의 'order%5B0%5D%5Bdir%5D' 매개변수를 통한 인증 후 SQL 인젝션에 취약합니다. 이 취약점은 사용자가 제공한 매개변수의 이스케이프가 불충분하고 SQL 쿼리의 적절한 준비가 부족하여 발생합니다. 이러한 취약점으로 인해 인증된 공격자가 임의의 SQL 명령을 삽입하고 실행할 수 있으며, 이는 데이터베이스 정보에 대한 무단 액세스 또는 조작으로 이어질 수 있습니다.
이 취약점은 관리자 AJAX 엔드포인트 내의 'order%5B0%5D%5Bdir%5D' 매개변수에서 발견됩니다. 이 매개변수를 조작함으로써 인증된 공격자가 SQL 명령을 삽입할 수 있으며, 이는 시간 기반 SQL 인젝션 취약점으로 이어집니다.
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: localhost
[추가 헤더]
draw=3&[기타 매개변수]&order%5B0%5D%5Bdir%5D=asc%2c(select*from(select(sleep(20)))a)
서버 응답이 약 20초 지연되면 시간 기반 SQL 인젝션이 성공적으로 익스플로잇되었음을 나타내며, 이는 취약점을 확인합니다.
The School Management v10.3.4 사용자는 영향을 받는 엔드포인트에 대한 액세스를 제한하고 플러그인을 최신 버전으로 업데이트할 것을 강력히 권장합니다. 또한 적절한 입력 검증 및 무결성 검사를 구현하는 것이 중요합니다. SQL 명령을 처리하기 위해 준비된 명령문 또는 매개변수화된 쿼리를 사용하면 이러한 취약점을 완화하는 데 도움이 될 수 있습니다.