Le nom du dossier était répertorié dans l'Explorateur de fichiers avec simplement quatre points ....
.
Quand j'ai essayé de l'ouvrir, je suis entré dans une sorte de boucle de trou de lapin sans fin où j'ai ouvert le même dossier, encore et encore - je pouvais le faire sans fin. Montrer le chemin comme C:\ExamplePath\....\....\....\....\....
, etc.
Il était accroché ma compilation TypeScript dans un projet spécifique. Il m'a fallu plus d'un an avant de trouver ce dossier et ses problèmes, car il était profondément enraciné dans des dossiers imbriqués. Je ne m'attendais jamais à un problème de ce genre, je ne l'ai donc jamais cherché.
Je ne pouvais pas supprimer le dossier normalement, à cause du nom spécial. En fin de compte, je pourrais le supprimer en utilisant la ligne de commande et en supprimant le dossier parent avec rd /s /q path
.
Par la suite, j’ai essayé de créer à nouveau le dossier, mais j’ai été incapable de le faire avec l’explorateur de fichiers et la ligne de commande.
Au cours de mes 20 années d’utilisation de Windows, je n’avais jamais vu ce bogue auparavant, alors j’imagine que ce serait vraiment un problème embêtant et déroutant pour les utilisateurs amateurs.
Est-ce que quelqu'un sait comment cela aurait pu se produire et comment reproduire ce problème?
Mise à jour
Pour les personnes intéressées: ce chemin était situé profondément dans un dossier TFS. Donc, probablement TFS utilise la méthode de contournement @grawity expliquée ( "Divers gestionnaires de fichiers, archiveurs, etc." )
Ai-je trébuché sur un rare bug de TFS?
GET /....\\....\\....\\....\\....\\....\\....\\....\\....\\winnt\\win.ini
. Clairement, il existe / existait une vulnérabilité quelque part que celle-ci tente d’exploiter.
..
, non ....
. Il s'agit simplement d'un moyen de parcourir \winnt
quelle que soit la profondeur du point de départ (la racine Web), tant que le point de départ est inférieur à 9 niveaux. Cela repose sur le fait que ..
partir du répertoire racine vous laisse au répertoire racine.
..
qui était la raison pour laquelle j'ai trouvé celui - ci assez bizarre.
..
peut être utilisé dans un chemin pour indiquer «monter d'un dossier», je suppose que quelque part dans la ligne, un programme ou un script a concaténé deux chaînes pour créer un chemin, l'une terminée..
et l'autre commençant par..
, et Comme il utilisait l’une des techniques mentionnées ci-dessous, il a réussi à créer le chemin, même s’il manquait le séparateur de dossiers entre eux.