
PoC - Escrita Arbitrária de Arquivos no Gibbon LMS para RCE (CVE-2023-45878)
Gravação Arbitrária de Arquivos no Gibbon LMS para RCE (CVE-2023-45878)
GibbonEdu Gibbon LMS versão 25.0.1 e anteriores permite Gravação Arbitrária de Arquivos porque rubrics_visualise_saveAjax.php não requer autenticação. O endpoint aceita os parâmetros img, path e gibbonPersonID. O parâmetro img deve ser uma imagem codificada em base64. Se o parâmetro path for definido, o caminho definido é usado como pasta de destino, concatenado com o caminho absoluto do diretório de instalação. O conteúdo do parâmetro img é decodificado de base64 e gravado no caminho do arquivo definido. Isso permite a criação de arquivos PHP que permitem Execução Remota de Código (não autenticada).
Este script fornece um shell pseudo-interativo. Um único arquivo PHP é enviado para o sistema remoto e o script local fornece um wrapper para interagir diretamente com ele. Quando um comando é enviado, ele retorna a resposta HTTP do payload PHP. Caso o arquivo de payload seja removido do sistema remoto, o script detectará uma resposta de página de erro 404 e realizará um novo upload e reenviará o último comando.
python3 gibbonlms_cmd_shell.py url
python3 gibbonlms_cmd_shell.py http://example.com
Este script é fornecido para fins educacionais. Por favor, pwn com responsabilidade.