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.