读取google浏览器本地cookie
Posted whitemousev2-0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读取google浏览器本地cookie相关的知识,希望对你有一定的参考价值。
浏览器与服务器建立连接时,可以直接在请求头或者响应报头中读取cookie,但浏览器关闭时,会把cookie保存在本地文件中,
存放的形式是以 sqlite3 数据库形式存在,以后是获取google本地文件cookie的方法;
import sqlite3
import win32crypt
import os
def parseGoogleCookiefile(cookiesFiles,host=‘‘):
"""
:param cookiesFiles: cookies文件本地路径
:param host: 服务器域名
:return: type:list
"""
cookies = []
if not os.path.exists(cookiesFiles): #判断cookie文件是否存在
print("cookies files not exist!")
else:
con = sqlite3.connect(cookiesFiles)
conner = con.cursor()
if host=="":
sql="select host_key,name,encrypted_value,path from cookies" #由于cookie文件是sqlite类型,一个文件相当于一个表,sql
for host_key, name, encrypted_value, path in conner.execute(sql).fetchall(): #遍历查询的所有结果
parameter=[]
parameter.append("domain : %s"%host_key)
parameter.append("name : %s"%name)
parameter.append("values : %s"%win32crypt.CryptUnprotectData(encrypted_value)[1].decode()) #将byte类型转译
if len(conner.execute(sql).fetchall())<=1:
cookies=parameter
else:
cookies.append(parameter)
else:
sql = "select host_key,name,encrypted_value from cookies where host_key=‘%s‘" % host
#cookies = {name: win32crypt.CryptUnprotectData(encrypted_value)[1].decode() for host_key, name, encrypted_value in conner.execute(sql).fetchall()}
for host_key, name, encrypted_value in conner.execute(sql).fetchall():
parameter=[]
parameter.append("domain : %s" % host_key)
parameter.append("name : %s" % name)
parameter.append("values : %s" % win32crypt.CryptUnprotectData(encrypted_value)[1].decode())
if len(conner.execute(sql).fetchall())<=1:
cookies=parameter
else:
cookies.append(parameter)
print(cookies)
return cookies
if __name__=="__main__":
#parseGoogleCookiefile(r"C:\UsersliuwqAppDataLocalGoogleChromeUser DataDefaultCookies",‘www.baidu.com‘)
parseGoogleCookiefile(r"C:\UsersliuwqAppDataLocalGoogleChromeUser DataDefaultCookies")
以上是关于读取google浏览器本地cookie的主要内容,如果未能解决你的问题,请参考以下文章
XSS - 禁止浏览器读取Cookie - HttpOnly