某海外短视频TikTok验证码分享
前言
以下文章仅供学习参考,切勿用于违法乱纪。如有侵权,请联系我火速删除。简单说下tk滑块的更新点,目前最新版本是H5_SDK_VERSION = 3.0.56,依然是两次请求:*/captcha/get */captcha/verify两次请求都比较重要。
目标url如下,使用科学工具打开:
'aHR0cHM6Ly9zZjE2LXdlYnNpdGUtbG9naW4ubmV1dHJhbC50dHdzdGF0aWMuY29tL29iai90aWt0b2tfd2ViX2xvZ2luX3N0YXRpYy9vZWMtY2FwdGNoYS10dHdlYi9jYXB0Y2hhL3NnLzMuMC41Ni8xLjAuMC42NzMvaW5kZXguaHRtbA=='
/captcha/get
请求成功可以看到响应返回的是标准的Base64编码 这里我们可以直接模拟wasm加载流程解密运行。


/captcha/verify
captchaBody算法 标准对称加密算法,这个就不说了。
风控差异
web端目前基本上没啥风控,校验都不太严格,这里主要分享下移动端的风控。下面是他的请求体入参明文,可以看到字段比较多的。

具体字段含义分析:
0x1:id - /captcha/get解密返回 。
0x2:mode - 验证码产品类型 /captcha/get解密返回 。
0x3:drag_width x轴最大滑动距离。
0x4: modified_img_width 被修改后的图片大小 图片缩放比例,计算滑块距离时使用。
0x5:reply - 滑块轨迹 注意 tipy /captcha/get解密返回。
0x6:ir - 时间相关。
0x7:hk - 检测。
0x8:lo - 里面主要是location referer相关的信息 网址跳转。
0x9:br - 用户代理ua。
0xa:bt - 检测。
0xb:si - 设备屏幕,分辨率信息 。
0xc:vci - gpu 芯片 webgl信息。
0xd:cc - 检测。
0xe:fi - 数组。
0xf:mc - 数组。
0x10:mu - 数组。
0x11:tc - 轨迹相关和mm mp tmv等。
0x12:tu - 数组。
0x13:mm - 轨迹数组 和滑块轨迹相关。
0x14:ugt - 时间相关。
0x15:tmv - 和mp相关。
0x16:mp - 和mm相关。
0x17:gy - 陀螺仪1。
0x18:gy2 - 陀螺仪2。
0x19:tql - 检测。
0x1a:cp - canvas webgl。
0x1b:hash - 检测。
0x1c:tk - 时间相关 哈希算法相关 验证数据完整性。
0x1d:tm - 时间相关。
0x1e:ec1O2tVb o0eNldpP - 和发版相关 有时候版本更新会变。
0x1f:detRes - 检测相关。
逐一分析后,我们是不是很清楚哪些参数可能是验证码的检测点了?其中最重要的就是reply/gy/gy2,陀螺仪可以检测手机的传感器数据,通过三个角度的变化值即可判断出用户在滑动验证码时设备的运动情况,各个字段都有权重占比,需要综合配合模拟正常设备参数就可以通过啦,嘻嘻!可能会出现以下情况,我的这个验证码跑一段时间后全部失败了,怎么办不能持久工作,可以研究下上面分享的字段含义。另外,各个地区的验证码也有所不同,但是大差不差。
结语
欢迎大佬来撩!!!

[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!