Skip to main content
Hackers do Bem BR

Hackers do Bem BR

O programa do governo brasileiro Hackers do Bem tem como objetivo desenvolver recursos humanos em cibersegurança. O programa é destinado a estudantes do ensino técnico, médio e superior. A formação está prevista para ser concluída no final de 2025.

Teve duas vulnerabilidades graves expostas ao público.

IDOR (Insecure Direct Object Reference) e LFI (LFI - Local File Inclusion)

A vulnerabilidade IDOR (Insecure Direct Object Reference), refere-se a uma falha de segurança em sistemas de software onde os identificadores de objetos diretos (como IDs de usuários, IDs de sessões, IDs de arquivos) são expostos ou manipuláveis de forma inadequada, permitindo que um usuário mal-intencionado acesse recursos que normalmente não deveria ter permissão.

Para entender melhor como funciona, imagine um sistema de uma loja online onde cada usuário tem um ID único associado a sua conta. Esse ID é usado para acessar informações relacionadas à conta, como detalhes de pedidos, histórico de compras etc. Se o sistema não estiver adequadamente protegido contra a vulnerabilidade IDOR, um usuário mal-intencionado poderia manipular o ID na URL para acessar informações de outras contas.

  • Identificação dos Objetos Diretos: Em muitos sistemas web, os objetos (como usuários, arquivos, pedidos) são identificados por um número único, geralmente chamado de ID. Por exemplo, um usuário pode ter um ID de 1, outro de 2, e assim por diante.
  • Acesso Direto aos Objetos: Em sistemas bem projetados, os objetos só devem ser acessíveis pelas pessoas autorizadas. Por exemplo, um usuário só deve ser capaz de ver seus próprios pedidos, não os de outros usuários.
  • Manipulação dos IDs: Na vulnerabilidade IDOR, os IDs são manipuláveis de forma inadequada. Isso significa que um usuário pode tentar alterar o ID na URL para acessar recursos que não lhe pertencem.
  • Falta de Verificação de Permissões: O sistema não verifica adequadamente se o usuário tem permissão para acessar o objeto com o ID fornecido. Isso pode permitir que um usuário mal-intencionado acesse informações confidenciais de outros usuários.

Agora, vamos a um exemplo prático:

Imagine que um sistema de uma loja online tenha URLs como esta:

https://lojaonline.com/minhaconta/pedido?id=123
Nesse exemplo, o ID do pedido é 123. Normalmente, um usuário só deveria ser capaz de acessar os seus próprios pedidos. No entanto, se o sistema não estiver protegido contra a vulnerabilidade IDOR, um usuário mal-intencionado poderia simplesmente alterar o ID na URL para tentar acessar os pedidos de outros usuários. Por exemplo:

https://lojaonline.com/minhaconta/pedido?id=124
Se o sistema não verificar adequadamente as permissões, ele pode permitir que esse usuário mal-intencionado acesse os detalhes do pedido de outro cliente.

Para evitar a vulnerabilidade IDOR, os desenvolvedores devem implementar medidas de segurança adequadas, como:

  1. Garantir que os usuários só tenham acesso aos recursos aos quais têm permissão explícita.
  2. Implementar controles de acesso robustos para verificar as permissões antes de permitir o acesso a recursos protegidos.
  3. Usar tokens de sessão ou outras técnicas de autenticação e autorização para garantir que apenas usuários autenticados e autorizados possam acessar recursos protegidos.

