perimeterx px3 按压验证码 分析

perimeterx px3 按压验证码 分析

接上文的 按压验证码分析

验证码样式


开始进入流程分析

1. 初始化

看着大概请求和无感时差不多 实际也是一样的
初始化和按压验证的数据 都是从无感那边的js 发出的
甚至初始化前两部验证的东西都一样
![初始化验证](2.png)
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. 长按 按压验证


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

Alt text

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

PX12123
鼠标按压的x y 值 和 一些其他

PX12419
鼠标相关的一些东西 算是简短数据

PX561
这是最关键的key了 这个对了就过了

就靠自己分析了 没法说了

PX11782
这没啥好说的 没啥玩意儿
Alt text

校验结果

Alt text

o11o111o 这个值 0就是过 -1 就是没过

完结

带一个代码请求
Alt text

对了 这里面有 wasm 去计算一个值
就在 px561 中

1
2
3
4
5
6
7
8
9
10
11

let r = call_12590_12610(this.uuid, this.hash, this.hash2, this.hashv)
let px1132 = r[0] // hash计算值
let px12590 = r[1] // wasm 1
let px12610 = r[2] // wasm 2


"PX12589": "succeeded", // wasm 相关 先写死吧
"PX12590": px12590,
"PX12610": px12610, // end wasm 耗时
"PX12504": randint(12008, 15008),

perimeterx px3 按压验证码 分析
http://example.com/2023/12/14/px-touch/
作者
故意
发布于
2023年12月14日
许可协议