JS逆向实战13——某市公共资源交易中心Cookie混淆加密
"本文地址:https://www.cnblogs.com/zichliang/p/17346860.html
目标网站
aHR0cDovL2xkZ2d6eS5obmxvdWRpLmdvdi5jbi9sZGp5engvanl4eC9saXN0LnNodG1s
网站分析
经过浏览器抓包,我们可知这个网站会先发出一个412请求,然后附带一个js 然后返回正常的页面。
经过我们代码测试可知
如图所示 这两个cookie是我们所需要的。
抓包分析
然后我们通过fiddler去抓包看看这个412请求究竟返回给我们什么了,以及能否找到其他有用的信息。
结果刚用代理打开 就发现这个网站返回给我们一个崩溃的网站。
但是fiddler依然抓到了包,
流程分析
进过上面的抓包分析和浏览器抓包
我们就有个大题的思路了
然后我们画个思维导图
- 第一个cookie 直接获取这个set_cookie 获得之即可。
- 第二个cookie 我们还需要进到那个混淆的
Zdrwk9P9he.js
然后慢慢分析才能获得。
断点分析
首先进入这个混淆的Zdrwk9P9he.js
这类混淆一般来说底下都有个reload 以此来重载自己的网站
我们滑到最底下 然后打断点慢慢往上走
这个地方好像有点像我们需要的cookie 但是不太确定。
我们看看他的构成 即使不是我们现在的cookie 但感觉一定有点啥关系。
['ts=1682304195962',
'fp=3d50c2ad77e7457692ccfb0fab1b793b',
'ua=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ…wLjAuMCBTYWZhcmkvNTM3LjM2IEVkZy8xMTIuMC4xNzIyLjU4',
'unknown=Y3B1Q2xhc3MsZGV2aWNlTWVtb3J5LGFyZUNvbG9yc0ludmVydGVkLG9zQ3B1']
之后清除cookie 然后把断点打在var m = o[d(1336, "Nuq%")]("&");
这个位置
然后发现好像和我们刚刚看到的cookie不一样 说明还经过了一层加密
顺便按断点走
好像这个_0x312d0e(f, m)
就是二次加密的地方
扣代码
分析完毕,我们就开始扣代码了
这个代码在if 流程判断语句中 所以我们只需要看if里面的内容即可
其实在这上面已经暴露出来 o
的生成逻辑了 之间扣就行了。
然而这个o
除了时间戳以外 其他写死就行。。。这是本人扣了大半天才发现的。
所以一定要 多测试几遍!!
所以要扣的其实只有_0x312d0e(f, m)
这个函数
如下图所示即是加密逻辑地点。
这里简单说一下
- AES加密
- 以第一个cookie的value 为 key
- cbc模式加密
- base64 加密
- ...
结果如下: