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

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

  1. python控制modem的at指令_硬件设计MCU架构+Python命名空间和作用域

    硬件设计-MCU架构 CISC结构的单片机 其数据线和指令线分时复用,称为冯-诺伊曼结构 优点:指令丰富,功能较强,但确定取指令和取数据不能同时进行,速度受限,且价格也很高:属于CISC结构的单片机有 ...

  2. python控制电脑唤醒键_大神教你用Python实现Wake On Lan远程开机功能

    导读 这篇文章主要介绍了使用Python实现Wake On Lan远程开机功能,文中给大家补充介绍了python通过wakeonlan唤醒内网电脑开机,非常不错,感兴趣的朋友跟随小编一起学习吧 Wak ...

  3. python 控制机器人_Pepper中级教程:第一章 如何用Python远程控制机器人

    1. 目标 Python是最容易入门的语言,我们尝试写一个Python程序,来远程控制Pepper/Nao机器人说话. 网络连接方式如下图. 1- 在一台个人PC上编写这个Python程序,操作系统不 ...

  4. python控制大疆无人机_如何从djitello无人机和python中的UDP服务器收集视频数据?...

    我有一个djitello无人机,我想从它接收视频数据.我可以把我的电脑连接到无人机上,在端口'8889'上通过python的UDP连接发送命令,但我不知道如何使用端口'11111'从无人机的摄像头接收 ...

  5. 使用Python控制1602液晶屏实时显示时间(附PyCharm远程调试)

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文介绍一下UP板的GPIO资源使用,以及一个使用Python演示一个简单的demo. 本文使用Markdown写成,为获得更好的 ...

  6. 怎么用python启动谷歌浏览器_如何用python控制浏览器

    selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口.selenium webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持进行web ...

  7. python浏览器怎么设置_如何用python控制浏览器

    selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口.selenium webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持进行web ...

  8. python控制浏览器模拟鼠标点击网页标题_如何使用python来模拟鼠标点击(将经过实例自动化模拟在360浏览器中自动搜索python)...

    1.准备工做:html 安装pywin32,后面开发须要pywin32的支持,不然没法完成与windows层面相关的操做.python pywin32的具体安装及注意事项:shell 一.总体开发环境 ...

  9. python控制浏览器不上下滚动失灵_浅谈selenium如何应对网页内容需要鼠标滚动加载的问题...

    相信大家在selenium爬取网页的时候都遇到过这样的问题:就是网页内容需要用鼠标滚动加载剩余内容,而不是一次全部加载出网页的全部内容,这个时候如果要模拟翻页的时候就必须加载出全部的内容,不然定位元素 ...

最新文章

  1. Python divmod方法
  2. GDI对象存储和查看lib文件导出函数
  3. 网易云信10月大事记
  4. 外媒评出中国最美20个景点
  5. 校园宿舍管理系统课程设计报告
  6. 基于原生javascript的ajax实现
  7. vue父子组件生命周期顺序_vue父子组件生命周期执行顺序
  8. Linux命令终端如何查询本机的内外网IP地址
  9. c++中sin,cos,arcsin等和在C/C++中使用pi (π) 值
  10. python修改excel内容怎么覆盖_Python修改Excel的内容,python,excel
  11. OpenCV c接口与c++接口
  12. 试用officescan 10.5
  13. python前端Django指南之Hello worldl输出
  14. Django面试题库
  15. 总价合同、成本补偿合同、工料合同
  16. 关于10的勾股数有哪些_关于“天风证券”“浪潮信息”的配股提示
  17. torch.optim.lr_scheduler.LambdaLR与OneCycleLR
  18. 大众点评评论抓取-CSS加密破解
  19. 解决办法在idea中搭建spark环境:Unable to fetch table student. Invalid method name: ‘get_table_req‘;
  20. Mybatis---多表联合查询(1)

热门文章

  1. modelsim 居然 error loading design?
  2. Centos7.6下构建虚拟主机实验(基于域名、端口及IP地址)
  3. Java VisualVM安装Visual GC插件
  4. hdu1296多项式
  5. 2014522420145238《信息安全系统设计基础》实验三
  6. Angular $injector:unpr Unknown provider 问题原因汇总
  7. 快应用的用法和常见问题解答(下)
  8. 我的同学是计算机作文,我的同桌作文
  9. 4天上线“战疫”小程序,腾讯敏捷在数字广东的落地实践
  10. 第6章第1节:基本设计理论:幻灯片设计过程中的七个常见技巧 [PowerPoint精美幻灯片实战教程]