python資料庫操作之解密瀏覽器自動儲存的密碼

2021-09-28 07:55:25 字數 1462 閱讀 2217

對於自動儲存的密碼檢視,比如時間久了,自己忘記密碼的話,如果是最上圖那種情況,就是可以看到頁面儲存資訊的,只是密碼以不可見形式存在,只需修改頁面元素(input)屬性即可,把type的值改為text,就可以看到明文密碼了,如果無法進入登入頁面,只能讀取本地儲存賬號資訊的資料庫檔案了,下面通過python**實現賬號資訊的解密和讀取。

這部分用到的python庫主要有:sqlite3,win32crypt。

**(檔案getpasswd.py)如下:

import sqlite3        # to access the chrome sqlite db

import win32crypt # used to call windows api cryptunprotectdata

import os,sys,time

fname="chrome_password.txt"

def fetchs(path2):

if not os.path.isfile(path2):

print('invalid file!')

return

conn = sqlite3.connect(path2) # ****** a connection to copied database

cursor = conn.cursor()

cursor.execute('select origin_url, action_url, username_value, password_value from logins')

with open(fname,'w') as fp:

for raw in cursor.fetchall():

password = win32crypt.cryptunprotectdata(raw[-1])[1]

store=raw[0]+'\n'+raw[1]+'\n'+raw[2]+'\n'+password+'\n\n'

fp.write(store)

conn.close()

if __name__=='__main__':

try:

path2=sys.ar**[1].strip()

except:

print('usage: %s d:\\dbfile.db' % sys.ar**[0])

exit()

fetchs(path2)

用法:python getpasswd.py 「c:\users\administrator\desktop\login data」

執行指令碼時,需要資料庫檔案路徑(「c:\users\administrator\desktop\login data」)作為引數,獲得的登入資訊儲存在chrome_password.txt檔案中。

本指令碼也可以用作滲透測試過程中的憑證獲取,技術是把雙刃劍,用者需謹慎。

Python學習之資料庫操作

在python中,我們可以通過mysqldb這一介面卡連線並運算元據庫。其中有兩個主要的物件connection和cursor,分別用來與資料庫連線和通訊。下面給出乙個與資料庫連線的例項 conn mysqldb.connect host 127.0.0.1 主機名 127.0.0.1 為本機ip ...

python之資料庫操作 sqlite

關於sqlite 不像常見的客戶端 伺服器結構範例,sqlite引擎不是個程式與之通訊的獨立程序,而是連線到程式中成為它的乙個主要部分。所以主要的通訊協議是在程式語言內的直接api呼叫。這在消耗總量 延遲時間和整體簡單性上有積極的作用。整個資料庫 定義 表 索引和資料本身 都在宿主主機上儲存在乙個單...

資料庫之Python操作MySQL

python操作mysql一共有兩種方式,第一種是用原生模組pymysql和mysqldb,這兩種模組在py2中都支援,但是在py3中只支援pymysql,但是pymysql可以通過pymysql.install as mysqldb 的方式構造成和mysqldb一樣的使用 第二種方式是orm框架 ...