Kasada p.js (x-kpsdk-cd、x-kpsdk-cd、integrity)

提供x-kpsdk-cd的API服务
详细请私信~
可试用~

一、简述

integrity是通过身份验证Kasada检测机器人流量后获得的一个检测结果(数据完整性)
x-kpsdk-cd
是经过编码计算等等获得。当你得到正确的解决验证码值之后,解码会看到如下图Kasada p.js (x-kpsdk-cd、x-kpsdk-cd、integrity)_第1张图片

二、cookie生成过程分析

访问过程

首次访问目标网页时,会由目标网页p.js触发fp(指纹)请求,根据目标网站所给定资源权限不同,fp会携带不同的特征。首次访问fp总是会得到429响应。

429响应原因

429响应原因大致分为两种

  1. cookie值不正常(初次访问无cookie、cookie值错误)
  2. 同一个 ip 访问指纹请求次数过多
  3. 存在少数其他情况(challenge of r)

由原因 1 所导致时,属于p.js正常处理逻辑。

ips.js重载高级指纹信息

下图内容可见主要由三块:

  1. cookie内容
  2. x-kpsdk-v版本信息
  3. x-kpsdk-im值

目标网站得到这条响应时,会尝试携带VM数据对当前所使用电脑机器进行数据采集编码构造汇编数据

此时访问,会返回一个携带部分特征值(或者某种Message Digest)的cookie与相关其他的信息,如下两图
Kasada p.js (x-kpsdk-cd、x-kpsdk-cd、integrity)_第2张图片
首次访问会得到429响应,因为没有cookie。而fp得到响应是需要加载ips.js
Kasada p.js (x-kpsdk-cd、x-kpsdk-cd、integrity)_第3张图片
ips.js 加载后,ips.js内部将会得到一个巨坤长的编码字符串,是VM数据编码的值。
Kasada p.js (x-kpsdk-cd、x-kpsdk-cd、integrity)_第4张图片
在ips.js内部,又会通过内部的方法,发送VM数据到kasada接口进行验证检测(malware、traffic、AI)
例如发送:采集浏览器高级指纹发送、采集网络环境、采集你的操作系统信息等,构造成特征值,以及其他数据
Kasada p.js (x-kpsdk-cd、x-kpsdk-cd、integrity)_第5张图片
当通过系统的机器人检测之后,tl 资源请求将会得到
{“reload”: true}
在这里插入图片描述

即响应重载成功,代表此时通过了机器人恶意流量检测。得到正确的cookie值。

PS:
通过大量cookie数据采集以及统计数据分析
Cookie的编码具有特定方法以及特定算法内容、暂不公开
Kasada p.js (x-kpsdk-cd、x-kpsdk-cd、integrity)_第6张图片

三、x-kpsdk-cd与x-kpsdk-ct

在加载了正确的cookie值之后,又会遇到一个数据完整性相关的盾——integrity
Kasada p.js (x-kpsdk-cd、x-kpsdk-cd、integrity)_第7张图片
这个请求,意思相当于获取一个临时通行证,Web开发中常见的token或者JWT。

但是这个请求需要几个关于x-kpsdk的必要请求头,也正是这几个是检测机器人与恶意流量的关键。

主要说下两个

  • x-kpsdk-cd
  • x-kpsdk-ct

x-kpsdk-cd请求头

这个是通过目标网站的frame所给的验证码值与p.js的进行解析验证码所获得的。
验证码解成功之后,得到的cd携带到integrity请求头中配合其他请求头,发送获取响应,得到上图的响应,很像JWT。通过base解码,可以看到被判定不是恶意流量。

x-kpsdk-ct请求头

这个请求头是通过fp资源或者ips.js请求的tl资源所获得的。与上面的cd、验证码是对应起来的(经过测试两者是可以独立工作的(未详细去做验证测试))
简单说,就是正确的cookie的值,作为这个请求头的值

x-kpsdk-v请求头

这个就很简单了,版本信息而已

x-kpsdk-dt、x-kpsdk-im

这两者是在某些特定请求中才会有,值的来源很好推断,来自ips响应与内部构造。

四、过盾

cookie值正确、请求头正确,自然就绕过盾(恶意流量检测)了。
只要涉及这个盾的相关业务,都拿下了,这里拿登录举个例子。
Kasada p.js (x-kpsdk-cd、x-kpsdk-cd、integrity)_第8张图片

你可能感兴趣的:(kasada,p.js,ips.js,逆向,逆向工程,恶意流量检测,kpsdk-cd)