验证码底图还原¶
此文章用于记录验证码中碰到的底图乱序还原的方法,会持续更新此内容。
1. 前言¶
在验证码的破解中,特别是滑块类型,会遇到接口返回的验证码背景图片链接是乱序的,但是浏览器加载此链接后却又正常显示。 一般是经过了固定算法(目前碰到的都是固定规则的)来还原乱序的图片,并在网页前端正常显示。 本文会介绍各个有此现象的站点的图片还原方式,和解决方法。
2. 底图还原种类¶
2.1. 极验滑块底图还原¶
极验的滑块底图为乱序的,底图还原为 canvas 操作实现。
2.1.1. 极验底图还原逻辑调试¶
- 下
canvas
断点
在下完 canvas
创建时的事件断点后,触发滑块即可定位到底图处理部分。
由上图可知它图片还原逻辑,把乱序的 52 块图片按照 Ut
数组的顺序重新排序拼接好。这里提供一个 py
还原示例:
当然,网上也有易语言还原版本,用 jsdom 还原的也有,自己去搜吧。
注:底图还原等对图片处理时尽量改为对 bytes 操作,而不是直接操作文件,完全可以规避多线程下对同名文件的读写问题。
顶象滑块底图还原也可同样方法定位。
2.2. 完美滑块底图还原¶
完美滑块是根据
background-position
的css
样式来还原的
这里放上一个网上搜索到的同类型示例,解释非常详细,不再画蛇添足了,转过去看吧:background-position 重组验证码图片