
Exploit de prova de conceito para CVE-2024-2961, que aproveita falhas de codificação do iconv e cadeias de filtros do PHP para ler arquivos arbitrários de servidores vulneráveis por meio de uploads de payloads elaborados.
Este script demonstra como explorar uma vulnerabilidade em sistemas que usam a biblioteca iconv quando ela lida incorretamente com conversões de codificação de caracteres, conforme descrito na CVE-2024-2961. Ele permite que um atacante leia arquivos arbitrários do servidor aproveitando-se de cadeias de filtros PHP e do tratamento falho de codificação.
O script automatiza o processo de envio de uma carga maliciosa, recuperação do arquivo resultante e exibição de seu conteúdo. Ele se baseia na pesquisa detalhada no artigo: Iconv CVE-2024-2961: Explorando Conversões de Codificação de Caracteres.
O script segue estas etapas:
Criação da Carga Maliciosa
Cria uma carga maliciosa de cadeia de filtros PHP que utiliza as conversões de codificação do iconv para ler qualquer arquivo do servidor. Essa carga é projetada para contornar restrições normais, permitindo acesso a arquivos como /etc/passwd ou outros arquivos sensíveis.
Envio do Arquivo
Envia uma requisição POST ao endpoint admin-ajax.php do servidor alvo, simulando o upload de uma imagem. A carga maliciosa está oculta na requisição para que o servidor a processe como se fosse um arquivo legítimo.
Download do Arquivo
Após o envio da carga, o script baixa o arquivo gerado pelo servidor, que agora contém o conteúdo do arquivo alvo. Por fim, ele extrai e exibe esse conteúdo.
requests (instale com pip install requests)iconv e do PHP.Clone o Repositório ou Baixe o Script:
git clone https://github.com/kyotozx/CVE-2024-2961-Remote-File-Read.git
cd CVE-2024-2961-Remote-File-Read
Execute o Script:
python3 lfi.py
Siga as Instruções:
/etc/passwd).1).O que o Script Faz:
Remote File Read Exploitation - CVE-2024-2961
Enter the path of the file you want to read (e.g., /etc/passwd): /etc/passwd
Enter a numeric ID for the upload (e.g., 1): 1
File uploaded successfully: http://blog.bigbang.htb/wp-content/uploads/2025/01/1-50.png
File content:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...
Este script destina-se exclusivamente a fins educacionais e de testes autorizados. Não o utilize em sistemas sem permissão explícita.