A vulnerabilidade de Inclusão de Arquivos Locais (LFI - Local File Inclusion) é uma falha de segurança em sistemas web que permite que um invasor inclua arquivos locais no servidor remoto através de um aplicativo web. Isso geralmente ocorre quando o aplicativo não valida ou filtra adequadamente entradas do usuário que são utilizadas para incluir arquivos, permitindo que o invasor manipule essas entradas para acessar arquivos confidenciais ou executar código malicioso.

  • Inclusão de Arquivos Locais: Muitos aplicativos web precisam incluir arquivos locais para funcionar corretamente. Por exemplo, um site pode incluir um arquivo de cabeçalho ou rodapé em todas as suas páginas.
  • Entradas do Usuário: Em um aplicativo vulnerável à LFI, as entradas do usuário não são devidamente validadas ou filtradas antes de serem usadas para incluir arquivos locais. Essas entradas podem ser parâmetros de URL, cookies, cabeçalhos HTTP ou qualquer outra forma de entrada fornecida pelo usuário.
  • Manipulação das Entradas: Um invasor pode manipular essas entradas para fornecer o caminho de um arquivo local que não deveria ser acessível publicamente. Isso pode incluir arquivos de configuração, arquivos contendo informações sensíveis, ou até mesmo arquivos que permitem a execução de código malicioso.
  • Execução de Código Malicioso: Se um invasor conseguir incluir um arquivo contendo código malicioso, ele pode comprometer o servidor remoto, causando danos graves, como roubo de dados, interrupção do serviço ou até mesmo controle total do sistema.

Agora, vamos a um exemplo prático:

Suponha que um aplicativo web tenha uma funcionalidade que inclui arquivos locais com base em um parâmetro de URL chamado "page":

https://meuwebsite.com/index.php?page=header.php
Nesse exemplo, o aplicativo incluiria o arquivo "header.php" na página. No entanto, se o aplicativo não validar adequadamente o parâmetro "page", um invasor poderia manipulá-lo para incluir arquivos locais maliciosos:

https://meuwebsite.com/index.php?page=/etc/passwd
Neste caso, o invasor está tentando incluir o arquivo /etc/passwd, que é um arquivo sensível em sistemas Unix-like que armazena informações sobre os usuários do sistema. Se o aplicativo for vulnerável à LFI, o invasor poderá conseguir acesso a esse arquivo e obter informações confidenciais sobre os usuários do sistema.

Para mitigar a vulnerabilidade de Inclusão de Arquivos Locais, os desenvolvedores devem adotar práticas de segurança, tais como:

  1. Validar e filtrar cuidadosamente todas as entradas do usuário antes de incluir arquivos locais.
  2. Limitar as permissões de arquivo do servidor para restringir o acesso a arquivos sensíveis.
  3. Utilizar listas brancas para permitir apenas a inclusão de arquivos específicos e seguros.
  4. Atualizar e monitorar regularmente o sistema para identificar e corrigir possíveis vulnerabilidades.

 

Atualmente, a segurança da informação é uma prioridade absoluta para empresas de todos os tamanhos. As vulnerabilidades de segurança, como Inclusão de Arquivos Locais (LFI) e Insecure Direct Object Reference (IDOR), representam ameaças significativas que podem comprometer a integridade e a confidencialidade dos dados corporativos.

Nossa equipe de especialistas em segurança cibernética está aqui para ajudar a proteger sua empresa contra essas ameaças. Com ampla experiência e conhecimento em técnicas de hacking ético, desenvolvimento seguro de software e melhores práticas de segurança da informação, estamos prontos para ajudar a identificar e mitigar essas vulnerabilidades de forma eficaz.

 

Felipe Perin


Especialista em Segurança da Informação, Entusiasta em Software Livre, Palestrante e Consultor em Preservação de Acervos. Com expertise em SIEM, Pentest, Hardening, Honeypot, WAF - Web Application Firewall, ISO 27001, SDL - Secure Development Lyfecicle, e-GOV, e-PING (Padrão de Interoperabilidade), e-MAG (Padrão de Acessibilidade), e-PWG (Administração, Codificação, Redação Web e Usabilidade), 5S, Archivematica, Atom2 - Access to Memory, OJS - Open Journal System, Virtualização, Scan de Vulnerabilidades, Data Protection Office ou Encarregado de Proteção de Dados, Monitoramento de Ativos, Backup, Resposta à Incidentes de Segurança, Gestão de Risco e Conformidade, Software Livre, Log Management, Offshore Surveyor e Projetos Ecos sustentáveis (TI-VERDE)