JS逆向-全世界前三座大山 | akamai分析(一)
akmai全网最详细的讲解之一
网站初步分析
网站目标与分析确定
网址:atob(“aHR0cHM6Ly93d3cuZGhsLmNvbS9jbi16aC9ob21lL3RyYWNraW5nL3RyYWNraW5nLXN1cHBseS1jaGFpbi5odG1sP3N1Ym1pdD0xJnRhY2tpbmctaWQ9MTIzMjM0MyZ0cmFja2luZy1pZD0xMTIz”)
分析目标:获取正常的Cookie信息。
本次分析的主要方向是研究_abck参数的生成过程,尤其聚焦于其生成“1”的具体原因。作为Akamai广泛应用于安全防护的重要参数,_abck的生成逻辑和构建那些参数进行生成的。我会一步一步讲解,这可能是全网最详细的教程之一。
我们接下来分析抓包研究请求流程。
首先我们通过抓包一个一个查看,发现他的cookie是通过一个接口返回的。
这是通过post请求然后返回的set-cookie信息得到的认证。
这里我科普一下。最前面的3是代表的版本号,也就是目前我们这个版本是版本3.也是目前的新版本。
接下来我们继续看,你会发现其实这个包他在前面还有一次get
这次get请求会返回一堆JavaScript代码,并且返回一个cookie。
只不过中间的数字是1而已。
并且这里的代码他是不一样的。基本上10分钟以上就会变。隔天的话文件名全部都会变更。所以给我们调试照成了比较大的困扰,有时候可能你调试着调试着就会发现打的断点乱了。因为他文件内容已经变更了。
所以接下来。我们要想办法固定住这些代码,方便我们调试和分析。
固定住代码方便分析
使用工具进行固定
抓包替换用fiddler工具(这里其实还有其他办法,只是我用这个比较顺手,所以我选择了这个。你们也可以用自己的顺手工具去替换,目的达到即可。)
这里要注意前三个按钮必须勾选,然后填写规则。第一个是替换掉我们网页的原HTML代码,第二个是固定好那一份重要的JS代码。
这是第一个HTML的替换
这是第二个JS代码的替换。
代码入口定位
入口定位
其实这里是可以直接打个xhr断点的。因为我们在之前看到他的POST请求是xhr类似的。直接在那里拦截了。往回慢慢找。
在这里就可以打上xhr断点
然后我们刷新,注意要清除掉所有缓存包括Cookie信息。然后你就发现他已经断上了。
他这里代码是混淆的,看起来比较难看,但是你如果观察他的堆栈,就会发现他在上一个堆栈其实是还调用了一个方法非常的可疑。
我们在这里直接就打个断点,然后再清除缓存刷新。
然后就进入了这个方法上。然后你在跟上慢慢的调试。
你会发现这样一个数组。这个数组其实就是他收集到的所有信息。
然后你在继续往下走
在继续往下走
你就会发现他已经计算完成了这些方法。是不是很神奇。
这里的代码已经被混淆了。都是这种
Ts()[cj(Sc)].apply(null, [UhS, bf, Hm, H6])
Ts()[cj(Uc)](Wq, YO, H0, ZP)
HT()[lU(b5)].call(null, d3S, mL, UT)
你放到这上面就可以看到他对应的字符串是什么,但是这样很难分析。下一章我们讲如何来解混淆对齐进行反解。
后续会在这里继续更新,喜欢我的家人们记得关注我哟
更多精彩文章和成品代码请移步到这里。
更多推荐
所有评论(0)