python控制浏览器脚本_Chrome 33+浏览器 Cookies encrypted_value解密脚本(python实现)...

Chrome浏览器版本33以上对Cookies进行了加密,用SQLite Developer打开Chrome的Cookies文件就会发现,原来的value字段已经为空,取而代之的是加密的encrypted_value。如下图所示

从stackoverflow.com了解到。Windows上Chrome加密Cookies采用的CryptUnprotectData函数,通过网络搜索发现,CryptUnprotectData函数用途非常广泛。连Windows电脑上保存的wifiI密码都是用这个函数加密的。大牛 @李劼杰?已经用这个解密函数在python里实现了获取本机保存的wifi密码(http://www.lijiejie.com/python-get-all-saved-wifi-passwords/)和Chrome浏览器里已保存的账号密码(http://www.lijiejie.com/python-get-chrome-all-saved-passwords/)。运行他的脚本让我惊出一声冷汗(如下图),原来Chrome这么不安全,要是Login Data文件被别人获取,真的是非常危险的事情。

参考大牛 @李劼杰 的代码,我改编出来了一个Chrome 33+浏览器 Cookies encrypted_value解密脚本(python实现),代码如下:

__author__ = 'ftium4.com'

import sqlite3

import win32crypt

outFile_path=r'D:chrome_cookies.txt';

sql_file= r'C:Users\jiangling\AppData\Local\Google\Chrome\User Data\DefaultCookies';

sql_exe="select host_key,name,value,encrypted_value from cookies";

conn = sqlite3.connect(sql_file)

for row in conn.execute(sql_exe):

pwdHash = str(row[3])

try:

ret = win32crypt.CryptUnprotectData(pwdHash, None, None, None, 0)

except:

print 'Fail to decrypt chrome cookies'

sys.exit(-1)

with open(outFile_path, 'a+') as outFile:

outFile.write('host_key: {0:<20} name: {1:<20} value: {2} nn'.format(

row[0].encode('gbk'), row[1].encode('gbk'),ret[1].encode('gbk')) )

conn.close()

print 'All Chrome cookies saved to:n' + outFile_path

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值