文章只供交流学习使用,若有侵权,请联系本作者,立即删除。
目标站点 : aHR0cHM6Ly9iZWlhbi5taWl0Lmdvdi5jbi8jL0ludGVncmF0ZWQvaW5kZXg=
懂得都懂。。
首先定位到该网站的搜索接口
在这里,抓包看一下都包含什么东东咯
this!就是我们本期的主角咯,看看他的图片在哪里~
通过观察请求,很容易锁定请求的位置,
就是他啦,第一个问题,他给出的是base64的图片编码这里我们需要简单处理一下
这个比较简单就不多赘述了,在后期处理中,我们需要将base64的图片转为二进制的字节流去处理
image_data = base64.b64decode(input_image_path)
input_image = Image.open(BytesIO(image_data))
大概这样,给大家参考一下
然后看一下通过之后返回的参数和提交的表单,
链接在这里
提交的表单如上,
从上一个获取图片的请求大家可以看出来clientUid就是point-加一个uuid算法,不多赘述、
secreKey是上一个图片获取请求中,返回的参数
token是请求网站获取的,带有时间戳校验
那么本次验证码的重点就在pointJson这个参数了,接下来带大家浅看一下这个参数。
第一步!直接全局搜索pointJson这个参数!!!(什么?大多数网站不适用?我管他呢,耽误多久时间一样,搜不到再换方法,搜到了一本万利!)
就是这里咯,接下来是一段简单的逆向,不做赘述咯~
大概就跟栈看参数,用js复原一下就好啦,不难的
接下来是验证码图片的处理,
1.多次请求验证码图片,将图片保存到本地
2.保证本地有多个同张背景图的验证码图片
3.python还原背景图
经过了以上三个步骤之后,就可以进行接下来的步骤了
4.用完整验证码图片减去背景图,得到只包含汉字的图片,
5.图片简单处理,二值化等一些列操作。
6.处理之后用ddddocr识别坐标以及图片文字
接下来将背景图截取一部分图片取哈希值,用来选取背景图
接下来就可以上线咯
附代码运行结果如下
网站新上了加速乐,不过问题不大啦~
有需要的可以联系我获得源码的说
v:aHVhcXUwNzI3
没错,v也是老套路
嗯嗯。就这样