Python获取Chrome浏览器保存的账号密码

导语

利用Python获取Google Chrome浏览器保存的账号和密码,也就是例如下图的登录界面:

当我们登录之后一般会习惯性地让浏览器默认记住密码,而这实际上存在安全隐患~~~

Let's Go!

开发工具

Python版本:3.6.4

相关模块:

pywin32模块

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

我们的登录信息(每个网站对应的账号密码)就存储在下图所示的SQLite数据库中:

你可以在类似:

~\AppData\Local\Google\Chrome\User Data\Default

这样的路径下找到它。

Chrome的密码转储机制大概是这样的:

当用户访问网站时,Chrome会首先判断此次登录是否是一次成功的登录,如果成功登录,并且使用的是一套新的证书,这个证书是浏览器之前没有生成过的,Chrome就会生成一个提示条,询问用户是否需要记住密码。

当点击“保存密码”时,就会调用Chrome密码管理器的“保存”函数来响应操作。

T_T此处省略xxx字。。。

最后我们可以发现密码是调用Windows API函数:

CryptUnprotectData来加密的。

所以我们只需要连接数据库读取数据然后调用这个Windows API函数来还原密码就可以了。

利用Python我们只需要不到30行的有效代码即可获得Chrome浏览器保存的账号密码。

具体实现过程详见源代码。

使用演示

在cmd窗口运行“AnalyzeChrome.py”文件即可。

如下图所示(T_T打码了):

用户名也涉及隐私,所以我也打码了~~~

更多

T_T为了自己的账户安全,还是少把电脑借给别人或者在别人的电脑上登录一些网站吧AND so on...T_T

For information security~~~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180321G0Z7IC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券