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 import自定义模块方法
Feb 12 Python
python使用socket连接远程服务器的方法
Apr 29 Python
python使用正则表达式提取网页URL的方法
May 26 Python
利用python程序帮大家清理windows垃圾
Jan 15 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
Sep 28 Python
分析Python中解析构建数据知识
Jan 20 Python
VSCode下好用的Python插件及配置
Apr 06 Python
PyQt5每天必学之QSplitter实现窗口分隔
Apr 19 Python
Jupyter notebook 启动闪退问题的解决
Apr 13 Python
python实现简易版学生成绩管理系统
Jun 22 Python
python+openCV对视频进行截取的实现
Nov 27 Python
python 下划线的多种应用场景总结
May 12 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中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
2016/07/12 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
jQuery 处理表单元素的代码
2010/02/15 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
用jQuery中的ajax分页实现代码
2011/09/20 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
JavaScript实现刮刮乐效果
2020/11/01 Javascript
解决python写的windows服务不能启动的问题
2014/04/15 Python
python中将字典转换成其json字符串
2014/07/16 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
python读取excel进行遍历/xlrd模块操作
2020/07/12 Python
在PyCharm中安装PaddlePaddle的方法
2021/02/05 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
实习护士自我鉴定
2013/10/13 职场文书
应届大学生的推荐信
2013/11/20 职场文书
外语专业毕业生自荐信
2014/04/14 职场文书
授权委托书协议书
2014/10/16 职场文书
春季运动会开幕词
2015/01/28 职场文书
CSS实现背景图片全屏铺满自适应的3种方式
2022/07/07 HTML / CSS