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 21 Python
简要讲解Python编程中线程的创建与锁的使用
Feb 28 Python
python下如何查询CS反恐精英的服务器信息
Jan 17 Python
python 内置模块详解
Jan 01 Python
Python微医挂号网医生数据抓取
Jan 24 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
May 27 Python
对Python 检查文件名是否规范的实例详解
Jun 10 Python
python全栈知识点总结
Jul 01 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 Python
Python中低维数组填充高维数组的实现
Dec 02 Python
如何查看python关键字
Jan 17 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图片水印添加、压缩、剪切的封装类实现
2020/04/18 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
2016/09/05 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
node.js中express模块创建服务器和http模块客户端发请求
2019/03/06 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
es6数组的flat(),flatMap()函数用法实例分析
2020/04/18 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
Python脚本实现集群检测和管理功能
2015/03/06 Python
Python删除空文件和空文件夹的方法
2015/07/14 Python
Python决策树分类算法学习
2017/12/22 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
2019/04/09 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
python实现小世界网络生成
2019/11/21 Python
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
员工家属慰问信
2015/03/24 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
死亡诗社观后感
2015/06/05 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL