某缺口滑块验证码逆向分析破解

js/小程序逆向 7 / 7

前言

地址:https://app.yangkeduo.com/
注意是缺口滑块,而不是点选的

就是上图这种滑块

抓包分析

先来分析第一个可疑的请求包,有个 captcha_collect 加密参数,响应猜测是图片,估计是经过处理过的一串编码,后面来分析一下

拖动下滑块触发了校验接口,参数多了个 verify_code 猜测是缺口距离

获取滑块图片

前面有个 obtain_captcha 接口返回 pictures 数组,全局搜索一下,点进 js 文件,搜索 pictures 关键词,结果不多,就全部下断点,刷新图片

成功断下,这里看不出啥,往下继续分析

主要下面有 src 属性,值调用了 Y.a.decode 函数,有点可疑,直接下断点

跟进函数,直接跳转到 return 处,这是结果已经出来了正是图片的 base64 编码,直接把这个函数复制到本地,运行一下

成功计算出图片的 base64

captcha_collect 加密参数分析

这里指分析图片接口的 captcha_collect 加密参数,其他接口的流程相同参数不同,老套路全局搜索关键词,不知道在哪里就全部打上断点

断下来跟进函数

跳到函数尾部,查看 e 参数,是一些浏览器指纹信息,接着调用了 h -> p 函数

h 函数,猜测是 gzip 数据压缩算法

p 函数有 key iv 盲猜是 aes 算法,后面进行验证

captcha_collect 算法验证

加密:aes + gzip + base64
解密:base64 + gzip + aes

按照以上思路,解密成功

1 条评论
本文作者:
本文链接: https://www.qinless.com/?p=1466
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 qinless 的博客!
100

1 条评论

悦悦

佬,gzip在见压缩的时候报这个错是什么原因 gzip.BadGzipFile: Not a gzipped file (b'\x08\x08')

回复

发表评论

返回顶部