
PoC - Gibbon LMS의 임의 파일 쓰기를 통한 RCE (CVE-2023-45878)
Gibbon LMS의 RCE를 위한 임의 파일 쓰기 (CVE-2023-45878)
GibbonEdu Gibbon LMS 버전 25.0.1 이하에서는 rubrics_visualise_saveAjax.php가 인증을 요구하지 않기 때문에 임의 파일 쓰기가 가능합니다. 해당 엔드포인트는 img, path, gibbonPersonID 매개변수를 허용합니다. img 매개변수는 base64로 인코딩된 이미지여야 합니다. path 매개변수가 설정되면 정의된 경로는 설치 디렉터리의 절대 경로와 연결된 대상 폴더로 사용됩니다. img 매개변수의 내용은 base64로 디코딩된 후 정의된 파일 경로에 기록됩니다. 이를 통해 (인증 없이) 원격 코드 실행을 허용하는 PHP 파일을 생성할 수 있습니다.
이 스크립트는 pseudo-대화형 셸을 제공합니다. 단일 PHP 파일이 원격 시스템에 업로드되며, 로컬 스크립트는 이와 직접 상호작용하기 위한 래퍼를 제공합니다. 명령이 제출되면 PHP 페이로드의 HTTP 응답을 반환합니다. 페이로드 파일이 원격 시스템에서 제거된 경우 스크립트는 404 오류 페이지 응답을 감지하고 새 업로드를 수행한 후 마지막 명령을 다시 제출합니다.
python3 gibbonlms_cmd_shell.py url
python3 gibbonlms_cmd_shell.py http://example.com
이 스크립트는 교육 목적으로 제공됩니다. 책임감 있게 pwn 하십시오.