吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 13754|回复: 98
收起左侧

[Web逆向] 快手滑块—逆向分析(web)

    [复制链接]
timeslover 发表于 2022-10-9 22:14
本帖最后由 timeslover 于 2023-5-13 14:47 编辑

目标URL:

aHR0cHM6Ly9wYXNzcG9ydC5rdWFpc2hvdS5jb20vcGMvYWNjb3VudC9sb2dpbi8/c2lkPWt1YWlzaG91LndlYi5jcC5hcGkmY2FsbGJhY2s9aHR0cHMlM0ElMkYlMkZjcC5rdWFpc2hvdS5jb20lMkZyZXN0JTJGaW5mcmElMkZzdHMlM0Zmb2xsb3dVcmwlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmNwLmt1YWlzaG91LmNvbSUyNTJGYXJ0aWNsZSUyNTJGcHVibGlzaCUyNTJGdmlkZW8lMjUzRm9yaWdpbiUyNTNEd3d3Lmt1YWlzaG91LmNvbSUyNnNldFJvb3REb21haW4lM0R0cnVl

image.png

此处iframe新开一个窗口,可以减少其他的干扰

image.png

失效的话,将上面的重新获取一下,重新复制iframe的URL,进去就可以了

image.png

验证不通过

image.png

验证通过

image.png

检验URL和参数

https://captcha.zt.kuaishou.com/rest/zt/captcha/sliding/kSecretApiVerify

image.png

全局搜一下参数verifyParam

image.png

c参数是一个做了加密的长字符串

在这里插入图片描述

此处需要注意,当我断在6374的时候,c还是undefined

image.png

F8运行到6394的时候,他的值就计算出来了

image.png

回到case为0处,有个r对象,其中有个trajectory参数,大概猜测是路径加密后的值,可以先从这里入手

image.png

全局搜索一下参数“trajectory”

image.png

此处搜到了3个,分别下断点,拖动之后,最后是断在行号 8863 的这个

image.png

结果是经过一个参数 c.slice(1)

image.png

此处是他的拖动路径数据

image.png

此处c的计算在这个位置

image.png

此处为指纹hash

image.png

到这一步,就可以把路径算法扣下来,路径还原结果如下


const t = {
  trajectory: [
    [0, 22, 1664078425847],
    [7, 22, 1664078425857],
    [25, 20, 1664078425864],
    [50, 18, 1664078425875],
    [79, 17, 1664078425881],
    [108, 15, 1664078425891],
    [141, 13, 1664078425898],
    [170, 11, 1664078425904],
    [199, 9, 1664078425911],
    [228, 8, 1664078425918],
    [257, 7, 1664078425926],
    [289, 5, 1664078425934],
    [315, 4, 1664078425942],
    [333, 3, 1664078425950],
    [355, 3, 1664078425958],
    [369, 3, 1664078425966],
    [384, 3, 1664078425976],
    [398, 3, 1664078425985],
    [413, 3, 1664078425990],
    [423, 3, 1664078425997],
    [431, 3, 1664078426007],
    [438, 3, 1664078426014],
    [449, 3, 1664078426023],
    [452, 3, 1664078426030],
    [456, 3, 1664078426036],
    [460, 3, 1664078426044],
    [467, 3, 1664078426052],
    [471, 3, 1664078426211]
  ]
}
let n = {}

const f = {
  uhUaq: function (n, t) {
    return n - t
  },
  FuwxQ: function (n, t) {
    return n + t
  }
}

let r = t.trajectory[0] ? t.trajectory[0][2] : 0

let c = t.trajectory.slice(-100).reduce(function (n, t) {
  return f.FuwxQ(
    n,
    ','
      .concat(t[0], '|')
      .concat(t[1], '|')
      .concat(f.uhUaq(t[2], r))
  )
}, '')

console.log(c.slice(1))

本地结果和浏览器验证结果匹配,说明算法没有扣错

image.png

然后我们再回到之前的这个位置,目前已经把路径的参数给解决了,还剩下 captchaExtraParamcaptchaSngpuInfo

image.png

在这个位置下断点,当 case0 执行完之后,t 参数的 sent 会把最后的计算结果算出来并赋值

image.png

image.png

这里hook去跟一下

image.png

跟到这里的时候,Shift+F11

在此处下断点,重新刷新,进到f函数里面

image.png

进到这里之后,F8运行,观察 n 形参的变化

image.png

n变量的变化是这样的
1、先是UA和指纹信息

image.png

2、然后是会传一个超长的数组

image.png

3、最后就是运算出结果

image.png

当n出现数组的时候,F11进入,会进到这个位置,这里就是最后结果生成的地方

image.png

以下是每个值的参数和输出的结果

image.png

image.png

image.png

image.png

到了断点位置,
先执行完 u = e[i("0x32")],可以看到e的输出是一个大数组
然后执行e[i("0x33")](i("0x34"), ni("0x35")i("0x36"));
最后e里面的参数就计算出来了

image.png

所以我们只需要在这个地方注入我们需要的代码就可以,
然后将c.a[i("0x31")],d,e[i("0x33")](i("0x34"), ni("0x35")i("0x36"))导出到全局,然后rpc调用,或者你也可以扣代码,我这里是直接自己写一个WSS去调算法,想扣代码的大佬自己去扣,这里就不多废话了。

最后本地验证一下,成功获得凭证数据

image.png

补补补补补补补:

captchaSn参数是来自https://captcha.zt.kuaishou.com/rest/zt/captcha/sliding/config这个接口的返回数据

image.png

captchaSession参数又是来自上一个接口https://id.kuaishou.com/pass/kuaishou/sms/requestMobileCode

image.png

免费评分

参与人数 55吾爱币 +52 热心值 +53 收起 理由
seleniumking + 1 + 1 我很赞同!
ChinSU + 1 热心回复!
mahone7 + 1 我很赞同!
nicemcc + 1 + 1 谢谢@Thanks!
lzc6 + 1 谢谢@Thanks!
18023999 + 1 + 1 真心的不错,很全面详细。
vipro + 1 用心讨论,共获提升!
huawei518 + 1 + 1 用心讨论,共获提升!
caigekeji + 1 + 1 用心讨论,共获提升!
温馨提示 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
天空宫阙 + 2 + 1 用心讨论,共获提升!
kay666 + 1 我很赞同!
eCAN + 1 + 1 热心回复!
he1a2s0 + 1 + 1 谢谢 @Thanks!
leoxxxiyu + 1 谢谢@Thanks!
xinzhyu + 1 + 1 热心回复!
无敌小车 + 1 + 1 热心回复!
Ge、Jin + 1 热心回复!
GS_小东 + 1 + 1 我很赞同!
笙若 + 1 + 1 谢谢@Thanks!
南风未起. + 1 热心回复!
KenMaster1 + 1 + 1 用心讨论,共获提升!
shiningkaka + 1 + 1 热心回复!
lvbuqing + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
my_holiday + 1 + 1 谢谢@Thanks!
fengbolee + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
zhoumeto + 1 + 1 用心讨论,共获提升!
Liona + 1 + 1 谢谢@Thanks!
楚子沦i + 1 + 1 我很赞同!
xlwllm + 1 + 1 我很赞同!
ddddhm + 1 + 1 我很赞同!
ncu.xxy + 1 + 1 我很赞同!
timeni + 1 + 1 用心讨论,共获提升!
红烧排骨 + 1 热心回复!
狄人3 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Establish + 1 + 1 热心回复!
m52pj + 1 + 1 热心回复!
#sky# + 1 + 1 热心回复!
turbodog + 1 + 1 用心讨论,共获提升!
wangguang + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
huazi1 + 1 + 1 我很赞同!
featmellwo + 2 + 1 学到了
据说是凯哥哥i + 1 + 1 硬核分析,淦源码的都是大佬
hktkhp + 1 + 1 我很赞同!
a446489393 + 1 + 1 热心回复!
lgc81034 + 1 谢谢@Thanks!
努力加载中 + 1 + 1 热心回复!
iokeyz + 2 + 1 谢谢@Thanks!
yiqibufenli + 1 + 1 我很赞同!
开心的一逼 + 1 + 1 热心回复!
Huangyc + 1 + 1 用心讨论,共获提升!
萌新与小白 + 1 + 1 热心回复!
Luxanna + 1 + 1 谢谢@Thanks!
qazqazwang + 1 + 1 用心讨论,共获提升!
我是不会改名的 + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ycgzs 发表于 2022-10-10 01:06
太复杂了,图片转二值化 黑色为1 白色为0     图块011111111111111111111110  匹配 缺口10000000000000000000001 即可
zhzhch335 发表于 2022-10-11 15:09
学到了学到了 以为我们APP的抢购加这个就万无一失了呢 看来还要进一步防范一下了
linix 发表于 2022-10-12 14:15
膜拜大佬,学习一下。我以前是用的yolo训练的滑块,后面被快手反爬了几次,会识别拖动轨迹,你这个也应该会涉及到轨迹识别吧?生成模拟轨迹数据时。
CSK123 发表于 2022-12-27 16:41
前面都跟上了,到了这里  ”所以我们只需要在这个地方注入我们需要的代码就可以,
然后将c.a[i("0x31")],d,e[i("0x33")](i("0x34"), ni("0x35")i("0x36"))导出到全局,然后rpc调用,或者你也可以扣代码,我这里是直接自己写一个WSS去调算法,想扣代码的大佬自己去扣,这里就不多废话了。“

就跟不上了
29176413 发表于 2022-11-30 08:22
大佬,我在网上找了一些flash学习视频,但是是培训机构录制的并且加密了,还弄了个配套的播放器要激活码,但是这个培训机构倒闭了都找不到地方买激活码,能帮忙看下么,我悬赏了
吾爱破解悬赏链接
 楼主| timeslover 发表于 2022-10-10 09:00
ycgzs 发表于 2022-10-10 01:06
太复杂了,图片转二值化 黑色为1 白色为0     图块011111111111111111111110  匹配 缺口1000000000000000000 ...

这个问题不在本文章讨论范围,你要识别的话,可以参考之前我发的树美文章,还有顶象文章,里面有写利用opencv的识别算法,如果你觉得识别率不高,可以考虑用yolo等工具,自己训练数据,做数据模型
xiezhaoxu8 发表于 2022-11-1 19:08
大佬 有个同盾的黑盒需要你搞 有兴趣接单吗
xixicoco 发表于 2022-10-9 22:44
大佬的代码看着看着就睡着了
shukaisa 发表于 2022-10-10 03:17
看不懂,希望出个成品da's
wang754782072 发表于 2022-10-10 08:27
感谢分享
abu21 发表于 2022-10-10 08:52
谢谢分享
 楼主| timeslover 发表于 2022-10-10 09:02
shukaisa 发表于 2022-10-10 03:17
看不懂,希望出个成品da's

关键点已经知道了,在关键点,注入函数,搞个wss远程调用一下,这不就是成品了么
linswin 发表于 2022-10-10 09:20
谢谢分享,之前滑块是用一个第三方的库 ddddocr 来处理的。
2568xingtong 发表于 2022-10-10 09:29
谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 20:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表