perimeterx px3 按压验证码 分析
perimeterx px3 按压验证码 分析
接上文的 按压验证码分析
开始进入流程分析
1. 初始化
看着大概请求和无感时差不多 实际也是一样的
初始化和按压验证的数据 都是从无感那边的js 发出的
甚至初始化前两部验证的东西都一样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[
{
"t": "PX12095",
"d": {
"PX11645": "https://url",
"PX12207": 0,
"PX12458": "MacIntel",
"PX11902": 0,
"PX11560": 198,
"PX12248": 3600,
"PX11385": 1702565337810,
"PX12280": 1702565337831,
"PX11496": "6fa01e60-9997-11ee-ba04-19528ba2f4ae",
"PX12564": null,
"PX12565": -1,
"PX11379": false,
"PX12307": "PX11745",
"PX11668": "pxhc",
"PX12348": false
}
}]
这就是初始化的数据 payload 原文
他的返回会多五组数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[
"o11o11|ed3f124d-9a8f-11ee-a58c-3d04af16cd30", // sid
"o111ooo1|1702565344671", // ts
"111o1o|10455894763209661329",
"11o111|0bf0a5e848f4163462cfc8e37fdeb630b409bb7f0d197243e05fa4533e8980e5",
"o1oo11|1|55a9d403f63f511ca23d69056784b7bf6fc124b64d4eb20cf93fc42ce559e|d143f3cb6974dd161c0eb1562b66e7d4d8e6c42e0112beb9002403d7eb173881|12|false",
"1o1oo1|ccc:0,ccc:0",
"111oo1|rf|60|1",
"o11o11oo|ed3f179a-9a8f-11ee-a58c-3d04af16cd30|true",
"11oo1o|1|ed43d2f0-9a8f-11ee-8a5b-4b4fa8298b06|6627| 201136fc0b1100a0b92d1dda0b11993f3ba6c4ab5a8d0a49e82abf8505eb37ecd8367c28c6304e775b8069bbb46a2373120dadb696c76674123110f36fb11258_2><3|0|NA",
"o111oooo|9155",
"o1o111|cu",
"111oo1|cc|60|U2FtZVNpdGU9TGF4Ow==",
"111oo1|fp|60|1",
"1oooo1|clthbo55gct9ocem3ogg",
"o1oo1o|ed3efc06-9a8f-11ee-a58c-b6abdf9e29d7|31536000|true"
]
分别对应不同的用途
用来后续的校验
2. 第一步环境校验
这步和无感的基本一样
就不细说了
都是PX11590的类型
3. 长按 按压验证

这步发的数据 有就亿点点多了

需要按类型去说
PX11547
对应的基本是 canvas 和gpu 相关信息

PX12123
鼠标按压的x y 值 和 一些其他
PX12419
鼠标相关的一些东西 算是简短数据
PX561
这是最关键的key了 这个对了就过了
就靠自己分析了 没法说了
PX11782
这没啥好说的 没啥玩意儿
校验结果

o11o111o 这个值 0就是过 -1 就是没过
完结
带一个代码请求
对了 这里面有 wasm 去计算一个值
就在 px561 中
1 | |
perimeterx px3 按压验证码 分析
http://example.com/2023/12/14/px-touch/