ZenoMiao 发表于 2022-6-10 18:46

某电商滑块js分析

本帖最后由 ZenoMiao 于 2022-6-10 18:51 编辑

js分析


通过抓包可以看到接口的参数有这一堆, 已知d是加密的参数, c是uuid, w是缺口x, e和s是接口返回的, 其余参数可固定


打断点基本可以找出来加密位置是h.getCoordinate方法加密, 而g参数是格式为[['x', 'y', timestamp], ['x', 'y', timestamp]]的轨迹, 而轨迹的xy轴并非是通过图片的长宽开始计算, 而是从滑块的整个div的长宽来计算

[["34", "177", 1654765743366], ["72", "202", 1654765743366], ["73", "202", 1654765743429], ["77", "202", 1654765743432]]



跟进去后发现, 轨迹的加密只用到了4个函数, 其中有一个方法(string10to64)是除k取余法



代码扣下来, 改一下调用的方式,运行起来异常的顺畅, 用扣下来的代码加密后的值替换也校验成功





算法还原


对于算法还原不提供源码, 只提供思路和踩坑点

string10to64

[*]注意判断a为空的时候返回0


prefix_integer

[*]主要是生成一个列表并多个值为空, 然后'0'.join()再对字符串进行切片


pretreatment

[*]参数d要取绝对值abs(d)


get_coordinate

[*]这个没啥好注意的, 只要不要传空列表就行, 不然join会报错


最后感谢@漁滒 指导

shuiaohuaheng 发表于 2022-8-6 09:03

谢谢分享,学习一下

伞兵一号卢本伟 发表于 2022-6-13 13:36

666666666666666

shou0823 发表于 2022-6-13 14:44


666666666666666

Ice_Cream 发表于 2022-6-13 15:42

PC端的滑块吗

じ☆ve不哭 发表于 2022-6-19 12:34

感谢分享思路 这个学习了

吾不解 发表于 2022-6-28 17:13

666666
感谢分享

msfvenom 发表于 2022-6-28 17:49

这么丝滑的吗

yu520 发表于 2022-7-25 08:49

赞,大大极高效率

kingkingLy 发表于 2022-8-5 14:34

厉害,进来学习了

PLA77118 发表于 2022-8-6 00:43

学习了谢谢
页: [1] 2
查看完整版本: 某电商滑块js分析