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实现PS滤镜功能之波浪特效示例
Jan 26 Python
python opencv之分水岭算法示例
Feb 24 Python
详解用python自制微信机器人,定时发送天气预报
Mar 25 Python
基于Python打造账号共享浏览器功能
May 30 Python
对Python强大的可变参数传递机制详解
Jun 13 Python
Python读取xlsx文件的实现方法
Jul 04 Python
python实现大文本文件分割
Jul 22 Python
对Python _取log的几种方式小结
Jul 25 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
python使用建议与技巧分享(二)
Aug 17 Python
Python日志打印里logging.getLogger源码分析详解
Jan 17 Python
Pandas数据结构之Series的使用
Mar 31 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
实用函数3
2007/11/08 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
php学习笔记之面向对象编程
2012/12/29 PHP
php弹出对话框实现重定向代码
2014/01/23 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
Laravel框架定时任务2种实现方式示例
2018/12/08 PHP
laravel 实现登陆后返回登陆前的页面方法
2019/10/03 PHP
js 覆盖和重载 函数
2009/09/25 Javascript
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
自己动手开发jQuery插件教程
2011/08/25 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
Jquery 的outerHeight方法使用介绍
2013/09/11 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
Vue中axios拦截器如何单独配置token
2019/12/27 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
Python聚类算法之基本K均值实例详解
2015/11/20 Python
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
南京软件公司的.net程序员笔试题
2014/08/31 面试题
机电一体化应届生求职信
2014/08/09 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
考博导师推荐信范文
2015/03/27 职场文书
2015年征兵工作总结
2015/07/23 职场文书
股东协议书范本2016
2016/03/21 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis