吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6070|回复: 22
收起左侧

[Web逆向] 某常见 cookie 加密逻辑分析 (加速乐 - jsl)

  [复制链接]
xianyucoder 发表于 2021-9-15 08:43

今日网站

我测试的这个站不太好发,涉及 gov,所以我找了找另一个用同一套加密的站,大家将就一下

aHR0cHM6Ly93d3cuY252ZC5vcmcuY24vZmxhdy9saXN0Lmh0bQ==

因为是另一篇文章引用到这篇了,所以先发一下,望大佬们不要嫌弃

加密分析

看标题就知道本次文章的分析主题是 cookie 加密,所以打开测试网站,看看 cookie

框选出来的就是我们要分析的字段啦

大大的jsl,极具辨识度

开一个无痕窗口看看能不能抓到包

接下来应该是有图的,但是 Chrome 对于网站 状态码为 521 的请求展示处理不是很好

【假装有图】

通过上图,只能看到状态码 521 的红色请求一闪而过,我esc键都按烂了也没断下来,所以果断换了 Fiddler

通过 Fiddler 抓包,看到这个网站有下面几个请求

现在分别看看这 3 个请求

请求 1、单纯的请求网页,没有请求头中没有 cookie,返回了个script,包含了一串js代码,并且在response header中携带了set-cookie

请求 2、请求带上了 cookie,cookie 分别为__jsluid_s__jsl_clearance_s,返回了另一个段js代码

请求 3、请求还是携带了两个cookie,但是__jsl_clearance_s发生了改变,请求返回的是正常的网站页面

经过上面的分析,这两段返回的 js 应该就是加密的关键

现在我们需要分析

第二个请求里__jsl_clearance_s怎么来的?

第三个请求中__jsl_clearance_s是怎么改的?

加密分析

先看第一段代码

document.cookie=('_')+('_')+('j')+('s')+('l')+('_')+('c')+('l')+('e')+('a')+('r')+('a')+('n')+('c')+('e')+('_')+('s')+('=')+(-~{}+'')+((1+[2])/[2]+'')+((1<<1)+'')+(2+4+'')+(4+5+'')+(-~{}+'')+((1<<3)+'')+([2]*(3)+'')+((2)*[2]+'')+(1+5+'')+('.')+(~~[]+'')+(([2]+0>>2)+'')+(2+7+'')+('|')+('-')+(+!+[]+'')+('|')+('z')+('G')+('A')+(9+'')+('N')+('Y')+('U')+('%')+((1<<1)+'')+('B')+('g')+('Y')+('R')+('W')+('V')+('Z')+('b')+('W')+('m')+('i')+('S')+(2+4+'')+('X')+('w')+('v')+('A')+('Q')+('P')+('g')+('%')+((1+[2]>>2)+'')+('D')+(';')+('m')+('a')+('x')+('-')+('a')+('g')+('e')+('=')+((1|2)+'')+(1+5+'')+((+[])+'')+((+false)+'')+(';')+('p')+('a')+('t')+('h')+('=')+('/');location.href=location.pathname+location.search

在编辑器里改改就能跑出下面的逻辑

这样第一个疑问就得到解答了

现在看第二段的js代码

这个代码比较长,经过了混淆

结尾部分调用了go函数,并传入了如下参数

{
    "bts": ["1626918646.167|0|xcX", "rLB%2FdFGil%2FWSDtvv5CSWRc%3D"],
    "chars": "vyPzcSzkrMmFNwvtkEHtwG",
    "ct": "30ef50b82076b2284fa6ca90acbb5938",
    "ha": "md5",
    "tn": "__jsl_clearance_s",
    "vt": "3600",
    "wt": "1500"
}

这里可以不解混淆分析,也可以使用现有的各类姐混淆工具

推荐解混淆工具如下

1、x老板 - 一键解 ob 混淆工具包

2、xx学在线解混淆 - http://tool.yuanrenxue.com/decode_obfuscator

3、xx在线解混淆 - http://ob.nightteam.cn/

无广告

这里用哪个都可以哈,如果你有更好的工具欢迎交流

解混淆后的加密就没有什么难度了,同时也可以看到代码里的检测点。

感兴趣的可以记录下来,下次不用解混淆直接套环境就可以直接运行了

简单说,这个 js 的主体逻辑就是go函数,它主要完成的就是将__jsl_clearance_s分成两个部分,分别和传入 go 方法中传入的字符串进行拼接,然后根据ha中传入的参数进行 hash,将 hash 的结果进行比对,比对正确返回 cookie

注意:这里的 hash 有几种算法,md5、sha1、sha256

请求结果截图如下

以上就是今天的全部内容了,咱们下次再会~

免费评分

参与人数 9吾爱币 +16 热心值 +8 收起 理由
Quincy379 + 1 + 1 大佬厉害,学习了
sf63 + 1 + 1 热心回复!
ezchan + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
743567274 + 1 + 1 用心讨论,共获提升!
水到渠成的执着 + 1 + 1 谢谢@Thanks!
涛之雨 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
神枪泡泡丶 + 2 + 1 用心讨论,共获提升!
Anekys + 1 + 1 热心回复!
a3586597 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

coffeebeans 发表于 2021-9-15 15:49
JuncoJet 发表于 2021-9-15 09:35
cookie加密的意义何在?session在服务器上,cookie应该只是个随机标签而已

这里的cookie类似一个随机token,用于防止重放攻击用或反爬虫,每一次都会新生成一个,不对的话,页面不会返回正常数据
JuncoJet 发表于 2021-9-15 09:35
cookie加密的意义何在?session在服务器上,cookie应该只是个随机标签而已
 楼主| xianyucoder 发表于 2021-9-15 09:54
JuncoJet 发表于 2021-9-15 09:35
cookie加密的意义何在?session在服务器上,cookie应该只是个随机标签而已

这里的 cookie 加密并不是为了保持会话
Anekys 发表于 2021-9-15 10:22
大佬,求教有什么可以系统学的推荐教程嘛
mgc 发表于 2021-9-15 11:01
楼主好大的胆子
头像被屏蔽
yyb1813 发表于 2021-9-15 22:16
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
eeeeda 发表于 2021-9-16 16:18
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| xianyucoder 发表于 2021-9-16 20:56
eeeeda 发表于 2021-9-16 16:18
想知道如何爬取全网的视频无水印下载,包括vip和超前点播

我也不知道哦
743567274 发表于 2021-9-17 09:03
可以!学习学习!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 14:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表