Você está na página 1de 1

Manipulação de caminho

Descrição

Erros de manipulação de caminhos ocorrem quando forem satisfeitas as seguintes


condições:
1 - Um atacante pode especificar um caminho usado em uma operação no sistema de
arquivos.
2 - Ao especificar o recurso, o atacante ganha uma capacidade que não seriam
permitidas. Por exemplo, o programa pode dar ao atacante a possibilidade de
substituir o arquivo especificado ou correr com uma configuração controlada pelo
atacante.
Permitir a entrada do usuário para controlar os caminhos utilizados nas operações
do sistema de arquivos pode permitir que um invasor acessar ou modificar recursos
protegidos do sistema.

Exemplos

Exemplo 1 ~
O código a seguir usa a entrada de uma solicitação HTTP para criar um nome de
arquivo. O programador não considerou a possibilidade de que um invasor pode
fornecer um nome de arquivo como ".. /.. / Tomcat / conf / server.xml", o que faz
com que o aplicativo para excluir um de seus próprios arquivos de configuração.

String rName = request.getParameter("reportName");


File rFile = new File("/usr/local/apfr/reports/" + rName);
...
rFile.delete();

Exemplo 2 ~
O código a seguir usa a entrada de um arquivo de configuração para determinar qual
arquivo para abrir e ecoam de volta para o usuário. Se o programa é executado com
privilégios e usuários mal-intencionados podem alterar o arquivo de configuração,
eles podem usar o programa para ler qualquer arquivo no sistema que termina com a
extensão .txt.

fis = new FileInputStream(cfg.getProperty("sub")+".txt");


amt = fis.read(arr);
out.println(arr);

Você também pode gostar