JS逆向-全世界前三座大山 | akamai分析(一)

498 阅读3分钟

网站初步分析

网站目标与分析确定

网址:atob("aHR0cHM6Ly93d3cuZGhsLmNvbS9jbi16aC9ob21lL3RyYWNraW5nL3RyYWNraW5nLXN1cHBseS1jaGFpbi5odG1sP3N1Ym1pdD0xJnRhY2tpbmctaWQ9MTIzMjM0MyZ0cmFja2luZy1pZD0xMTIz")

分析目标:获取正常的Cookie信息。

image.png

本次分析的主要方向是研究_abck参数的生成过程,尤其聚焦于其生成“1”的具体原因。作为Akamai广泛应用于安全防护的重要参数,_abck的生成逻辑和构建那些参数进行生成的。我会一步一步讲解,这可能是全网最详细的教程之一。

我们接下来分析抓包研究请求流程。

首先我们通过抓包一个一个查看,发现他的cookie是通过一个接口返回的。

image.png

这是通过post请求然后返回的set-cookie信息得到的认证。

image.png

这里我科普一下。最前面的3是代表的版本号,也就是目前我们这个版本是版本3.也是目前的新版本。

接下来我们继续看,你会发现其实这个包他在前面还有一次get

image.png

这次get请求会返回一堆JavaScript代码,并且返回一个cookie。

image.png

只不过中间的数字是1而已。

并且这里的代码他是不一样的。基本上10分钟以上就会变。隔天的话文件名全部都会变更。所以给我们调试照成了比较大的困扰,有时候可能你调试着调试着就会发现打的断点乱了。因为他文件内容已经变更了。

所以接下来。我们要想办法固定住这些代码,方便我们调试和分析。

固定住代码方便分析

使用工具进行固定

抓包替换用fiddler工具(这里其实还有其他办法,只是我用这个比较顺手,所以我选择了这个。你们也可以用自己的顺手工具去替换,目的达到即可。)

image.png

这里要注意前三个按钮必须勾选,然后填写规则。第一个是替换掉我们网页的原HTML代码,第二个是固定好那一份重要的JS代码。

image.png

这是第一个HTML的替换

image.png

这是第二个JS代码的替换。

image.png

代码入口定位

入口定位

其实这里是可以直接打个xhr断点的。因为我们在之前看到他的POST请求是xhr类似的。直接在那里拦截了。往回慢慢找。

在这里就可以打上xhr断点

image.png

然后我们刷新,注意要清除掉所有缓存包括Cookie信息。然后你就发现他已经断上了。

image.png

他这里代码是混淆的,看起来比较难看,但是你如果观察他的堆栈,就会发现他在上一个堆栈其实是还调用了一个方法非常的可疑。

image.png

我们在这里直接就打个断点,然后再清除缓存刷新。

image.png

然后就进入了这个方法上。然后你在跟上慢慢的调试。

image.png

你会发现这样一个数组。这个数组其实就是他收集到的所有信息。

然后你在继续往下走

image.png

在继续往下走

image.png

你就会发现他已经计算完成了这些方法。是不是很神奇。

这里的代码已经被混淆了。都是这种

Ts()[cj(Sc)].apply(null, [UhS, bf, Hm, H6])
Ts()[cj(Uc)](Wq, YO, H0, ZP)
HT()[lU(b5)].call(null, d3S, mL, UT)

image.png

你放到这上面就可以看到他对应的字符串是什么,但是这样很难分析。下一章我们讲如何来解混淆对齐进行反解。

后续我将继续在这里更新,家人们快来关注一波吧。 搜索框传播样式-白色版.png