O nome da pasta foi listado no File Explorer com apenas quatro pontos ....
.
Quando tentei abri-lo, entrei em uma espécie de loop de toca de coelho sem fim, onde abri a mesma pasta exatamente de novo e de novo - eu podia fazer isso sem parar. Mostrando o caminho como C:\ExamplePath\....\....\....\....\....
etc.
Estava pendurando minha compilação TypeScript em um projeto específico. Levei mais de um ano para encontrar essa pasta e seus problemas relacionados, pois estava profundamente enraizada nas pastas aninhadas. Eu nunca esperei um problema como esse, então nunca o procurei.
Não consegui excluir a pasta da maneira normal por causa do nome especial. No final, eu poderia removê-lo usando a linha de comando e excluindo a pasta pai com rd /s /q path
.
Depois, tentei criar a pasta novamente, mas não consegui fazer isso com o File Explorer e a linha de comando.
Nos meus mais de 20 anos de uso do Windows, nunca vi esse bug antes, então posso imaginar que seria realmente um problema irritante e confuso para usuários amadores.
Alguém sabe como isso poderia ter acontecido e como reproduzir esse problema?
Atualizar
Para as pessoas interessadas: esse caminho foi localizado profundamente dentro de uma pasta TFS. Então provavelmente o TFS usa o método bypass @grawity explicado ( "Vários gerenciadores de arquivos, arquivadores, etc." )
Eu tropecei em um bug raro do TFS?
GET /....\\....\\....\\....\\....\\....\\....\\....\\....\\winnt\\win.ini
. Claramente, existe / houve alguma vulnerabilidade em algum lugar que isso tenta explorar.
..
não ....
. É simplesmente uma maneira de percorrer, \winnt
independentemente da profundidade do ponto de partida (a raiz da web), desde que o ponto de partida tenha menos de 9 níveis de profundidade. Ele se baseia no fato de que ir ..
do diretório raiz o deixa no diretório raiz.
..
que era por isso que eu encontrei este bastante estranho.
..
pode ser usado em um caminho para indicar 'subir uma pasta', arriscaria adivinhar que, em algum ponto da linha, algum programa ou script concatenasse duas cadeias para criar um caminho, uma terminada com..
e a próxima iniciada com..
, e como utilizou uma das técnicas mencionadas abaixo, conseguiu criar o caminho, apesar de estar faltando o separador de pastas entre eles.