Os ataques de passagem de diretório, também conhecidos como ataques de passagem de caminho, representam um risco significativo no domínio da segurança da web. Eles exploram principalmente a vulnerabilidade de segurança na função de um aplicativo da web de acessar os arquivos presentes no servidor. Esses ataques permitem que um usuário nefasto acesse arquivos e diretórios armazenados fora da pasta webroot, manipulando variáveis que fazem referência a arquivos com sequências “ponto-ponto-barra (../)”.
A evolução dos ataques de passagem de diretório
A origem dos ataques de passagem de diretório remonta aos primórdios da Internet, quando os aplicativos da Web começaram a utilizar scripts para acessar arquivos do lado do servidor. À medida que a tecnologia avançava e as aplicações web se tornavam mais complexas, o potencial para estes tipos de vulnerabilidades também aumentava.
A primeira menção pública a ataques de passagem de diretório é um tanto difícil de identificar devido à natureza fundamental desta vulnerabilidade. No entanto, a preocupação com a segurança tornou-se mais proeminente durante o final da década de 1990 e início da década de 2000, à medida que as aplicações Web se tornaram comuns e as oportunidades para explorar referências de ficheiros inseguros aumentaram.
Expandindo os ataques de passagem de diretório
Um ataque de passagem de diretório é uma forma de exploração HTTP na qual um hacker acessa o diretório de um servidor que normalmente não está disponível ao público. O invasor explora a validação de segurança insuficiente ou a sanitização de nomes de arquivos de entrada fornecidos pelo usuário, permitindo-lhes escapar do ambiente restrito.
O uso mais comum de sequências de passagem de diretório é em ataques baseados em URL, mas elas também podem aparecer em injeções de cabeçalho, manipulações de cookies ou até mesmo em parâmetros POST. Com isso, os invasores podem visualizar diretórios restritos e executar comandos fora do diretório raiz do servidor web, obtendo assim acesso não autorizado a informações confidenciais.
Como funcionam os ataques de passagem de diretório
Um ataque de passagem de diretório funciona explorando validação/sanitização de segurança insuficiente de nomes de arquivos de entrada fornecidos pelo usuário, para que um invasor possa manipulá-los para sair do local restrito.
De forma bastante simplificada, vamos considerar um cenário em que uma aplicação está tentando acessar um arquivo de imagem do servidor:
arduinohttp://example.com/app?file=logo.jpg
Neste caso, o aplicativo abriria o arquivo logo.jpg
de seu diretório de imagens. No entanto, um invasor pode usar as sequências “ponto-ponto-barra (../)” para mover-se para o diretório pai e, em seguida, acessar arquivos não autorizados. Por exemplo:
festahttp://example.com/app?file=../../etc/passwd
Isso pode fazer com que o aplicativo exiba arquivos confidenciais do sistema.
Principais recursos de ataques de passagem de diretório
-
Manipulando Variáveis: A característica fundamental de um ataque de passagem de diretório envolve a manipulação de variáveis que fazem referência a arquivos com sequências “ponto-ponto-barra (../)”.
-
Quebrando restrições: Ele permite que o invasor saia do diretório raiz do aplicativo e acesse outras partes do sistema de arquivos.
-
Explorando validação fraca: Os ataques de passagem de diretório exploram a validação ou limpeza fraca das entradas do usuário.
Tipos de ataques de passagem de diretório
Embora o princípio básico por trás dos ataques de passagem de diretório permaneça o mesmo, eles podem se manifestar de diferentes maneiras com base no contexto e no aplicativo em questão:
-
Ataques baseados em URL: Isso envolve a injeção de informações maliciosas na URL para percorrer diretórios.
-
Ataques baseados em formulário: Entradas maliciosas são inseridas em campos de formulário para explorar scripts vulneráveis do lado do servidor.
-
Ataques baseados em cookies: Os invasores manipulam cookies para percorrer diretórios e acessar dados não autorizados.
Tipo | Descrição |
---|---|
Ataques baseados em URL | Injete entrada maliciosa na URL para percorrer diretórios. |
Ataques baseados em formulário | Insira entradas maliciosas em campos de formulário para explorar scripts do lado do servidor. |
Ataques baseados em cookies | Manipule cookies para percorrer diretórios e acessar dados não autorizados. |
Problemas e soluções associados a ataques de passagem de diretório
O principal problema dos ataques de passagem de diretório é o acesso não autorizado a arquivos e dados confidenciais. Isso pode levar ao vazamento de dados, perda de confidencialidade e potencialmente fornecer ao invasor outros vetores de ataque (como obter credenciais de banco de dados a partir de arquivos de configuração).
Aqui estão algumas soluções:
-
Validação de entrada: Garanta uma validação robusta das entradas fornecidas pelo usuário. Não permita “..” ou “/” como parte das entradas.
-
Controle de acesso: Implemente o controle de acesso adequado. Não confie apenas no caminho do arquivo fornecido para autorizar o usuário.
-
Princípio do menor privilégio: Execute o aplicativo com o mínimo de privilégios necessários, reduzindo o dano potencial de um ataque de passagem de diretório.
Ataques de passagem de diretório e termos semelhantes
Prazo | Descrição |
---|---|
Ataque transversal de diretório | Explora uma vulnerabilidade nos procedimentos de entrada do usuário para acessar arquivos e diretórios não autorizados. |
Inclusão remota de arquivos (RFI) | Um invasor usa caminhos de entrada do usuário para carregar um script malicioso no servidor de um site. |
Inclusão de arquivo local (LFI) | Um invasor manipula um site para executar ou revelar o conteúdo dos arquivos no servidor web. |
Perspectivas futuras e tecnologias relacionadas a ataques de passagem de diretório
À medida que o cenário de desenvolvimento web evolui, os métodos e ferramentas para realizar ataques de passagem de diretório podem se tornar mais sofisticados. No entanto, a base da prevenção provavelmente ainda residirá na validação robusta de entradas e na configuração sensata do sistema.
Firewalls de aplicativos da Web, sistemas de detecção de anomalias e algoritmos de aprendizado de máquina para sistemas de detecção de intrusões poderiam desempenhar um papel significativo em futuras estratégias de mitigação contra tais ataques.
A conexão entre servidores proxy e ataques de passagem de diretório
Os servidores proxy podem servir como uma camada de segurança adicional contra ataques de passagem de diretório. Ao filtrar solicitações e respostas entre o cliente e o servidor, eles podem ajudar a detectar padrões incomuns ou sinais de ataques de passagem de diretório, evitando assim que cheguem ao servidor.
OneProxy, por exemplo, fornece uma solução robusta de servidor proxy que pode desempenhar um papel fundamental na sua estratégia de defesa contra esses tipos de ataques.