Crack Captcha | 某招投标信息查询网站滑块验证码分析

简介: Crack Captcha | 某招投标信息查询网站滑块验证码分析

今日网站

aHR0cHM6Ly9idWxsZXRpbi5jZWJwdWJzZXJ2aWNlLmNvbS8=

这个网站是比较简单的滑块验证码,没有涉及指纹,轨迹以及 JS 的加密,但是有助于进一步了解滑块验证码的具体实现和分析流程

所以作为 Crack Captcha系列的第一篇,希望能对想要学习验证码分析的朋友带来一些帮助

概念普及

在开始我们老三样套路之前先搞一波基础概念普及

Captcha全程是 Completely Automated Public Turing test to tell Computers and Humans Apart

是一种区分用户是机器或人类的公共全自动程序,既然是一种程序,那只要摸清套路我们也可以用全自动化的套路应对。

目前市面上的验证码类型常见的有数字字符验证码,滑动验证码和点选验证码。

具体的形式我这里截取一些常见的形式展示一下,其他形式的大家可以自行搜索。

大致的形式就是上面这样的,每一种都有应对的方案,之前也写过一篇文章作为介绍,这里不重复叨叨,感兴趣的朋友点下方蓝字,直达原文

怼就完事了,总结几种验证码的解决方案

抓包分析

凑完字数,这里看下我们需要分析的网站验证码

打开网站,研究一下可以看到页面需要滑动验证之后才可以出现列表页的内容

清掉缓存,重新抓包,大致分析了一下大致有下面这几个请求是和验证码相关的

分别查看请求并分析逻辑可以大致得到下面这些信息

1、captchaimage返回的是上面这个三个图的链接地址

2、19.png是原图

3、big_xxx.pngsmall_xxx.png是缺口图和滑块图

4、checkCaptcha是验证验证码的请求,并且返回了一个token用于之后列表页的请求

这样的大致的逻辑就分析明白了

先请求1得到2、3中的图片,再提交4中需要的参数得到返回的token即可完成列表页的请求

那么4中的请求提交的又是什么呢?

4中需要的参数有两个,第一个是dataToken、第二个是point,这样就很清晰了。

dataToken来自1的请求

point应该就是图片滑块的距离了

这样分析下来就很清楚了,而且这个滑块也非常简单,2,3中的图片没有混淆,也没有滑动轨迹的验证,只要简单的完成参数提交即可。

代码逻辑

先构造请求这个很简单

主要是提取两个链接,原图和缺口图

之后用opencv比对获取缺口离左侧的距离

def pixel_is_equal(image1, image2, x, y):
  """
        判断两张图片的像素是否相等,不想等即为缺口位置
        :param image1:
        :param image2:
        :param x:  x坐标
        :param y: y 坐标
        :return:
        """
  # 取两个图片的像素点
  pixel1 = image1.load()[x, y]
  pixel2 = image2.load()[x, y]
  threshold = 60  # 像素色差
  if abs(pixel1[0] - pixel2[0]) < threshold and abs(pixel1[1] - pixel2[1]) < threshold and abs(
    pixel1[2] - pixel2[2]) < threshold:
    return True
  else:
    return False

带上这个比对的结果获取左侧到这个位置的距离就可以了。

今天的文章到这里就结束了,最简单的滑块分析结束,我们下次再见~

相关文章
|
算法 前端开发 JavaScript
滑块验证码------啥?你居然还在手动滑动,你不来试试自动滑动吗
滑块验证码------啥?你居然还在手动滑动,你不来试试自动滑动吗
985 0
|
前端开发 测试技术 Go
autojs滑块验证码-查找位置(二)
牙叔教程 简单易懂
3308 0
|
7月前
|
机器学习/深度学习 数据采集 API
Python自动化解决滑块验证码的最佳实践
Python自动化解决滑块验证码的最佳实践
|
人工智能 文字识别 安全
温习数据算法—js滑块验证码
温习数据算法—js滑块验证码
|
安全 API 数据安全/隐私保护
​验证码邮件API有哪些?分析最好的3个接口平台
验证码邮件API如AOKSend、SendGrid和Mailgun是用户身份验证的关键工具。这些API提供高效、可靠的邮件发送服务,确保验证码的安全传输。AOKSend以其快速发送和易用性著称,SendGrid则以全面功能和扩展性见长,而Mailgun则以灵活性和高送达率闻名。开发者可以根据需求选择合适的API,通过示例代码轻松集成到应用中,增强安全性和用户体验。
|
JavaScript API 数据安全/隐私保护
数美滑块验证码分析
本文以官网的滑块验证码为例,分析验证过程,完成模拟验证。
2201 0
数美滑块验证码分析
|
数据采集 JavaScript 前端开发
使用Java解决快手滑块验证码
使用Java解决快手滑块验证码
|
安全 PHP 开发工具
注册登录首选,趣味滑块验证码
注册登录账户时,保障账户安全是首要任务!使用趣味滑块验证码,既能有效防御恶意攻击,又能为验证过程增添一丝乐趣。让注册和登录变得更加有趣又安全!
|
存储 前端开发 NoSQL
TienChin 验证码响应结果分析&验证码生成接口分析
首先从前端开始进行分析,进入到登录页面,打开开发者工具(f12),找到 network,f5 刷新一下页面,然后,筛选一下,筛选内容为 Fetch/XHR:
181 0
TienChin 验证码响应结果分析&验证码生成接口分析
|
自然语言处理 算法 安全
语音验证码短信原理和应用场景分析(附Java 接入代码)
语音验证码短信原理和应用场景分析(附Java 接入代码)
707 0
下一篇
oss云网关配置