首页 > 其他分享 >Chrome下载页面链接的cookie

Chrome下载页面链接的cookie

时间:2024-02-15 21:33:49浏览次数:32  
标签:return Chrome ctx DataOut cookie EVP BYTE 页面

从chrome下载文件时, 复制链接到其他软件下载, 多数情况是无法下载, 原因是链接的cookie没有复制过去
可以从浏览器的链接地址, 点击左边, 可以查看网站使用的cookie, 复制过去可以下载
想办法用软件从外部获取chrome的cookie, 过程

  1. cookie储存在本地文件, 在chrome的 UserDataDir文件下 Default\Cookies 文件
  2. 该文件是用sqllite格式, 数据有加密
  3. 72版本的数据解密方法比较简单
	static	BOOL	DecodeData(ByteMem &Data, string &sValue)
	{
		DATA_BLOB	DataIn;
		DATA_BLOB	DataOut;
		BOOL		bRetVal;
		BYTE		bzData[4096];

		sValue = "";
		DataIn.pbData = Data.getptr();
		DataIn.cbData = Data.size();

		if(memcmp(DataIn.pbData, "v10", strlen("v10")) == 0)
		{
			return DecodeData_Aes(Data, sValue);
		}

		memset(&DataOut, 0, sizeof(DataOut));
		bRetVal = CryptUnprotectData(&DataIn, NULL, NULL, NULL, NULL, 0, &DataOut);
		if(bRetVal == FALSE)
		{
			ATLTRACE("ChromeCookie.DecodeData Fail!\r\n");
			return FALSE;
		}

		if(DataOut.cbData >= sizeof(bzData))
		{
			assert(0);
			LocalFree(DataOut.pbData);
			return FALSE;
		}

		memcpy(bzData, DataOut.pbData, DataOut.cbData);
		bzData[DataOut.cbData] = 0;
		LocalFree(DataOut.pbData);

		sValue = (CHAR *)bzData;
		return TRUE;
	}
  1. 93版本使用了另外一种解密方法, 用的是 Aes256Gcm, 具体的过程比较复杂
    数据格式: 数据格式 {v10:3} + {iv:12} + {dat:n} + {tag:16}
    密钥使用 crypto::HkdfSha256("peanuts", "salt", "info", kKeyLength)
    chrome使用ssl组件时自己修改过的, 如果用openssl 需要修改一些
BOOL	dllopenssl::Aes256Gcm_Decrypt(BYTE bzIn[], int nData, BYTE bzKey[], BYTE bzIv[], BYTE bzTag[], BYTE bzOut[], int *pOutSize)
{
	EVP_CIPHER_CTX	ctx;
	int				nOutSize, nEndSize;

	EVP_CIPHER_CTX_init(&ctx);
	EVP_DecryptInit_ex(&ctx, EVP_aes_256_gcm(), NULL, bzKey, bzIv);
	EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_GCM_SET_TAG, 16, bzTag);

	if(!EVP_DecryptUpdate(&ctx, bzOut, &nOutSize, bzIn, nData))
		return FALSE;

	if(!EVP_DecryptFinal(&ctx, bzOut+nOutSize, &nEndSize))
		return FALSE;

	EVP_CIPHER_CTX_cleanup(&ctx);
	*pOutSize = nOutSize;

	return TRUE;
}

标签:return,Chrome,ctx,DataOut,cookie,EVP,BYTE,页面
From: https://www.cnblogs.com/zzz3265/p/18016625

相关文章

  • 微信小程序页面跳转:wx.switchTab、wx.reLaunch、wx.redirectTo、wx.navigateTo、wx.na
    引言在微信小程序开发中,页面跳转是一项基础且常用的功能。本文将介绍微信小程序中五种常见的页面跳转方式,并分析它们的使用场景和区别。1.wx.switchTab(跳转主页)wx.switchTab方法用于跳转到tabBar页面,并关闭其他所有非tabBar页面,通常用于跳转到小程序的主页。特点:关闭......
  • Chrome修改Js以及保存资源
    Chrome有pdb下载,但是需要梯子,没法下载只能分析dll程序有源码可以辅助github可以下载,速度慢可以从镜像下载521github.comJs的修改尝试在ScriptCompiler::Compile修改,ClassicScript_RunScriptAndReturnValue,这些都有缺陷:修改的js在源码中看不到ScriptResour......
  • [BJDCTF2020]Cookie is so stable
    [BJDCTF2020]Cookieissostable打开环境,在页面源代码中发现提示查看cookiescookie里的user的值会显示到页面中在user处尝试注入{{7*'7'}}回显7777777==>Jinja2{{7*'7'}}回显49==>Twig回显49所以是Twigpayload:{{_self.env.registerUndefinedFilterCallback("e......
  • 爬虫_051_页面结构介绍
    目录页面结构的介绍看一下html结构评价页面结构的介绍我们的课题,我们不是要页面当中所有的数据,而是要页面当中的一部分数据。如果看HTML,就是上面的a标签当中的文字。所以我们需要了解页面的结构怎么去写。看一下html结构table标签ul标签ol标签a标签主要就是介绍了......
  • 二十、基于Bootstrap和FontAwesome制作页面
    调整项目目录结构:在项目statics目录下,创建JS、CSS、Plugins文件,分别用于存放js、css和第三方插件。Bootstrap:提供现成的样式+效果1、下载Bootstrap在boostrap官网下载用于生产版本的bootstrap,放在plugins文件夹。2、Html中引入Bootstrap的css<head>...<linkrel="style......
  • 十七、Cookie和Session
    1、Cookie:保存在客户端浏览器文件上的键值对当浏览器访问某个网站时,浏览器在COOKIE中拿出属于该网站的键值对来访问这个网站。因此这些键值对是按域名来保存在本地文件。一、cookie和session的介绍1、cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要......
  • [BOM]获取url参数并赋值给cookie
    不安全,挺傻的,可以偷懒。 <script>functioninit_params(){varurl=location.search;//获取url中"?"符后的字串vartheRequest=newObject();if(url.indexOf("?")!=-1){varstr=......
  • 微信小程序(二) | 了解页面结构与组件
    ......
  • Vue中不刷新页面,只刷新局部组件的方法
    第一步:组件后面加上v-if方法<divid="app"ref="app"><router-viewv-if="is_show"/></div>第二步:data定义一个变量控制v-ifdata(){return{is_show:true//定义一个变量控制v-if}第三步:自定义刷新局部组件方法reflash:asyncfunction(){......
  • Chrome修改添加JS与dll交互
    注入dll后拦截js相关函数,可以通讯以及控制安全沙箱问题前面有写文章为了方便快速,使用Uint8Array::Set函数拦截之前尝试了crypto.subtle相关的函数,这些函数速度很慢,而且是异步,很不方便C++的dll代码BOOL CChrome::HookUint8ArraySetByte(){ BYTE *pCode; BOOL......