165回答

6收藏

数美滑块验证码分析

信息分享 信息分享 26967 人阅读 | 165 人回复 | 2021-02-25

文章目录

      • 1.验证码申请

        2.提取js参数

        2.验证码注册

        3.计算滑块位置

        4.验证

        5.完整代码




数美验证码官网https://www.ishumei.com/trial/captcha.html










1.验证码申请
打开控制台多看几遍请求过程,就大抵明白请求步骤了,这里就不再细说。

api: ‘https://captcha.fengkongcloud.com/ca/v1/conf?’









params= {
        'organization': 'RlokQwRlVjUrTUlkIqOg',
        'model': 'slide',
        'sdkver': '1.1.3',
        'rversion': '1.0.3',
        'appId': 'default',
        'lang': 'zh-cn',
        'channel': 'YingYongBao',
        'callback': 'sm_{}'.format(int(time.time() * 1000))
    }



该接口返回的js参数,是下一步需要请求的目标。








2.提取js参数
js地址:https://castatic.fengkongcloud.com/pr/auto-build/v1.0.3-70/captcha-sdk.min.js
需要提取该js中的参数名,会在最后验证的时候使用。
不过一般情况下参数名不会变,也可以省略此处,在后面写死。









在该js文件中的参数是倒序的










2.验证码注册
api: https://captcha.fengkongcloud.com/ca/v1/register?







bg和fg是验证码图片地址。 https://castatic.fengkongcloud.com/crb/+bg








3.计算滑块位置
根据上一步可以得到验证图片的地址。
验证码图片:https://castatic.fengkongcloud.com/crb/set-000006/v2/a13e3325e9f864fa42a94a6e07cd95fc_bg.jpg
滑块图片:https://castatic.fengkongcloud.com/crb/set-000006/v2/a13e3325e9f864fa42a94a6e07cd95fc_fg.png









使用opencv查找并匹配图像模板中的滑块。
需要注意的是,这里是以原图计算的,而页面上的图片大小只有(300,150),(应用不同的产品时图片大小可能也不同)
所以需要按比例进行缩小。





4.验证
api:https://captcha.fengkongcloud.com/ca/v2/fverify?
params = {
        'protocol': '70',
        'organization': 'RlokQwRlVjUrTUlkIqOg',
        'rversion': '1.0.3',
        'oe': 'V/QxFC7ISm1=',
        'nj': '1ISY9IKNM+OGjwl0F7LP...省略...7VOki5p4sm+h/qMX2QAhN/4w',
        'zl': '8LwMmaImogs=',
        'sq': '14RHMSbfhJU=',
        'kh': 'qCcI31wL/Fs=',
        'mn': '4AAyKWNy6K0=',
        'rid': '20210113105643e313f68a420c9d240d',
        'ch': 'uiJ+hjbCOka=',
        'yv': 'b9NFDsBKGcg=',
        'ga': 'WssDiJ1wOQI=',
        'ko': '14bDqW72JnI=',
        'callback': 'sm_1610506618948',
        'act.os': 'web_pc',
        'vj': 'IFXKu8Pjb3k=',
        'ostype': 'web',
        'sdkver': '1.1.3'
}





params参数里的 oe,mn,kh等等,都经过了DES加密。

验证后会返回,





message = success,riskLevel=PASS 说明验证通过

5.完整代码
这里没有文章修改权限,代码放在别的平台方便更新。





https://blog.csdn.net/weixin_43582101/article/details/112553479
分享到:
回复

使用道具 举报

回答|共 165 个

milk

发表于 2021-2-25 17:11:01 | 显示全部楼层

大佬的文章永远不会让人失望
回复

使用道具 举报

序列号

发表于 2021-2-26 09:23:29 | 显示全部楼层

优秀
回复

使用道具 举报

strive

发表于 2021-2-26 09:37:04 | 显示全部楼层

666
回复

使用道具 举报

凌点

发表于 2021-2-26 13:00:03 | 显示全部楼层

666
回复

使用道具 举报

ayuge

发表于 2021-2-26 18:09:09 | 显示全部楼层

666
回复

使用道具 举报

Nanda

发表于 2021-2-26 20:01:55 | 显示全部楼层

1
回复

使用道具 举报

gbkhero

发表于 2021-2-28 12:27:30 | 显示全部楼层

666
-------------------------------------
作者: 冬晨夕阳
来源: 夜幕爬虫安全论坛
原文链接: https://bbs.nightteam.cn/thread-1065.htm
版权声明: 若无额外声明,本帖为作者原创帖,转载请附上帖子链接!
回复

使用道具 举报

franky

发表于 2021-3-1 09:49:41 | 显示全部楼层

666
回复

使用道具 举报

hongwang

发表于 2021-3-1 10:34:17 | 显示全部楼层

666
回复

使用道具 举报