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常见数据结构详解
Jul 24 Python
Python实现查找系统盘中需要找的字符
Jul 14 Python
Python中强大的命令行库click入门教程
Dec 26 Python
python利用不到一百行代码实现一个小siri
Mar 02 Python
Python matplotlib画图实例之绘制拥有彩条的图表
Dec 28 Python
Python将DataFrame的某一列作为index的方法
Apr 08 Python
python实现对文件中图片生成带标签的txt文件方法
Apr 27 Python
python编程使用协程并发的优缺点
Sep 20 Python
使用python 打开文件并做匹配处理的实例
Jan 02 Python
python pandas模块基础学习详解
Jul 03 Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 Python
详解Python中的Lock和Rlock
Jan 26 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
使用php4加速网络传输
2006/10/09 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
2011/05/17 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
js this函数调用无需再次抓获id,name或标签名
2014/03/03 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
Javascript获取当前日期的农历日期代码
2014/10/08 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
Javascript的this用法
2017/01/16 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
解决layer.msg 不居中 ifram中的问题
2019/09/05 Javascript
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
Bose法国官网:购买耳机、扬声器、家庭影院、专业音响
2017/12/21 全球购物
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
销售职业生涯规划范文
2014/03/14 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
2015毕业寄语大全
2015/02/26 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android
基于Python实现股票收益率分析
2022/04/02 Python