Domanda Cookie logger in Python

Maxwell2609

Helper
29 Ottobre 2020
92
20
33
Salve, vorrei sapere se esiste qualche libreria Python che permetta di ottenere i cookie dal browser in modo da scaricarli ed utilizzarli su un altro computer (ad esempio per bypassare un login). Oppure, più semplicemente, se basti o no copiare il file SQLite contenente i dati dei cookie. Grazie in anticipo.
 

laiser

Utente Iron
18 Giugno 2021
12
5
10
Hi. You can just download cookies from your browser directory.
For chrome:
C:\Users\Username\AppData\Local\Google\Chrome\User Data\Default

From there, you can replace it in your directory.
Or you can use Selenium and load these cookies into it
 
  • Mi piace
Reactions: Maxwell2609

Maxwell2609

Helper
29 Ottobre 2020
92
20
33
Hi. You can just download cookies from your browser directory.
For chrome:
C:\Users\Username\AppData\Local\Google\Chrome\User Data\Default

From there, you can replace it in your directory.
Or you can use Selenium and load these cookies into it
ho provato ma non funziona, sapresti dirmi esattamente quali file devo copiare?
 
DOWNLOAD

JunkCoder

Moderatore
5 Giugno 2020
758
606
345
Copiare solo il file sqlite non basta, i valori dei cookie in browser come Firefox e Chrome sono cifrati con la master key, che viene ottenuta da un'API di sistema. Nel tuo script devi prima ottenere la chiave facendo le stesse chiamate che fa il browser e poi esportarla insieme al file, in modo che potrai decriptarlo in seguito sulla tua macchina e recifrarli con la tua chiave.
 

Maxwell2609

Helper
29 Ottobre 2020
92
20
33
Copiare solo il file sqlite non basta, i valori dei cookie in browser come Firefox e Chrome sono cifrati con la master key, che viene ottenuta da un'API di sistema. Nel tuo script devi prima ottenere la chiave facendo le stesse chiamate che fa il browser e poi esportarla insieme al file, in modo che potrai decriptarlo in seguito sulla tua macchina e recifrarli con la tua chiave.
Come posso ottenere quella chiave? Intendo, come posso esportala dal browser?
 

JunkCoder

Moderatore
5 Giugno 2020
758
606
345
Come posso ottenere quella chiave? Intendo, come posso esportala dal browser?

Il meccanismo è lo stesso delle password, la master key si ottiene tramite l'API CryptUnprotectData, con questa puoi cifrare e decifrare i dati con AES GCM. Dai un'occhiata a questo snippet:

Python:
def get_master_key():
    with open(os.environ['USERPROFILE'] + os.sep + r'AppData\Local\Google\Chrome\User Data\Local State', "r") as f:
        local_state = f.read()
        local_state = json.loads(local_state)
    master_key = base64.b64decode(local_state["os_crypt"]["encrypted_key"])
    master_key = master_key[5:]  # removing DPAPI
    master_key = win32crypt.CryptUnprotectData(master_key, None, None, None, 0)[1]
    return master_key

Fonte
 
Supporta Inforge con una donazione

Maxwell2609

Helper
29 Ottobre 2020
92
20
33
Il meccanismo è lo stesso delle password, la master key si ottiene tramite l'API CryptUnprotectData, con questa puoi cifrare e decifrare i dati con AES GCM. Dai un'occhiata a questo snippet:

Python:
def get_master_key():
    with open(os.environ['USERPROFILE'] + os.sep + r'AppData\Local\Google\Chrome\User Data\Local State', "r") as f:
        local_state = f.read()
        local_state = json.loads(local_state)
    master_key = base64.b64decode(local_state["os_crypt"]["encrypted_key"])
    master_key = master_key[5:]  # removing DPAPI
    master_key = win32crypt.CryptUnprotectData(master_key, None, None, None, 0)[1]
    return master_key

Fonte
ok, funziona tutto, dunque ultima cosa... come uso questa chiave per rendere utilizzabili quei file?
immagino debba usarla per decrittare i file e usare la mia per crittarli di nuovo, ma come?