图形验证码安全

图形验证码安全目录图形验证码图形验证码的作用和原理图形验证码的分类图形验证码的验证过程图形验证码的安全问题静态图形验证码的激活成功教程利用Python脚本激活成功教程静态图形验证码图形验证码我们经常在登录app或者网页的时候,都会需要我们输入图形验证码上的内容,以验证登录。有些是纯数字的图形验证码,有些是字母和数字,有些是图案,有些是数学表达式……不同的网站,采用的图形验证码的形式也…

大家好,又见面了,我是你们的朋友全栈君。

目录

图形验证码

图形验证码的作用和原理

图形验证码的分类

图形验证码的验证过程

图形验证码的安全问题

静态图形验证码的激活成功教程

利用Python脚本激活成功教程静态图形验证码


图形验证码

我们经常在登录app或者网页的时候,都会需要我们输入图形验证码上的内容,以验证登录。有些是纯数字的图形验证码,有些是字母和数字,有些是图案,有些是数学表达式……不同的网站,采用的图形验证码的形式也不一样。那么,图形验证码到底是什么呢?

图形验证码是验证码的一种。验证码(CAPTCHA)是 “Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。

图形验证码的作用和原理

作用:图形验证码的主要作用是强制进行人机交互,以此来抵御机器自动化攻击,可以防止恶意激活成功教程密码、刷票、论坛灌水,有效防止黑客对某一个特定注册用户用特定程序暴力激活成功教程进行不断的登陆尝试。

原理:图形验证码的问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。

图形验证码的分类

图形验证码是现在大多数网站登录通行的方式。不同的网站,由于其安全级别不一样,网站开发人员掌握的技术不一样,使用的图形验证码的种类也不一样。大体上,图形验证码可以分为以下几类:

  • 传统图形验证码
  • 广告型的图形验证码
  • 滑动验证码
  • 图标选择与行为辅助验证码
  • 点击式的图文验证与行为辅助
  • 智能验证码
  • 语音验证码

传统图形验证码
主要是通过用户输入图片中的字母、数字、汉字等进行验证。
代表:大多数网站采用此种验证形式。
特点:简单易操作,人机交互性较好。但安全系数低,容易被激活成功教程。

图形验证码安全

广告型的图形验证码
有精美图案,识别文本也清晰可认,专注于广告。
代表:Solve Media,宇初验证码
特点:与其说是验证码,倒不如说是广告位。

图形验证码安全

滑动验证码
按要求将备选碎片滑动到正确的位置,或者滑动图标到末尾
代表:极验验证码
特点:操作简单,体验好。单一纬度,容易被逆向模拟,与移动端页面切换不兼容。

图形验证码安全
图标选择与行为辅助
给出一组图片,按要求点击其中指定的一张或者多张图片。
代表:点触验证码、Google新型验证码、12306验证码
特点:安全性强,对于图片、图库、技术要求高。

图形验证码安全

点击式的图文验证与行为辅助
通过文字提醒用户点击图中相同字或者相同图标的位置进行验证。
代表:淘宝新型验证码、点触验证码
特点:操作简单,体验良好,单一图片区域较大,激活成功教程难度大。

图形验证码安全图形验证码安全

智能验证码
通过行为特征、设备指纹、数据风控等技术,正常用户免验证,异常用户强制验证
代表:点触智能验证码,支付宝验证码
特点:简单便捷,区分人与机器、人与人、设备与设备

语音验证码
通过机器客服给你打电话,告诉你验证码
代表:滴滴验证码,易到验证码
特点:需要接听客服电话,体验较差,无法激活成功教程

图形验证码安全

图形验证码的验证过程

  • 我们访问一个网站的登录页面
  • 服务器端响应并创建一个新的Session ID,同时生成一个随机图形验证码,服务器端有该Sessino ID对应图形验证码的答案
  • 服务器端将该Session ID和图形验证码发送给客户端
  • 客户端填写登录表单,并且填入该图形验证码的答案
  • 服务器端收到用户提交的登录数据,取出Session ID与图形验证码的答案,并且与服务器端相同Session ID的图形验证码答案做比较,如果相同,再判断提交表单的用户名,密码等其他信息。如果图形验证码错误,随即返回验证码错误

注意:这里需要注意的是,Session ID销毁的条件是用户提交的图形验证码和用户名密码等其他信息正确,即登录成功,或者是用户手动刷新验证码

图形验证码安全

图形验证码的安全问题

既然图形验证是用来抵御机器自动化攻击,防止恶意激活成功教程密码、刷票、论坛灌水,防止黑客攻击等威胁的一种手段。道高一尺魔高一丈,那么恶意用户肯定会想方设法去绕过或激活成功教程图形验证码,来达到其恶意的目的。图形验证码面临的安全问题来自多方面的,既有客户端的问题,也有服务器端的问题,也有验证码本身的技术问题。

