Il nome della cartella era elencato in Esplora file con solo quattro punti ....
.
Quando ho provato ad aprirlo, sono entrato in una sorta di loop infinito di buchi di coniglio in cui ho aperto la stessa cartella ancora e ancora - potevo farlo all'infinito. Mostrando il percorso come C:\ExamplePath\....\....\....\....\....
, ecc.
Stava appendendo la mia compilazione TypeScript in un progetto specifico. Mi ci è voluto più di un anno prima di trovare questa cartella e i relativi problemi, perché era profondamente radicata nelle cartelle nidificate. Non mi sarei mai aspettato un problema come questo, quindi non l'ho mai cercato.
Non è stato possibile eliminare la cartella in modo normale a causa del nome speciale. Alla fine, ho potuto rimuoverlo utilizzando la riga di comando ed eliminando la cartella principale con rd /s /q path
.
Successivamente, ho provato a creare nuovamente la cartella ma non sono riuscito a farlo sia con Esplora file che con la riga di comando.
Nei miei oltre 20 anni di utilizzo di Windows non ho mai visto questo bug prima, quindi posso immaginare che sarebbe davvero un problema fastidioso e confuso per gli utenti amatoriali.
Qualcuno sa come sia potuto succedere e come riprodurre questo problema?
Aggiornare
Per le persone interessate: questo percorso si trovava in profondità all'interno di una cartella TFS. Quindi probabilmente TFS usa il metodo di bypass spiegato @grawity ( "Vari file manager, archiviatori, ecc." )
Mi sono imbattuto in un raro bug TFS?
GET /....\\....\\....\\....\\....\\....\\....\\....\\....\\winnt\\win.ini
. Chiaramente c'è / c'era qualche vulnerabilità da qualche parte che questo tenta di sfruttare.
..
, no ....
. È semplicemente un modo per attraversare \winnt
indipendentemente dalla profondità del punto iniziale (la radice del web), purché il punto iniziale sia inferiore a 9 livelli. Si basa sul fatto che passare ..
dalla directory principale ti lascia alla directory principale.
..
che è stato il motivo per cui ho trovato questo piuttosto strano.
..
può essere usato in un percorso per indicare "vai su una cartella", rischierei di indovinare che da qualche parte lungo la linea, qualche programma o script ha concatenato due stringhe per creare un percorso, uno si è concluso con..
e il successivo è iniziato con..
, e poiché utilizzava una delle tecniche menzionate di seguito, riuscì a creare il percorso, anche se mancava il separatore di cartelle tra di loro.