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 相关文章推荐
Python类属性与实例属性用法分析
May 09 Python
Python实现快速多线程ping的方法
Jul 15 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
Python+OpenCV实现车牌字符分割和识别
Mar 31 Python
Python3处理HTTP请求的实例
May 10 Python
Python面向对象之类的内置attr属性示例
Dec 14 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
Dec 25 Python
python实现简单飞行棋
Feb 06 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 Python
使用PyCharm安装pytest及requests的问题
Jul 31 Python
UI自动化定位常用实现方法代码示例
Oct 27 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
php print EOF实现方法
2009/05/21 PHP
php 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
php socket客户端及服务器端应用实例
2014/07/04 PHP
Symfony控制层深入详解
2016/03/17 PHP
php简单获取复选框值的方法
2016/05/11 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
js 链式延迟执行DOME
2012/01/04 Javascript
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
2014/03/27 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
JS上传图片前实现图片预览效果的方法
2015/03/02 Javascript
jQuery检测输入的字符串包含的中英文的数量
2015/04/17 Javascript
jquery实现表格隔行换色效果
2015/11/19 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
2018/08/31 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
Python正则表达式指南 推荐
2018/10/09 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
Java程序员面试题
2016/09/27 面试题
《油菜花开了》教学反思
2014/02/22 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
置业顾问岗位职责
2015/02/09 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python