声明
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!由于本人水平有限,如有理解或者描述不准确的地方,还望各位大佬指教!!
某蜂窝的加密的参数有两个,一个是cookie 加速乐的,访问html页面时需要用到。

另一个是_sn,访问接口时需要用到。

cookie--加速乐
直接上逻辑:
同一个页面,请求了三次才成功,前面两次状态码都是返回的521

第一次521请求返回一个cookie(__jsluid_h) ,并且从返回的script代码中可直接提取出请求第二次请求所需的cookie(__jsl_clearance1)


第二次521请求需要的cookie为__jsluid_h1和__jsl_clearance1,从返回的js代码中加密得到第三次所需的__jsl_clearance2

第三次200请求携带的cookie为__jsluid_h1和__jsl_clearance2
加密逻辑
第一次请求返回的结果如下

使用正则取出document.cookie的值,执行一遍,返回第二次请求所需的cookie(__jsl_clearance1)

第二次请求返回的结果如下

可以看出是ob混淆,可以选择使用ast解混淆,这里我选择补环境不选择扣算法,不需要解混淆。我们需要对第二次请求的结果进行小处理。在开头补上缺少的环境,即可得到_jsl_clearance_s。
这里我给大家送上通杀大部分加速乐的环境。
var window = {
addEventListener: function() {
},
navigator: {
userAgent: ''
}
}
var document = {
addEventListener: function(x, x1, x2) {
if (x == 'DOMContentLoaded') {
x1();
}
},
attachEvent: function(x, x1) {
if (x == 'onreadystatechange') {
x1();
}
},
cookie: ""
}
var location = {
href: ''
}
var setTimeout = function(x,x1){} // 可以不用
接下来就是携带第二次请求生成和返回的 Cookie 去请求第三次

加速乐相对来说还是很简单的,只需要记住以下步骤还是很容易手撕的。
第一次请求时候,记得获取它的 set-cookie 值。
携带第一次请求生成和返回的 Cookie 去请求第二次。
携带第二次请求生成和返回的 Cookie 去请求第三次。
跟着 上来就是一把梭 将第三次的代码处理即可。
_sn参数
直接全局搜索是搜索不到的

直接搜搜不到的原因是因为_sn这个参数被混淆了。既然搜不到那我们可以通过调用栈来跟值。
定位到这就是生成_sn参数的函数。

进入cA函数。进行单步调试,发现i[j]函数打断点跟进去。

发现这里就是生成_sn参数和拼接的地方

跟进_0xe7fex35这个函数,发现_sn参数是通过请求参数,排序,加盐,最后通过md5加密截取2到12位得到。

算法复现
需要算法复现的大佬们可以前往https://www.ckcookies.cn/index.php/archives/8/获取
各位大佬觉得本文写的不错的话,可以一键四连哦。