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 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
Python实现登录人人网并抓取新鲜事的方法
May 11 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
Dec 22 Python
Python使用gensim计算文档相似性
Apr 10 Python
详解Python中的from..import绝对导入语句
Jun 21 Python
python实现n个数中选出m个数的方法
Nov 13 Python
解决PyCharm的Python.exe已经停止工作的问题
Nov 29 Python
Python OpenCV对本地视频文件进行分帧保存的实例
Jan 08 Python
python使用opencv在Windows下调用摄像头实现解析
Nov 26 Python
python 中不同包 类 方法 之间的调用详解
Mar 09 Python
python接入支付宝的实例操作
Jul 20 Python
python制作图形界面的2048游戏, 基于tkinter
Apr 06 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 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
php输入数据统一类实例
2015/02/23 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
xml转json的js代码
2012/08/28 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
浅谈js中的in-for循环
2016/06/28 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
JavaScript初学者必看“new”
2017/06/12 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
你真的了解Python的random模块吗?
2017/12/12 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
2018/06/19 Python
简单了解python协程的相关知识
2019/08/31 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
python实现图书馆抢座(自动预约)功能的示例代码
2020/09/29 Python
python中K-means算法基础知识点
2021/01/25 Python
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
建筑工程专业大学生求职信
2014/04/23 职场文书
工资收入证明
2014/10/07 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书