python与sqlite3实现解密chrome cookie实例代码


Posted in Python onJanuary 20, 2018

本文研究的主要问题:有一个解密chrome cookie的事情,google出了代码,却不能正常执行,原因在于sqlite3的版本太低,虽然我切换到了python3.5的环境,但sqlite3的版本也只有3.6。

google了许久,终于找到方法:

1、 进入页面 http://www6.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/

2、 下载 atomic-sqlite-sqlite-3.8.5-2.el6.art.x86_64.rpm

3、 rpm -Uvh atomic-sqlite-sqlite-3.8.5-2.el6.art.x86_64.rpm

4、 执行命令 sqlite3 -version 一切都ok啦

顺便附上解析cookie的代码

#coding=utf-8 
import os 
import sqlite3 
 
#import keyring 
from Crypto.Cipher import AES 
from Crypto.Protocol.KDF import PBKDF2 
 
#for mac 
#my_pass = keyring.get_password('Chrome Safe Storage', 'Chrome') 
#my_pass = my_pass.encode('utf8') 
#iterations = 1003 
#cookie_file = os.path.expanduser('~/Library/Application Support/Google/Chrome/Default/Cookies') 
 
#for linux 
my_pass = 'peanuts'.encode('utf8') 
iterations = 1 
cookie_file = 'Cookies' 
 
salt = b'saltysalt' 
length = 16 
iv = b' ' * length 
 
  
 
def expand_str(token): 
  token_len = len(token) 
  expand_len = (token_len // length + 1) * length - token_len 
  return token.encode('ascii') + b'\x0c' * expand_len 
 
 
def aes_encrypt(token): 
  key = PBKDF2(my_pass, salt, length, iterations) 
  cipher = AES.new(key, AES.MODE_CBC, IV=iv) 
  enc_token = cipher.encrypt(token) 
  return b'v10' + enc_token 
 
 
def aes_decrypt(token): 
  key = PBKDF2(my_pass, salt, length, iterations) 
  cipher = AES.new(key, AES.MODE_CBC, IV=iv) 
  dec_token = cipher.decrypt(token) 
  return dec_token 
 
 
def query_cookies(): 
  with sqlite3.connect(cookie_file) as conn: 
    sql = "select host_key, name, encrypted_value from cookies where name = 'jzysYonghu'" 
    #sql = "select * from cookies" 
    result = conn.execute(sql).fetchall() 
  return result 
 
 
def write_cookies(enc_token): 
  with sqlite3.connect(cookie_file) as conn: 
    b = sqlite3.Binary(enc_token) 
    sql = """update cookies set encrypted_value = ? where name = 'remember_token'"""  
    conn.execute(sql, (b, )) 
 
def change_user(token): 
  write_cookies(ase_encrypt(expand_str(token))) 
 
if __name__ == '__main__': 
  data = query_cookies()[0][2] 
  print(data) 
  print(len(data)) 
  print(aes_decrypt(data[3:]))

加密后在字符串前面添加了一个v10,因此解密前要先去掉

总结

以上就是本文关于python与sqlite3实现解密chrome cookie实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Django中URL视图函数的一些高级概念介绍
Jul 20 Python
在Python的Flask框架中构建Web表单的教程
Jun 04 Python
python数据清洗系列之字符串处理详解
Feb 12 Python
Python3多线程爬虫实例讲解代码
Jan 05 Python
Pandas实现数据类型转换的一些小技巧汇总
May 07 Python
python 发送和接收ActiveMQ消息的实例
Jan 30 Python
Python使用lambda表达式对字典排序操作示例
Jul 25 Python
Python数组并集交集补集代码实例
Feb 18 Python
基于python图书馆管理系统设计实例详解
Aug 05 Python
python 实现压缩和解压缩的示例
Sep 22 Python
Python使用Pygame绘制时钟
Nov 29 Python
Python列表删除重复元素与图像相似度判断及删除实例代码
May 07 Python
Python实现PS滤镜中马赛克效果示例
Jan 20 #Python
浅析python协程相关概念
Jan 20 #Python
Python实现可自定义大小的截屏功能
Jan 20 #Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 #Python
Python+matplotlib绘制不同大小和颜色散点图实例
Jan 19 #Python
Python搭建FTP服务器的方法示例
Jan 19 #Python
python re模块findall()函数实例解析
Jan 19 #Python
You might like
我的论坛源代码(六)
2006/10/09 PHP
页面乱码问题的根源及其分析
2013/08/09 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
jQuery获得内容和属性方法及示例
2013/12/02 Javascript
JS实现超简单的鼠标拖动效果
2015/11/02 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
vue实现下拉加载其实没那么复杂
2019/08/13 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
使用python模拟高斯分布例子
2019/12/09 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
python利用opencv保存、播放视频
2020/11/02 Python
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
上海中网科技笔试题
2012/02/19 面试题
软件缺陷的分类都有哪些
2014/08/22 面试题
教师演讲稿开场白
2014/08/25 职场文书
工作证明书
2015/06/15 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python
详解NodeJS模块化
2021/06/15 NodeJs
Docker官方工具docker-registry案例演示
2022/04/13 Servers
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL