Est-il possible d'extraire les informations d'identification sauvegardées par TortoiseSVN?
Réponses
Trop de publicités?Réponse courte: Vous pouvez utiliser TortoiseSVN Decrypter de Mot de passe pour afficher facilement vos informations d'identification mises en cache, y compris les mots de passe.
Réponse longue: Voici comment fonctionne l'outil.
Les informations d'identification sont enregistrées dans des sous-répertoires %APPDATA%\Subversion\auth\
. Répertoriés à partir de cette réponse précédente , ils sont:
-
svn.simple
contient des informations d'identification pour l'authentification de base (nom d'utilisateur/mot de passe) -
svn.ssl.server
contient des certificats de serveur SSL -
svn.username
contient des informations d'identification pour le nom d'utilisateur d'authentification uniquement (aucun mot de passe nécessaire)
Le premier dossier est celui de l'intérêt. Il semble contenir des fichiers avec des noms qui ressemblent à des Guid; un pour chaque référentiel pour lequel vous avez enregistré les informations d'identification.
Les mots de passe dans ces fichiers sont cryptés par le Windows API de Protection des Données. L'outil ci-dessus utilise des exemples de code à partir de Obviex à l'interface avec cette API et effectuer le déchiffrement.
Pour que cela fonctionne, vous devez avoir accès au même compte d'utilisateur Windows que vous exécutez sous lorsque vous avez coché l'option "Enregistrer l'authentification" case à cocher. C'est parce que les Fenêtres de la Protection des Données de l'API utilise une clé de chiffrement, qui est lié à votre compte Windows. Si vous perdez ce compte (ou, je crois, si un administrateur permet de réinitialiser votre mot de passe) puis vous ne serez plus en mesure de déchiffrer les mots de passe (sauf peut-être en utilisant la force brute / un outil tiers). Avoir un nouveau compte Windows avec le même nom d'utilisateur/mot de passe (ou probablement même SID) n'est pas suffisant.
Basé sur les informations ci-dessous, il sonne comme on peut les déchiffrer, localement, d'une certaine façon...
Mise à JOUR: réponse Définitive à partir de TortiseSVN de la communauté
Lorsqu'ils sont envoyés sur le fil cryptées, elles sont cryptées à l'aide d'un poignée de main et/ou clé convenus à le temps de connexion.
Lorsqu'ils sont stockés/lire localement, ils sont cryptées/déchiffré par l' Windows API de Chiffrement qui utilise une clé liée à votre compte Windows.
Localement copie chiffrée ne peut pas être décryptée par le serveur en raison de la les clés sont à proximité de votre compte.
Ainsi, lorsque vous vous connectez (disons par HTTPS), votre client reçoit la les informations d'identification décrypté par l' approprié API de Windows, puis comprend dans la transmission HTTPS. HTTPS crypte l' ensemble de lacommunication entre le client et le serveur à l'aide de SSL les certificats, et pas seulement la les informations d'identification.