Teste de segurança - execução maliciosa de arquivo

Os desenvolvedores geralmente usam ou concatenam entradas potencialmente vulneráveis ​​com arquivos ou presumem que os arquivos de entrada são genuínos. Quando os dados não são verificados corretamente, isso pode fazer com que o conteúdo vulnerável seja processado ou chamado pelo servidor da web.

Exemplo

Alguns dos exemplos clássicos incluem -

  • Carregue o arquivo .jsp na árvore da web.
  • Carregue .gif para ser redimensionado.
  • Faça upload de arquivos enormes.
  • Carregar arquivo contendo tags.
  • Carregue o arquivo .exe na árvore da web.

Mãos em

Step 1- Inicie o WebGoat e navegue até a seção de execução de arquivo malicioso. O instantâneo do cenário é fornecido abaixo -

Step 2 - Para concluir esta lição, precisamos carregar guest.txt no local mencionado acima.

Step 3- Vamos criar um arquivo jsp de forma que o arquivo guest.txt seja criado ao executar o jsp. A nomenclatura do jsp não tem nenhum papel a desempenhar neste contexto, pois estamos executando o conteúdo do arquivo jsp.

<HTML> 
   <% java.io.File file = new 
      java.io.File("C:\\Users\\username$\\.extract\\webapps\\WebGoat\\mfe_target\\guest.txt"); 
      file.createNewFile(); %> 
</HTML>

Step 4- Agora carregue o arquivo jsp e copie a localização do link do mesmo após o upload. O upload está esperando uma imagem, mas estamos enviando um jsp.

Step 5 - Ao navegar até o arquivo jsp, não haverá nenhuma mensagem para o usuário.

Step 6 - Agora atualize a sessão onde você carregou o arquivo jsp e você receberá a mensagem dizendo, "* Parabéns. Você concluiu a lição com sucesso".

Mecanismos Preventivos

  • Proteja sites usando permissões de sites.
  • Adote contramedidas para segurança de aplicativos da web.
  • Compreenda as contas de usuário e grupo integradas no IIS 7.0.