文章目录
- 免责声明
- 前言
- 请求分析
- collect参数
- 总结
免责声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
前言
某讯滑块验证码逆向
体验入口: aHR0cHM6Ly9jbG91ZC50ZW5jZW50LmNvbS9wcm9kdWN0L2NhcHRjaGE=
请求分析
-
打开Charles,触发验证码
-
找到图片接口
图片接口 cap_union_new_getcapbysig 有
img_index,image(图片id), sess 三个参数 -
搜索image参数, 是通过cap_union_prehandle接口返回, sess 同样是通过此接口返回
-
cap_union_prehandle 接口有aid、ua两个可以参数, 多次刷新验证码,发现aid、ua为固定值
-
猜测ua为原始ua加密所得,尝试base64解码,发现可以解码成功
-
滑动滑块验证, 验证接口为cap_union_new_verify接口
-
cap_union_new_verify接口有如下几个参数
8. charles内搜索可知
- pow_answer 为cap_union_prehandle 接口返回
- eks 为 tdc.js接口返回
- sess 已知为 cap_union_prehandle 接口返回
- ans 疑似是缺口位置,又好像不是
- collect参数位置
collect参数
- 查看堆栈
- 搜索collect关键字,定位到t.prototype.verify方法, collect来自于a
- a = decodeURIComponent((0,o.getTdcData)())
- 进入o.getTdcData
5. window.TDC.getData(!0)
6. 向下跟栈发现是__TENCENT_CHAOS_VM(J, i, U, Q, w, n, R, l)生成
总结
本文仅介绍了企鹅滑块验证码的关键参数定位,后续会使用补环境的方法完成collect参数的逆向,敬请期待