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简单的实现树莓派的WEB控制
Feb 18 Python
Python利用Beautiful Soup模块创建对象详解
Mar 27 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
Dec 27 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
使用pyqt 实现重复打开多个相同界面
Dec 13 Python
selenium中get_cookies()和add_cookie()的用法详解
Jan 06 Python
深入浅析python变量加逗号,的含义
Feb 22 Python
Python3爬虫带上cookie的实例代码
Jul 28 Python
Python自动巡检H3C交换机实现过程解析
Aug 14 Python
PyQT5速成教程之Qt Designer介绍与入门
Nov 02 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
Nov 13 Python
pymysql模块使用简介与示例
Nov 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
世界第一个无线广播电台 KDKA
2021/03/01 无线电
PHP_MySQL教程-第一天
2007/03/18 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
Laravel 添加多语言提示信息的方法
2019/09/29 PHP
js表格分页实现代码
2009/09/18 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
AngularJS 模块化详解及实例代码
2016/09/14 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
python编写微信远程控制电脑的程序
2018/01/05 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
服装厂厂长职责
2013/12/16 职场文书
教师申诉制度
2014/01/29 职场文书
大学迎新晚会主持词
2014/03/24 职场文书
护林防火标语
2014/06/27 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript
Java无向树分析 实现最小高度树
2022/04/09 Javascript