Página Inicial || Próximo || Anterior
Path Traversal Attack
Path Traversal é um tipo de ataque contra servidores web com objetivo de acessar arquivos e diretórios restritos. Devido a uma vulnerabilidade nesse servidores, os mecanismos de segurança para autorização de acesso aos arquivos e diretórios não funciona corretamente e permite o acesso indevido através do uso do comando ../ para se movimentar entre os níveis de diretórios.
Geralmente, os mecanimos de segurança para acesso a arquivos e diretórios é a Access Control List onde as permissões de acesso são definidas, por exemplo, um usuário somente tem acesso aos arquivos em seu diretório “root” (diretório padrão). Neste caso, se o servidor estiver vulnerável e o usuário executar o ataque Path Traversal, ele conseguirá acessar outros diretórios e arquivos ao enviar uma sequencia de comandos ../ para o servidor.
Executando o Path Traversal
O exemplo abaixo é executado na aplicação vulnerável Mutillidae e o ataque não requer, neste caso, que o usuário esteja logado na aplicação. No entanto, em um cenário real, para executar com sucesso o Path Traversal na maioria dos casos, o usuário tem que estar autenticado na aplicação pois a vulnerabilidade consiste em contornar o mecanismo de autorização aplicado para a conta logada. Um dos vetores desse ataque é o envio de consultas através do método GET como no exemplo abaixo
http://192.168.0.19/mutillidae/index.php?page=arbitrary-file-inclusion.php
Depois que a captura dessa requisição é feita pelo Burp é possível enviar sequencias de comandos ../ como parametros da consulta feita através do método GET http://192.168.0.19/mutillidae/index.php?page=../../../../../../etc/passwd
O servidor retorna o conteúdo do arquivo passwd, concluíndo com sucesso o ataque e confirmando a vulnerabilidade do servidor.
Em um cenário real, a quantidade de níveis no comando ../ pode variar bastante e, por isso é recomendado utilizar uma lista com diversos níveis, conforme mostrado abaixo para Linux e Windows. Quando ataque é testado em sequencia, geralmente outros arquivos são explorados além do passwd
../../../../../../etc/passwd
../../../../../../../../conf/server.xml
../../../../../../../../../../../../etc/host
C:/boot.ini
C:\inetpub\wwwroot\global.asa
Esse ataque é bastante nocivo quando executado com sucesso. Atualmente, essa vulnerabilidade é mais facilmente encontrada quando o usuário está logado na aplicação e o mecanismo de autorização de uma ACL não funciona corretamente permitindo o acesso de um usuário com perfil comum a arquivos e diretórios indevidos.