Inicie a máquina, hackeie o sistema e encontre as flags escondidas para completar este desafio e ganhar XP!
Local File Inclusion (LFI) é uma vulnerabilidade de aplicação web que permite aos atacantes ler arquivos no servidor manipulando parâmetros de caminho de arquivo. Ela ocorre quando uma aplicação usa entrada fornecida pelo usuário para construir caminhos de arquivo sem validação ou sanitização adequada. Vulnerabilidades LFI são comumente encontradas em aplicações PHP que incluem dinamicamente arquivos baseados em parâmetros de URL ou entradas de formulário.
Aplicações web frequentemente incluem arquivos dinamicamente para servir diferentes páginas ou carregar dados de configuração. Quando desenvolvedores usam funções como include(), require() ou file_get_contents() com entrada controlável pelo usuário, atacantes podem manipular o caminho do arquivo para acessar arquivos arbitrários no servidor. Um ataque LFI típico envolve a travessia de diretórios usando sequências como ../ para escapar do diretório pretendido e alcançar arquivos sensíveis do sistema como /etc/passwd ou arquivos de configuração da aplicação contendo credenciais.
Vulnerabilidades Local File Inclusion são particularmente perigosas porque podem servir como trampolim para ataques mais severos. Ao ler arquivos de configuração, atacantes podem descobrir credenciais de banco de dados, chaves de API e detalhes internos da aplicação. Em alguns casos, o LFI pode ser escalado para Execução Remota de Código (RCE) incluindo arquivos de log que contêm código PHP injetado, ou aproveitando wrappers PHP como php://filter para ler código-fonte. Entender o LFI é essencial para qualquer pessoa aprendendo segurança de aplicações web, pois continua sendo uma das vulnerabilidades mais frequentemente descobertas em aplicações baseadas em PHP.
Atacantes usam várias técnicas para explorar vulnerabilidades LFI. Sequências de travessia de diretórios permitem ler arquivos fora da raiz web. Wrappers de fluxo PHP como php://filter/convert.base64-encode/resource= permitem ler código-fonte PHP que de outra forma seria executado. Injeção de byte nulo (em versões mais antigas do PHP) pode truncar extensões de arquivo adicionadas. Medidas defensivas incluem validação de entrada, uso de listas brancas para arquivos permitidos, desativação de funções PHP perigosas e implementação de controles de acesso adequados no sistema de arquivos.
Crie uma conta gratuita e pratique cibersegurança.
Inicie sua máquina dedicada para começar a hackear
Crie uma conta gratuita para iniciar seu próprio servidor dedicado, enviar flags e ganhar XP no ranking.
Começar a Hackear GrátisLabs que compartilham habilidades semelhantes
Escolha como deseja começar
Entre na sua conta