Como ativar dois períodos consecutivos na URL sem introduzir uma vulnerabilidade de segurança

3

Eu tenho um site em execução no IIS 7.5 que hospeda algum conteúdo gerado pelo usuário. Recentemente, me deparei com um arquivo com dois períodos em seu nome de arquivo. Vamos chamá-lo de foo..bar.jpg . Quando eu tento acessá-lo, recebo um erro 400 que, infelizmente, apenas diz Bad Request em texto simples.

A pesquisa não resultou em quase nada, apenas esta pergunta nos fóruns do IIS em que é declarado que se trata de um comportamento intencional destinado a impedir o acesso a arquivos fora do aplicativo da web por meio do diretório pai, ../ . Eles fornecem instruções sobre como desabilitar essa verificação, que provavelmente abriria meu site até ataques de passagem de caminho.

Esta verificação é extremamente overzealous e bloqueia muitos nomes de arquivos inócuos que eu quero ser capaz de suportar na minha aplicação. Eu posso criar algumas soluções, como forçar a renomeação dos arquivos ou servi-los através de um manipulador .ashx , nenhum dos quais são muito atraentes.

Existe alguma maneira de dar suporte a URLs que contenham períodos duplos via StaticFileHandler sem introduzir uma exploração de caminho cruzado?

    
por mm201 06.12.2017 / 20:29

0 respostas