验证码逆向之yandexcloud-smartcaptcha

第一次发布文章,记录一下自己碰到yandexcloud的kaleidoscope的验证码逆向过程,文章格式杂乱,请大家体谅!

提示!本文章仅供学习交流,严禁用于非法用途,文章如有不当可联系本人删除!

目录

序言

一、查找接口

二、图片还原

三、结果验证

四、结论

序言

先贴验证码图片,原理:通过滑动,变动小图,使其还原为一张完整的图片

一、查找接口

1、首先会初始化一次请求,得到对应的captcha的key和prefix等关键参数

这里实例网站,我直接过滤的check可以看到对应的接口

其中sitekey在请求的html中获取,就不多描述,可以搜索关键词

2、第二次请求,获取图片url等关键参数

携带的请求,都是通过base64编码的,比较简单

rdata为:浏览器指纹等,通过_getFingerprint生成,key为:第一次请求得到的,picasso为:通过_getPicasso生成,最后的tdata为坐标等信息,就看网站检测严不严了。

pdata为:需要通过这个js进行加密还原,直接扣代码就可以得到,涉及到第一次请求的prefix,complexity

得到的结果:

其中image就不多说了,图片url,这里的task是还原图片的关键

二、图片还原

图片还原还是比较简单的,用opencv就可以,简单说一下我的思路:将图片分为25小块(看图片的)生成对应的序号数组,然后通过排列组合,得到对应的图片,然后检测图片的特征(计算相邻小图拼接区域的边缘对比度)直接取最小值的序号就行。关键点在于这里的排列组合是跟上面请求的task相关的

三、结果验证

也是最后一次请求,这次携带的参数只需变动pdata(生成和上面的一样),key(第二次请求的key),以及新增rep(滑动结果)

结果图:

四、结论

​​​​​​总的来说这个验证码还是比较简单的,也是突然心血来潮想记录一下,就写了这篇文章,不足之处也希望各位大佬提出建议,嘿嘿。后面碰到其他的验证码或者其他难点也会记录一下

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值