【PerimeterX】px3逆向分析

【PerimeterX】px3逆向分析

前言

最近看了下ti网站的px3(只是在逆向层面~),以此篇文章简单记录下逆向过程。

正文

目前是分析的px3无感,接口是 /collector

请求参数

在这里插入图片描述
简单说明下,p6是cookie返回的,个别参数是固定的,seq, rsc会自增。主要需要看的是payload和pc 2个参数,2个是不同的算法。

  • payload,pc参数定位
    现在新版本的px3,字符串混淆还是很容易还原的,不像之前混淆max的时候,解起来还是挺费劲的(之前用的不不的解混淆框架),所以我们要先解混淆。(我ast写的很烂就不放出来了)
    在这里插入图片描述
    解完混淆,就能快速定位到加密位置了,然后pc的加密位置就在上方。两个参数的加密代码也很好扣。

  • t、S 对象
    t是一个数组,每一次请求,里面的值都不太一样。
    这是第一次的,没啥东西。

t = [{"t":"PX12095","d":{"PX11645":"https://www.ti.com/","PX12207":0,"PX12458":"Win32","PX11902":0,"PX11560":269,"PX12248":3600,"PX11385":1688690961524,"PX12280":1688690961526,"PX11496":"1c796520-1c60-11ee-9c74-d7cdd48cc772","PX12564":null,"PX12565":-1,"PX11379":true}}];
S = {"tag":"v8.5.4","appID":"PXDl82I3Ui","cu": uuid, "pc":"7854166242700189"};

解密

在这里插入图片描述
新版本的,返回值也加密了,但是定位解密位置也很容易定位。

我们先不管,直接看第二次payload加密时的S对象。

S = {"vid":"f314f4ce-1e3c-11ee-8981-6f7561657275","tag":"v8.5.4","appID":"PXDl82I3Ui","cu":"f3136670-1e3c-11ee-806a-59aba21d5838","cs": uuid,"pc":"6149997752707771"}

细心的读者会发现多了一个vid对象,这个对象是It()函数返回的

在这里插入图片描述

找找看vt是哪里set的就简单了。

在这里插入图片描述

直接在浏览器里debugger Jt函数。set值的时候会断住,往上翻栈就能发现是第一次返回结果解密后得到的。 然后就开始扣解密函数了,这个也很好扣… 加密解密函数扣的难度都不是很大。

尾声

主要要分析的还是t对象里面的参数(不同的情况对应的内容也不一样),需要一个个去找是啥含义,然后扣出来(所以解混淆是很必要的,搜索字符串很容易定位) ,大部分的指纹以及检测都很容易找到的,扣也很容易扣的。

第二个请求,t对象的部分参数欣赏(老长了,截图不下)
在这里插入图片描述

文章仅在逆向分析层面,提供了一个逆向思路而已。花时间的话,相信大家都能分析不少东西出来。(听说最难的在并发风控上…)

鸣谢

在这里感谢陈不不大佬,在JS逆向之路上提供了不少帮助~

不不大佬的小破站地址: https://space.bilibili.com/227452348/
我、陈不不、泰迪合作的星球:https://t.zsxq.com/06bIUvBEM
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值