某奇艺滑块
!!!本文章只用于学习交流。如有非法使用。本人不负责任
第一步:请求sign接口获取dfp参数
第二步:请求login.action接口看是否需要弹出滑块,如果需要就要获取token
第三步:请求sbox_init_key接口获取sig,sid,sr三个参数
第四步:请求nitpage接口获取滑块数据
第五步:模拟轨迹参数请求verify接口获取token
2.dfp参数的获取
加密参数主要是dim和sig
dim是base64加密一个数组,数组成员里涉及canvas和canvas的配置和一些cookie
sign就是一个256加密
这个加密接口不难 就不做过多分析,慢慢调试就行
3,
获取si个,sid,sr的时候需要secure这个参数 ,这个参数是由web+版本号+rsa(aes秘钥生成需要的随机数)+hmac256(web+版本号++rsa(aes秘钥生成需要的随机数))
里面涉及两个非常重要的随机数 不管是aes的key还是hmac256的key都是由着两个随机数生成的
4,
请求滑块数据需要这两个参数 ,第二个就是web+版本号+上一步返回的sid
,第一个参数是由
aeskey和hmackey是由前面两个随机数生成的
返回回来的数据需要用aes解密才能看见滑块的链接和偏移
5 .图片的还原
{“code”:“A00000”,“msg”:“成功”,“data”:{“autoResult”:null,“captchaType”:“slidecode”,“initData”:{“token”:“888a419a8bda40ccb0cbc8443f719b5f”,“autoResult”:null,“captchaType”:“slidecode”,“sourceType”:“unUse”,“secondVerify”:null,“secondToken”:null,“secodVerify”:null,“secodToken”:null,“imageBgUrl”:"/api/outer/image/bg/888a419a8bda40ccb0cbc8443f719b5f9376d91051224cca8af41b3e67e4d963.jpg",“imageBlockOffset”:[[{“t1”:13,“t2”:0},{“t1”:7,“t2”:0},{“t1”:15,“t2”:0},{“t1”:2,“t2”:0},{“t1”:9,“t2”:0},{“t1”:12,“t2”:0},{“t1”:10,“t2”:0},{“t1”:5,“t2”:0},{“t1”:14,“t2”:0},{“t1”:6,“t2”:0},{“t1”:19,“t2”:0},{“t1”:1,“t2”:0},{“t1”:17,“t2”:0},{“t1”:11,“t2”:0},{“t1”:4,“t2”:0},{“t1”:8,“t2”:0},{“t1”:18,“t2”:0},{“t1”:0,“t2”:0},{“t1”:16,“t2”:0},{“t1”:3,“t2”:0}],[{“t1”:3,“t2”:1},{“t1”:2,“t2”:1},{“t1”:19,“t2”:1},{“t1”:8,“t2”:1},{“t1”:5,“t2”:1},{“t1”:10,“t2”:1},{“t1”:7,“t2”:1},{“t1”:9,“t2”:1},{“t1”:11,“t2”:1},{“t1”:18,“t2”:1},{“t1”:14,“t2”:1},{“t1”:12,“t2”:1},{“t1”:4,“t2”:1},{“t1”:0,“t2”:1},{“t1”:6,“t2”:1},{“t1”:13,“t2”:1},{“t1”:1,“t2”:1},{“t1”:17,“t2”:1},{“t1”:15,“t2”:1},{“t1”:16,“t2”:1}]],“imageWidth”:290,“imageHeight”:170,“imageBlockPerWidth”:14,“imageBlockPerHeight”:85,“iconUrl”:"/api/outer/image/icon/888a419a8bda40ccb0cbc8443f719b5f9376d91051224cca8af41b3e67e4d963.png",“iconWidth”:56,“iconHeight”:56,“iconYOffset”:28},“availableCaptchaList”:[]}}
上面aes解开大概是这个json数据 里面有img的url,img的还原的偏移,等等
数据里的imageBlockOffset"需要经过
js解密才能看见真实还原的坐标
[42, 14, 136, 220, 164, 206, 192, 122, 108, 178, 234, 0, 276, 262, 70, 248, 28, 150, 56, 84, 140, 56, 84, 28, 42, 154, 112, 0, 262, 182, 196, 126, 224, 210, 70, 14, 98, 168, 276, 238]
前20位是还原上半部的后20位是还原下半部的
还原后大概是这样的
6,,模拟轨迹提交参数
加密方法和上面基本一样主要是轨迹生成 ,这里就不做更多的分析了
7,
其他没什么大问题了,坑就在于两个随机数和照片还原和轨迹的偏移
返回A00000就是成功。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2019-04-08 beautifulsoup4
2019-04-08 Django XSS攻击