Je vous propose une petite astuce pour récupérer rapidement ses mots de passe FileZilla au cas où, comme moi, vous en aurez oublié (oups).
FileZilla est un client FTP (aussi serveur) gratuit multi-plateforme. Il propose entre autres un gestionnaire de sites qui permet de se connecter rapidement à un serveur configuré sans avoir à retaper ses identifiants.
FileZilla stocke en effet les mots de passe dans un fichier nommé « sitemanager.xml ». Les mots de passe sont stockés en base64, il nous faut donc les décoder. Pour vous simplifier la tâche, j’ai écrit un programme Python (version 3.4 et supérieur) qui vous listera vos serveurs et vos mots de passe. Le voici :
import base64 import base64 import os import xml.etree.ElementTree as ET from sys import platform as _platform path = os.path.expanduser('~') # return '/Users/myuser' or 'C:\Users\myuser' # Mac or Linux if _platform == "linux" or _platform == "linux2" or _platform == "darwin": path += "/.config/filezilla/sitemanager.xml" # Windows elif _platform == "win32" or _platform == "win64": path += "\AppData\Roaming\FileZilla\sitemanager.xml" else: print("Unknown platform") f = open(path, 'r') content = f.read() root = ET.fromstring(content) for child in root: for sub_child in child: for info in sub_child: if info.tag == "Pass": decoded_password = base64.b64decode(info.text).decode(encoding='UTF-8') print("Name : " + sub_child.find("Name").text) print("Pass : " + decoded_password + "\n ***")
Chez moi, le programme retourne :
Name : Serveur Pass : motdepasseici *** Name : Yun Pass : encoreUnM0tdePasse ***
Nickel !