一种在Web漏洞扫描器中识别字符验证码的方法与流程

文档序号:12278631阅读:486来源:国知局

本发明涉及验证码识别领域,具体涉及一种在Web漏洞扫描器中识别字符验证码的方法。



背景技术:

在Web漏洞扫描器扫描目标是Web网站或Web系统的时候,除了输入常见的用户名、密码外,还要识别验证码,才能成功登录,而验证码是随机的。只有登录后才能进行深入扫描的,这给Web漏洞扫描器进一步发现更多漏洞带来阻碍,所以需要扫描过程中能自动识别验证码,进一步提高Web漏洞扫描器发现漏洞的能力。

常见的Web漏洞扫描,很少有识别验证码从而进行登录的功能,如果遇到需要识别验证码的场景,只能先人工识别验证码,登录成功后,记录Cookie中的信息,提供给Web漏洞扫描器进行扫描。

如果扫描目标有大量都是需要识别验证码,那么扫描目标的检测将极其繁琐,都得执行一遍人工验证码识别,得到Cookie信息,再进行进一步扫描。另外,很多Web网站或Web系统登录是有时效性的,如果过期又得重登录,又将重复进行一次人工识别验证码过程。这样给Web漏洞扫描器使用带来很多不便。

验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart(全自动区分计算机和人类的图灵测试)”的缩写,是一种区分用户是计算机还是人的公共全自动程序。特指Web网站或Web系统在登录等场景中出现的字符验证码,防止暴力破解方式进行不断的登录尝试。

字符验证码是最为常见的一种验证码。大部分字符验证码都是由数字及大小写英文字母组成的二维图片,可以通过加入干扰点、干扰线,扭曲、粘贴字符等来提高验证码的安全性。验证码识别一般可以分为以下三个步骤:预处理、字符分割、字符识别。而每一个步中都有许多图像处理相关的算法和方法,每种算法或方法并非都适用于任何验证码的识别。在特定验证码的识别过程中,需要根据其特征挑选合适的识别算法及方法,才能达到理想的识别率。因此,并没有傻瓜式的、全自动的、万能的验证码识别工具,互联网上传播的更多的是针对某个或某类特定的验证码进行识别的程序。

字符验证码识别指对字符验证码的验证码识别技术。大多数验证码识别研究都是围绕这种验证码展开的。Web漏洞扫描器指专门用于扫描Web漏洞的漏洞扫描器,扫描目标一般是Web网站或Web系统。建库指在Web漏洞扫描场景下,扫描基于常见的字符验证码系统的Web网站或Web系统,针对这些特定的字符验证码系统,进行字符验证码识别的特定程序,包括:研究、分类、识别、库建立,形成一整逐步完善的、常见的字符验证码识别库的过程。



技术实现要素:

本发明所要解决的技术问题是提供一种在Web漏洞扫描器中识别字符验证码的方法,综合提高字符验证码的识别速度和提升字符验证码的识别率,从而提高Web漏洞扫描器的扫描效率和扫描范围。

为解决上述技术问题,本发明采用的技术方案是:

一种在Web漏洞扫描器中识别字符验证码的方法,包括以下步骤:

步骤1:Web漏洞扫描器识别验证码组件,将验证码识别失败的信息收集反馈给远程;

步骤2:远程根据收集到的验证码组件,比对现有的库;

步骤3:如果在库中不存在,建立新的验证码识别任务,即批量下载对应验证码组件中的验证码图片,进行新的训练,新增到现有库中;如果在库中存在,但识别不出来,根据收集的反馈数据完善到现有的训练用验证码的图片中,继续训练,更新到现有库中;

步骤4:Web漏洞扫描器的日常更新后,验证码识别库也进行更新;

步骤5:Web漏洞扫描器爬虫预登录设置时,输入必要信息,选择验证码识别方式;

步骤6:识别出特定的Web应用或根据选择的特定Web应用,选择对应Web应用的验证码识别算法;

步骤7:验证码识别,包括预处理、字符分割、字符识别;

步骤8:将识别的验证码返回;

步骤9:进行Web漏洞扫描器爬虫的正常扫描。

进一步的,在步骤5中,验证码识别方式为自动识别或已经知道选择哪个Web应用的人工协助识别。

与现有技术相比,本发明的有益效果是:本发明中,字符验证码是最为常见的一种验证码,可以覆盖了大多数Web网站或Web系统的验证码识别场景;自带Web应用对应的验证码库,随着库的更新和扩充有助于不断提高识别字符验证码的能力,且可以支持更多Web应用的字符验证码识别;综合提高了字符验证码的识别速度和提升了字符验证码的识别率,从而提高Web漏洞扫描器的扫描效率和扫描范围。

附图说明

图1是本发明一种在Web漏洞扫描器中识别字符验证码的方法流程示意图。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明主要分成两部分,一是远程建库过程,二是在Web漏洞扫描器中识别过程。远程建库过程是为了根据收集的扫描目标的验证码组件,不断训练,从而提高对应验证码组件的识别率。Web漏洞扫描器中识别过程是通过验证码识别库的日常更新,在进行扫描任务时候,使用这个经过严格训练的库,从而解决扫描过程中需要验证码识别的问题。

远程建库过程

1)Web漏洞扫描器为了提高扫描效率,会识别特定的Web组件,也可以包括验证码组件,会将验证码识别失败的信息收集反馈给远程;2)远程根据收集到的验证码组件,比对现有的库;3)如果在库中不存在,就建立新的验证码识别任务。批量下载对应验证码组件中一定数量的验证码图片,进行新的训练,直到对识别率满意,新增到现有库中。如果在库中存在,但识别不出来,就根据收集的反馈数据完善到现有的训练用验证码的图片中,继续训练,直到进一步提高识别率,更新到现有库中。

Web漏洞扫描器中识别过程

1)随着Web漏洞扫描器的日常更新,验证码识别库也随着更新;2)预登录准备。Web漏洞扫描器爬虫预登录设置时候,输入用户名、密码等必要信息后,验证码选项,选择自动识别或已经知道选择哪个Web应用人工协助识别;3)Web应用识别。识别出特定的Web应用或根据选择的特定Web应用,选择对应Web应用的验证码识别算法,以此提高识别速度和提升识别率;4)会自带Web应用对应的验证码库。用来匹配对应的合适算法来识别验证码;5)开始验证码识别。分为:预处理、字符分割、字符识别;6)将识别的验证码返回。同用户名、密码等必要信息模拟Web漏洞扫描器爬虫的登录过程;7)登录成功。开始进行Web漏洞扫描器爬虫的正常扫描。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1