Retrouver ses mots de passe FileZilla

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 !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.