perimeterx 分析与破解(_px2和_px3)

px是干嘛的?

        px是反机器人保护盾,如果网站cookie中带_px2或者_px3的话,就是px盾了,,并且频繁请求后就会出现按压。如图

        

        不得不说px的体验真的是差,,风控高的网站按压有时候要按很久,而且会多次不过。核心是对IP的要求太高,,就是如果你的ip质量够差的话怎么按都过不去的。。是不是很牛逼 

        所以业务基本上px分为无感和有感,有感就是出现按压,风控高的即使正常用户使用也很容易出按压,风控低的正常使用感知不明显。

PX生成过程

        px首先是无感请求生成核心cookie(_px2 或 _px3),当环境比较差的时候或频繁请求后会触发有感。

        两步请求生成cookie:

                1.预请求获取cid、vid、cts等参数

                第一步没采集什么环境,主要是调用服务器返回第二部需要使用的相关参数

请求包:
payload: aUkQRhAIEGJqAwACCwcQHhBWEAhJEGJqAwMEBgcQCBBaRkZCQQgdHUVFRRxBQltAW0YcUV1fHRAeEGJqAwAAAgUQCAIeEGJqAwAGBwoQCBBlW1wBABAeEGJqAwMLAgAQCAIeEGJqAwMHBAIQCAQKAgseEGJqAwAABgoQCAGEEAgIeEGJqAwM^SB}CgcQCAMECgDNsKBCwMD8CwYCBQMeEGJDqAwAACgNaIQCA>MECgsBCwMDCwYCCwAeEGJqAwMDGCwQQCBAFBQsKCgsGAh`8AAFBXHwKMDV1cfClcFAB8DAQ}JWBFcCBwQGAGgYQHhBiKagMAB7wQGEAhcR15eHhBiagMABwQHEAgfAx4QYmo7DAwEFCxAIRkBHV09Pbw==
appId: PXkp4CLSb5
tag: v8.6.1
uuid: 77988940-22be-11ee-8e72-130d6e056404
ft: 311
seq: 0
en: NTA
pc: 2913261039129711
pxhd: e9e041a88f56bd6157a61def7340d6f1e27a5ca33f3574b6e4a7888fa9e9b7ee:744c5e3f-22be-11ee-a82c-a13b63ccae21
rsc: 1

参数说明:
payload:核心数据,已加密
appId: 网站唯一标识
tag:  版本号
uuid:客户端生成uuid
ft:版本相关固定值
seq: 请求序号,从0开始
en:固定值无效
pc:payload原文校验参数
pxhd:无效参数,可以忽略
rsc:请求序号,从1开始

为了方便调试,根据加密算法自己写了对应的解密算法

其中pyaload原文为:

[{
	"t": "PX12095",
	"d": {
		"PX11645": "https://www.spirit.com/",
		"PX12207": 0,
		"PX12458": "Win32",
		"PX11902": 0,
		"PX11560": 6809,
		"PX12248": 3600,
		"PX11385": 1689391194071,
		"PX12280": 1689391194092,
		"PX11496": "77988940-22be-11ee-8e72-130d6e056404",
		"PX12564": null,
		"PX12565": -1,
		"PX11379": true
	}
}]

        字段解释:

PX11645:当前网站地址
PX12207:0 或者 1 0  表示没被iframe内嵌 
PX12458:平台 。如: Win32 | HP-UX |Linux i686 | Linux armv7l |Mac68K MacPPC | |MacIntel |SunOS| Win16|Win32|WinCE|iPhone|iPod|iPad|Android|BlackBerry|Opera
PX11902:当前请求次数。从0开始
PX11560:页面加载时间。Math["round"](window["performance"]["now"]())  当前页面
PX12248:目前看到都是3600。没有值的时候都是这个
PX11385:第一次载入时间
PX12280:请求时间 比PX11385 大30-60毫秒
PX11496:uuid
PX12565:初始值-1,后面可能会重置到0 获取其他值
PX11379:是否未引入px的js,一般是false,,注意如果个性化的也为true

          

          2.采集环境生成cookie

                第二步其实就是采集环境基础信息,基本和其他盾没啥区别,核心就是第一步返回的相关数据参与了加密运算。

                具体采集信息就没啥好说的,基本上都是采集差不多的信息,核心就是反混淆之后,一个一个环境的扣,没有捷径可言。献上部分反混淆之后的源码:

        

 

        如果网站风控低的话,少量请求只要更换ip和浏览器useragent即可绕过px请求,如果需要大量并发的话,这种方案肯定不行了。

学习和测试

官方地址:解决反人类验证码hcaptcha、akamai2.0

文章仅供学习参考

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值