当前位置: 首页 > news >正文

akamai _sbsd

目标网站:aHR0cHM6Ly93d3cuY2VidXBhY2lmaWNhaXIuY29tL2VuLVBILw==

请求流程:

1.请求首页获取sbsd的js链接(不一定会带t参数)

2.获取sbsd的js

3.post 获取bm_sc为2的cookie

4.再次请求首页 获取bm_sc为4的cookie

环境分析

打上xhr断点向上跟一栈就能找到环境数组以及生成发包参数的位置,signals就是需要动态生成的值,每份js的key名都会不同

{ "ver": "uNry3nQX+kQKRhp1qS+f4g==", "signals": { "Vl002": "false", "Vl032": "false", "Vl034": "true", "Vl036": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36", "Vl045": "0,0,0", "Vl047": "1,1,1,1,1,1", "Vl048": "[\"zh-CN\",\"zh\"]", "Vl056": "false", "Vl072": "bc60883952e829c2333c9ee93db52d8b0fb1e9da7de4c64ed667766cea87f2dc", "Vl078": "1620450", "Vl088": "0", "Vl105": "Asia/Shanghai", "Vl129": "Fri Jul 31 2026 14:33:17 GMT+0800 (中国标准时间)", "Vl153": "x86", "Vl163": "1;1;1", "Vl178": "effdebb7-83", "Vl186": "s1:-90|s2:discrete|s3:0,1,1,0|s4:explicit|s5:2048,1024", "Vl190": "Asia/Shanghai", "Vl198": "1785479595134", "Vl214": "true", "Vl243": "0", "Vl245": "[{\"brand\":\"Chromium\",\"version\":\"150.0.7871.182\"},{\"brand\":\"Google Chrome\",\"version\":\"150.0.7871.182\"},{\"brand\":\"Not/A)Brand\",\"version\":\"99.0.0.0\"}]", "Vl253": "32", "Vl258": "1", "Vl266": "0", "Vl269": "Google Inc. (Intel)", "Vl271": "24", "Vl277": "c:0", "Vl306": "1", "Vl319": "0", "Vl334": "x86", "Vl336": "150.0.7871.182", "Vl339": "c:0", "Vl341": "[{\"brand\":\"Chromium\",\"version\":\"150\"},{\"brand\":\"Google Chrome\",\"version\":\"150\"},{\"brand\":\"Not/A)Brand\",\"version\":\"99\"}]", "Vl368": "1", "Vl370": "true", "Vl375": "10.00", "Vl393": "true", "Vl406": "[\"zh-CN\",\"zh\"]", "Vl407": "4395630592,16915022,13988422,150", "Vl410": "32", "Vl412": "1", "Vl424": "true", "Vl428": "", "Vl429": "Windows", "Vl430": "https://www.cebupacificair.com/en-PH/", "Vl431": "12", "Vl436": "0;0", "Vl445": "10.0.0", "Vl469": "1;1;1", "Vl471": "true", "Vl472": "0", "Vl476": "0,0", "Vl478": "00", "Vl486": "10", "Vl487": "0", "Vl490": "zh-CN", "Vl491": "[\"4g\",-1,\"null\"]", "Vl492": "true|", "Vl496": "true", "Vl500": "3e0054cf", "Vl502": "954069|772464|003253", "Vl505": "2560", "Vl507": "Windows", "Vl511": "videoinput,audiooutput", "Vl522": "false", "Vl523": "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36", "Vl533": "1,0,0,0", "Vl534": "google chrome", "Vl540": "zh-CN", "Vl544": "false", "Vl547": ",0", "Vl559": "Google Inc. (Intel)", "Vl568": "24", "Vl578": "4628", "Vl601": "150.0.7871.182", "Vl633": "0,wd", "Vl639": "ANGLE (Intel, Intel(R) UHD Graphics 730 (0x00004692) Direct3D11 vs_5_0 ps_5_0, D3D11)", "Vl643": "true", "Vl653": "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36", "Vl660": "false", "Vl669": "true", "Vl670": "Google Inc. (Intel)", "Vl677": "0", "Vl696": "false", "Vl720": "", "Vl741": "000", "Vl742": "1", "Vl751": null, "Vl754": "80", "Vl757": "Fri Jul 31 2026 14:33:17 GMT+0800 (中国标准时间)", "Vl762": "true,false,true", "Vl781": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36", "Vl786": "landscape-primary", "Vl791": "0,0", "Vl794": "ANGLE (Intel, Intel(R) UHD Graphics 730 (0x00004692) Direct3D11 vs_5_0 ps_5_0, D3D11)", "Vl795": null, "Vl816": "fine,fine", "Vl823": "0", "Vl837": "2", "Vl843": "e6a6b62042f2333998b8357baa6fe8b776aaad3c0b1692df334f2afaf3954baf-22-19", "Vl856": "Win32", "Vl867": "000000", "Vl899": "[{\"brand\":\"Chromium\",\"version\":\"150.0.7871.182\"},{\"brand\":\"Google Chrome\",\"version\":\"150.0.7871.182\"},{\"brand\":\"Not/A)Brand\",\"version\":\"99.0.0.0\"}]", "Vl901": "ANGLE (Intel, Intel(R) UHD Graphics 730 (0x00004692) Direct3D11 vs_5_0 ps_5_0, D3D11)", "Vl910": "1440", "Vl916": "[{\"brand\":\"Chromium\",\"version\":\"150\"},{\"brand\":\"Google Chrome\",\"version\":\"150\"},{\"brand\":\"Not/A)Brand\",\"version\":\"99\"}]", "Vl921": "Google Inc. (Intel)", "Vl928": "12", "Vl932": "d6c65638|s1:16|s2:30|s3:12|s4:1,1|s5:1,1024|s6:32767,32767|s7:16384|s8:24|s9:120|s10:-8", "Vl937": "10.0.0", "Vl954": "[\"4g\",-1,\"null\"]", "Vl956": "fb16a83e", "Vl957": "true", "Vl967": "Win32", "Vl968": "true", "Vl973": "ANGLE (Intel, Intel(R) UHD Graphics 730 (0x00004692) Direct3D11 vs_5_0 ps_5_0, D3D11)", "Vl977": "true", "Vl981": "133742|251807|964836|954069|954069", "Vl982": "uNry3nQX+kQKRhp1qS+f4g==", "Vl674": "704284" }, "perf": 2463, "s": "f", "tid": "ms8kgapaffsiyskjnvq" }

部分环境语义:

/* performance.getEntriesByType("resource") 取name属性做计算 跟abck和sbsd的链接有关 */ "Vl981": "133742|251807|964836|954069|954069",
// 音频OfflineAudioContext相关的api "Vl956": "fb16a83e",
// speechSynthesis.getVoices() "Vl843": "e6a6b62042f2333998b8357baa6fe8b776aaad3c0b1692df334f2afaf3954baf-22-19",
// (-1).toFixed(-1) — >传入负数,抛出 RangeError。获取错误消息的长度:Nj["message"]["length"]+Array的toatring()去掉函数名的长度 "Vl754": "80",
/* 创建audio和video元素调用canPlayType(),测浏览器是否支持音频格式 var HP = ["audio/mpeg", "audio/mp4; codecs=\"mp4a.40.2\"", "audio/ogg; codecs=\"vorbis\"", "audio/webm; codecs=\"vorbis\""]; var Hb = ["video/mp4; codecs=\"avc1.42E01E\"", "video/webm; codecs=\"vp8, vorbis\""]; var D1 = L["document"]["createElement"]("audio"); var WJ = L["document"]["createElement"]("video"); */ "Vl047": "1,1,1,1,1,1",
// canvas 的todataurl() "Vl072": "bc60883952e829c2333c9ee93db52d8b0fb1e9da7de4c64ed667766cea87f2dc",
// 获取navigator 自身拥有的属性名 + Navigator.prototype 上的属性名,然后对属性列表做哈希,生成一个浏览器环境指纹。 "Vl178": "effdebb7-83",
// jsHeapSizeLimit,totalJSHeapSize ,usedJSHeapSize ,rtt "Vl407": "4395630592,46080560,39398900,100",
// L["console"]["groupEnd"]()控制台检测 "Vl660": "false",

以下是近期更新新增的环境检测

一、检测原生
"Vl339": "c:0", "Vl277": "c:0",
  • 检测两类对象:
  • Vl277:对象属性:
    • navigator
    • window.screen
    • CanvasRenderingContext2D.prototype
    • WebGLRenderingContext.prototype
    • OfflineAudioContext.prototype
  • Vl339:函数/属性方法
    • Function.prototype.toString
    • navigator.permissions.query
    • navigator.webdriver
    • navigator.userAgentData.getHighEntropyValues
    • navigator.deviceMemory
    • navigator.hardwareConcurrency
    • navigator.plugins
    • navigator.mediaDevices.enumerateDevices
    • speechSynthesis.getVoices
    • HTMLCanvasElement.prototype.toDataURL
    • WebGLRenderingContext.prototype.getParameter/getExtension
    • Intl.DateTimeFormat.prototype.resolvedOptions
    • navigator.userAgent/appCodeName/platform/languages
    • window.devicePixelRatio
    • window.matchMedia
  • 检测方式
  • 使用Object.getOwnPropertyNames()获取对象自身属性列表。
  • 遍历目标属性:
    • 使用Object.getOwnPropertyDescriptor()获取属性描述符。
    • 如果当前对象没有,则继续沿原型链查找。
  • 对属性进行分析:
    • 如果存在get
      • 检测 getter 的toString()是否包含[native code]
      • 检测 getter 的name
      • 检测 getter 的prototype(正常应为undefined
    • 如果没有get
      • 直接检测属性值或方法。

  • 函数检测内容

主要检测:

  • 函数是否为原生函数:

    func.toString()

    是否类似:

    function xxx(){ [native code] }
  • 函数名称:

    func.name
  • 函数原型:

    func.prototype

    正常浏览器内置方法通常:

    undefined
二、字体指纹
"Vl368": "1",
  • 创建 Canvas 测量字体宽度
canvas = document.createElement("canvas") ctx = canvas.getContext("2d")

设置基准字体

ctx.font = "72px serif"

测量基准文本:

ctx.measureText("mmmmmmmmmllllliii").width

得到默认字体宽度Ut


  • 检测指定字体是否存在

定义:

Jj(fontName)

逻辑:

  • 设置字体:
ctx.font = '72px "字体名", serif'
  • 再测量:
ctx.measureText(text).width
  • 与默认 serif 宽度比较:
width != Ut

如果不同,说明该字体生效,认为该字体存在。


  • 检测字体列表

依次检测:

字体用途
Roboto / Droid Sans MonoAndroid / Chrome 常见字体
Arimo / UbuntuLinux 字体特征
Helvetica Neue / Geneva / -apple-system / BlinkMacSystemFontmacOS 字体特征
Lucida Console / Cambria Math / Segoe UIWindows 字体特征

  • 根据字体组合判断系统环境

优先级:

Lucida Console Cambria Math Segoe UI ↓ Helvetica Neue Geneva ↓ Arimo Ubuntu ↓ Roboto Droid Sans Mono

根据哪个字体存在,推断:

  • Windows
  • macOS
  • Linux
  • Android

检测目的

通过 CanvasmeasureText()测量字体渲染差异,判断:

  • 操作系统类型
  • 系统字体环境
  • 浏览器运行环境真实性
三、webgl2参数能力指纹检测
//检测webgl2属性:"MAX_VERTEX_TEXTURE_IMAGE_UNITS,MAX_VARYING_VECTORS,MAX_VERTEX_UNIFORM_BLOCKS,MAX_VERTEX_OUTPUT_COMPONENTS,MAX_VARYING_COMPONENTS,MAX_INTERLEAVED_COMPONENTS,ALIASED_LINE_WIDTH_RANGE,ALIASED_POINT_SIZE_RANGE,MAX_TEXTURE_IMAGE_UNITS,MAX_FRAGMENT_UNIFORM_BLOCKS,MAX_FRAGMENT_INPUT_COMPONENTS,MIN_PROGRAM_TEXEL_OFFSET,MAX_PROGRAM_TEXEL_OFFSET,MAX_VIEWPORT_DIMS,MAX_TEXTURE_SIZE,MAX_COMBINED_TEXTURE_IMAGE_UNITS,MAX_TEXTURE_LOD_BIAS,MAX_UNIFORM_BUFFER_BINDINGS,UNIFORM_BUFFER_OFFSET_ALIGNMENT,MAX_COMBINED_UNIFORM_BLOCKS" "Vl932":"d6c65638|s1:16|s2:30|s3:12|s4:1,1|s5:1,1024|s6:32767,32767|s7:16384|s8:24|s9:120|s10:-8", //webgl2对象getExtension("WEBGL_compressed_texture_pvrtc"/"WEBKIT_WEBGL_compressed_texture_pvrtc") "Vl791": "0,0",
四、AudioContext 环境检测
"Vl186": "s1:-90|s2:discrete|s3:0,1,1,0|s4:explicit|s5:2048,1024",
  • 创建音频上下文
new AudioContext()

获取浏览器音频处理环境。


  • 创建音频节点

创建:

  • AnalyserNode
    • 检测频谱分析参数
  • OscillatorNode
    • 生成振荡信号
  • GainNode
    • 音量控制
  • AudioDestinationNode
    • 音频输出设备

流程:

OscillatorNode ↓ GainNode ↓ AudioDestinationNode

  • 采集关键参数

检测:

字段含义
minDecibels分析器最低分贝阈值
channelInterpretation声道解释方式
numberOfInputs节点输入数量
numberOfOutputs节点输出数量
channelCountMode声道计算模式
fftSize频谱 FFT 大小

  • 生成音频指纹

结果:

s1:-90 | s2:discrete | s3:0,1,1,0 | s4:explicit | s5:2048,1024

验证

http://www.jsqmd.com/news/1306333/

相关文章:

  • 滤芯过滤器AI获客心得:GEO优化让耗材生意获得持续询盘 - 红枫叶GEO优化公司
  • Steam创意工坊免费下载终极指南:WorkshopDL让跨平台玩家轻松获取模组
  • 存量贵金属焕新流转:深圳黄金回收行业迭代升级,用专业规范重塑市场信任 - 奢侈品回收评测
  • 2026郴州下水道疏通维修靠谱机构榜单 马桶地漏积水反臭倒灌彻底解决攻略 - 宅安选房屋修缮
  • Python脚本封装成库:从模块化到可安装包的完整实践指南
  • 2026丰台区长途搬家,床架拆装公司哪家好|丰台区口碑推荐,合力搬家专业高效 - mobible
  • Steam创意工坊下载终极指南:WorkshopDL让你免费获取所有模组
  • 企业 AI 网关(Enterprise AI Gateway)
  • SQLite JDBC驱动:企业级嵌入式数据库架构的战略解决方案
  • STM32程序不运行?深入解析MicroLIB配置与启动流程排查
  • N_m3u8DL-CLI-SimpleG:告别命令行,轻松下载在线视频的终极指南
  • ncmdumpGUI:3分钟快速解锁网易云音乐ncm格式的终极指南
  • 2026无锡装修公司推荐:5家值得考察的本地装企名单与选择标准 - 行业观察网
  • FPGA实现m序列:从线性反馈移位寄存器原理到Verilog代码实战
  • Python音乐驱动动画:从节拍检测到角色舞蹈的完整实现
  • 广州市鼎标化工科技有限公司——试剂液碱供应体系的稳健基石与实战价值解析 - 优企名品
  • 分层图最短路:用“平行宇宙”思想解决有限制的最优路径问题
  • 门头沟区日式搬家与冰箱吊装避坑指南:2026公司推荐与5条硬标准 - mobible
  • Nothing重新定位为AI为先公司,将推含AI耳塞、智能音箱等系列设备
  • FGO自动化终极教程:告别枯燥刷本,每天节省3小时游戏时间
  • 不登陆状态下解锁WPS的所有功能:
  • N_m3u8DL-CLI-SimpleG:零基础掌握M3U8视频下载的终极图形化工具
  • USB转4路串口转换器:多设备通信与数据采集的高效解决方案
  • 谷歌或推 Pixel Tag 追踪器,对标苹果 AirTag 能否一战?
  • 2026年5月怀仁设备搬运设备搬迁公司推荐横向测评:从预约咨询到售后服务,5家本地机构全流程对比 - mobible
  • WebView2 MFC遇到的问题
  • Python+Echarts构建就业数据可视化系统实践
  • 线上投票评选怎么做?海投票免费投票小程序图片视频展示投票教程 - 微信投票小程序
  • 门头沟区壁挂炉安装公司推荐,净水机安装公司推荐怎么选才靠谱?2026避坑公司推荐 - mobible
  • 2026年美国签证代办如何提升面签通过率 - 万相科技