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中执行shell命令的几个方法小结
Sep 18 Python
Python中bisect的用法
Sep 23 Python
Python批量转换文件编码格式
May 17 Python
Python中的推导式使用详解
Jun 03 Python
Python脚本获取操作系统版本信息
Dec 17 Python
win系统下为Python3.5安装flask-mongoengine 库
Dec 20 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
python实现简易内存监控
Jun 21 Python
浅谈python中get pass用法
Mar 19 Python
python实现文件助手中查看微信撤回消息
Apr 29 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
浅析NumPy 切片和索引
Sep 02 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
在普通HTTP上安全地传输密码
2007/07/21 PHP
php 求质素(素数) 的实现代码
2011/04/12 PHP
php流量统计功能的实现代码
2012/09/29 PHP
php命名空间学习详解
2014/02/27 PHP
PHP中把stdClass Object转array的几个方法
2014/05/08 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
Javascript模板技术
2007/04/27 Javascript
网上应用的一个不错common.js脚本
2007/08/08 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
element-ui中的select下拉列表设置默认值方法
2018/08/24 Javascript
Vue递归实现树形菜单方法实例
2018/11/06 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
python zip文件 压缩
2008/12/24 Python
Python正规则表达式学习指南
2016/08/02 Python
python3处理含有中文的url方法
2018/05/10 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
标记环介质访问控制协议
2016/03/27 面试题
应届毕业生应聘自荐信
2013/12/07 职场文书
送餐员岗位职责范本
2014/02/21 职场文书
中医学专业自荐信范文
2014/04/01 职场文书
拓展策划方案
2014/06/03 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
mysql知识点整理
2021/04/05 MySQL
分享3个非常实用的 Python 模块
2022/03/03 Python