boss直聘cookie加密分析

近日其他原因需要出门面试,于是接到了一些个面试题,因题目只要求进行分析即可,所以我在这里进行参数的加密分析

题目要求: cookie加密

网站url: boss直聘

cookie内容(未登录):

        lastCity=101020100 // 地理位置信息

        Hm_lvt_194df3105ad7148dcf2b98a91b5e727a=1663648077 // 时间戳

        __g= //为止

        __l=l=%2Fwww.zhipin.com%2Fshanghai%2F&r=&g=&s=3&friend_source=0 //网站URL

        __zp_stoken__=1c48eWAtyOEI3ZxBQGBp7VypFP0pJADQALkgWZgVjUHYsOA0UVl5TXl5HY2d2eWEMGnYHNkRlPRN2KRkAGipUVhcqQgkkbz00Kw46TzhiQF85ERk0YQUWEy4wcCgqWQMdWE81PxdsSGRgbB0%3D  //js代码生成

        __c=1663653384 //时间戳

        __a=15422516.1663653384..1663653384.2.1.2.2 //未知

        Hm_lpvt_194df3105ad7148dcf2b98a91b5e727a=1663654197 //未知

        HMACCOUNT_BFESS = 308D0FE065D413EA  // 经分析未找到出处

以上便是我初步分析的结果,根据题目要求,只需要分析出网站所属的_zp_stoken参数的结果即可

经代码全局搜索之后,zp_stoken位于改地址中 参数生成位置:


参数生成位置位于js文件此处

在使用chrome进行debug调试之后,得到参数


调试过程以及参数

如图所示,zp_stoken cookie的设置入参为n,n是有两个参数进行加密而成的,分别是一个字符串类型的时间戳,以及一个字符串t


字符串t的操作无实意

所以重点选择在于 (new a).z(e,parseInt(t))

再继续深入debug,进入到了一个含有控制流平坦化的函数内


进入的函数

可以看出这个函数便已经是对于参数的进行了加密操作了,只需要使用工具对此代码的还原操作,即可完成对于该加密操作的逆向还原。

接下来,我们回头去看在第二张图片显示出来的函数入参e,来自于哪里。我们就可以针对此参数完成自动化生成了。


如图

经过分析,我们找到了这里o(e,i)便是我们函数的之前分析过的函数,e便是我们需要找的第二个参数。

在这里他是对于e进行了重新的二次赋值,之前是cookie中的__zp_sseed__参数。

所以我们如要需要知道e怎么生成的话,我们就需要掉头去找zp_ssend参数是怎么生成的,而这个就比较简单了,首先全局搜索一下就可以找到参数


参数所属位置

由此得出:cookie参数zp_stoken 是有服务端反馈的cookie中的_zp_sseed,以及zp_sts经过函数加密得到的。而加密方法位于这个文件当中。

只需要对于该文件进行逆向分析即可。

对此智联招聘cookie参数zp_stoken 加密生成分析完毕,剩下的都是些一点点逆向解析的慢活了。















   

你可能感兴趣的:(boss直聘cookie加密分析)