客户端的安全问题

  1. 客户端生成验证码,验证码由客户端生成并且仅仅在客户端用验证
  2. 验证码输出在响应包中
  3. 验证码输出在cookie中

服务端的安全问题

  1. 验证码不过期,没有及时销毁Session ID会话导致验证码重复使用
  2. 没有进行非空判断
  3. 产生的验证码内容集内的答案非常有限,导致可以被制作成字典

验证码技术安全问题

比如现在很多类型的图形验证码已经可以通过技术手段识别绕过了,识别图形验证码是计算机科学里的一项重要课题,涉及到计算机图形学,机器学习,机器视觉,人工智能等高深领域。

静态图形验证码的激活成功教程

图片灰度化和图片二值化

传送门——> https://blog.csdn.net/qq_36119192/article/details/86012022

文字分隔

为了能识别出字符,需要对要识别的文字图图片进行分割,把每个字符作为单独的一个图片看待

图形验证码安全

标准化

对于部分特殊的验证码,需要对分割后的图片进行标准化处理,也就是说尽量把每个相同的字符都变成一样的格式,减少随机的程度,最简单的比如旋转还原,复杂点的比如扭曲还原等等

图形验证码安全

识别

这一步可以用很多种方法,最简单的就是模板对比,对每个出现过的字符进行处理后把点阵变成字符串,标明是什么字符后,通过字符串对比来判断相似度

图形验证码安全

最好的识别算法,就是神经网络,神经网络是一种模拟动物神经元工作模式的算法,神经网络有多种不同的结构,但是基本架构分为输入层隐含层输出层,输入和输出均为二进制。

图形验证码安全

利用Python脚本激活成功教程静态图形验证码

Python中有很多封装好的神经网络库,把特征值输入神经网络,再输入是对应的什么字符,也就是训练的过程,随着训练的进行,神经网络的内部结构会改变,逐渐向正确的答案靠拢。神经网络的优势是,对于扭曲的字符识别成功率非常高。另外神经网络在信息安全中还可以起到很多其他作用,比如识别恶意代码等等

未完待续。。。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159135.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • spring + jdbc + extjs configuration

    spring + jdbc + extjs configuration

  • mybatis2级缓存_java二级缓存

    mybatis2级缓存_java二级缓存1.概述转载:MyBatis二级缓存全详解上一篇文章中我们介绍到了MyBatis一级缓存其实就是SqlSession级别的缓存,什么是SqlSession级别的缓存呢?一级缓存的本质是什么呢?以及一级缓存失效的原因?我希望你在看下文之前能够回想起来这些内容。MyBatis一级缓存最大的共享范围就是一个SqlSession内部,那么如果多个SqlSession需要共享缓存,则需要开启二级缓存,开启二级缓存后,会使用CachingExecutor装饰Executor,进入一.

  • 美国空间Hostease支付宝人民币购买教程图解[通俗易懂]

    美国空间Hostease支付宝人民币购买教程图解[通俗易懂]这段时间买国外主机的筒子们越来越多,而付款就是首先摆在大家眼前的一道障碍,大部分美国主机商只能通过信用卡购买,付款不方便,因此能够使用支付宝支付的主机商也备受关注。而目前全球支持支付宝付款的美国主机商一共就三家,分别是ixwebhosting、Godaddy、HostEase。第二道障碍就是网站英文界面问题,目前只有ixwebhosting开通了中文站点,因此大家购买ixwebhost…

    2022年10月18日
  • webstorm2022最新激活码_最新在线免费激活

    (webstorm2022最新激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html0VOERWDQ5R-eyJsaWNlbnNlSWQi…

  • js算法初窥02(排序算法02-归并、快速以及堆排序)

    上一篇,我们讲述了一些简单的排序算法,其实说到底,在前端的职业生涯中,不涉及node、不涉及后台的情况下,我目前还真的没想到有哪些地方可以用到这些数据结构和算法,但是我在前面的文章也说过了。或许你用不

  • 重构区块链

    前言撰写这篇手册,并不简单的因为区块链是一个热门话题,更因为随着研究的深入,你会发现这是一个相当复杂的领域。关于这一话题的信息来源无外乎三个方面:技术文档和代码,商业机构的宣传,研究机构或个人的整理。但是每一种媒体都因其形式、渠道或作者而带有某种偏见。技术文档固然详细精确,但是不够通俗,视野也不够广阔;商业宣传必定带有一定的偏向性;而看似中立的研究机构和媒体也因其背后资助方或者受众市场的差异而…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号