本文主要是介绍Kasada p.js (x-kpsdk-cd、x-kpsdk-ct、integrity),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
提供x-kpsdk-cd的API服务
详细请私信~
可试用~
V:zhzhsgg
一、简述
integrity是通过身份验证Kasada检测机器人流量后获得的一个检测结果(数据完整性)
x-kpsdk-cd
是经过编码计算等等获得。当你得到正确的解决验证码值之后,解码会看到如下图
二、cookie生成过程分析
访问过程
首次访问目标网页时,会由目标网页p.js触发fp(指纹)请求,根据目标网站所给定资源权限不同,fp会携带不同的特征。首次访问fp总是会得到429响应。
429响应原因
429响应原因大致分为两种
- cookie值不正常(初次访问无cookie、cookie值错误)
- 同一个 ip 访问指纹请求次数过多
- 存在少数其他情况(challenge of r)
由原因 1 所导致时,属于p.js正常处理逻辑。
ips.js重载高级指纹信息
下图内容可见主要由三块:
- cookie内容
- x-kpsdk-v版本信息
- x-kpsdk-im值
目标网站得到这条响应时,会尝试携带VM数据对当前所使用电脑机器进行数据采集编码构造汇编数据
此时访问,会返回一个携带部分特征值(或者某种Message Digest)的cookie与相关其他的信息,如下两图
首次访问会得到429响应,因为没有cookie。而fp得到响应是需要加载ips.js
ips.js 加载后,ips.js内部将会得到一个巨坤长的编码字符串,是VM数据编码的值。
在ips.js内部,又会通过内部的方法,发送VM数据到kasada接口进行验证检测(malware、traffic、AI)
例如发送:采集浏览器高级指纹发送、采集网络环境、采集你的操作系统信息等,构造成特征值,以及其他数据
当通过系统的机器人检测之后,tl 资源请求将会得到
{“reload”: true}
即响应重载成功,代表此时通过了机器人恶意流量检测。得到正确的cookie值。
PS:
通过大量cookie数据采集以及统计数据分析
Cookie的编码具有特定方法以及特定算法内容、暂不公开
三、x-kpsdk-cd与x-kpsdk-ct
在加载了正确的cookie值之后,又会遇到一个数据完整性相关的盾——integrity
这个请求,意思相当于获取一个临时通行证,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-ct、integrity)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!