一种可识别验证码的网站登录暴力破解方法及系统的制作方法

文档序号:10489260阅读:1272来源:国知局
一种可识别验证码的网站登录暴力破解方法及系统的制作方法
【专利摘要】本发明提供了一种可识别验证码的网站登录暴力破解方法及系统,方法包括:1、通过网页静态分析,提取网站登陆所需信息;2、通过网页动态分析,截取客户端浏览器向网站服务器提交的登陆数据包;3、从暴力破解字典中读取一组用户名和密码;4、获取一张验证码图片;5、对获取的验证码图片进行识别;6、将验证码识别结果,连同第3步读取的用户名和密码,填入第2步截取的登录数据包中的对应参数,并将替换后的登陆数据包提交到网站服务器;7、分析网站服务器响应,如果提示验证码错误,回到第4步;如果提示用户名或密码错误,回到第3步;如果提示登陆成功,记录登陆成功的用户名和密码。本发明可对带验证码登录的网站进行自动化安全测试。
【专利说明】
一种可识别验证码的网站登录暴力破解方法及系统
技术领域
[0001] 本发明涉及信息安全领域,具体地,涉及一种可识别验证码的网站登录暴力破解 方法及系统。
【背景技术】
[0002] 近年来,随着互联网技术的发展,以及近期"互联网+"概念的提出,越来越多传统 行业融合互联网发展新形态、新业态,如今许多企业的业务开展都离不开信息系统的支持。 越来越多的行业倾向于采用B/S模式开发应用系统,用户仅需通过浏览器即可访问应用系 统。然而,Web应用在提供便捷性的同时,也带来了不小的安全隐患。正是由于其开放性和访 问的便捷性,Web应用一直是黑客的重点攻击对象,据Gartner的数据表明,当前网络上75% 以上的攻击都是针对Web应用进行的。
[0003] 账号口令安全是Web应用系统的第一道防线,也是Web应用安全的基础。大多数行 业的Web应用系统都需要用户登录后才能操作,系统的首页通常就只有一个登录框,因此口 令安全就显得尤为重要。弱口令问题虽然看起来不起眼,但实际危害却很大。一旦Web系统 存在弱口令漏洞,就等于向入侵者敞开了一扇大门,可能成为系统中那块最致命的短板。
[0004] Web安全的攻与防是密不可分的。只有通过从用户或入侵者的角度对目标系统进 行渗透测试,了解其攻击的手段和原理,才能更加有的放矢的采取防护措施,取长补短,实 现最有效的防御。现有检测Web应用系统弱口令的方法主要基于暴力破解原理,利用应用系 统的登录接口,对所有符合弱口令条件的用户口令进行逐一验证,如果其中某一种情况能 够登录成功,则说明该账号存在弱口令情况。但是,越来越多的网站在登录时引入了验证码 机制,用于防止恶意用户利用自动化工具破解登陆密码,现有的暴力破解方法无法处理这 种情况。
[0005] 然而,引入验证码机制并不代表网站不存在弱口令问题,为了对网站的安全性进 行验证,并进一步对网站进行自动化安全测试,有必要提供一种可识别验证码的网站登录 暴力破解方法。

【发明内容】

[0006] 本发明所解决的技术问题是,针对现有技术的不足,提供了一种可识别验证码的 网站登录暴力破解方法及系统,能解决现有暴力破解方法无法处理登录时需要输入验证码 的技术问题,可实现对带验证码登录的网站进行自动化安全测试。
[0007] 本发明的技术方案是:
[0008] -种可识别验证码的网站登录暴力破解方法,该方法包括如下步骤:
[0009] 步骤SI:采用网页静态分析方法,自动提取网站登陆所需的关键信息;
[0010]步骤S2:采用动态分析方法,截取客户端浏览器向网站服务器提交的登陆数据包; [0011]步骤S3:从暴力破解字典中读取一组用户名和密码组合;暴力破解字典通常是一 个包含所有需要尝试登录的用户名和密码组合的文本文档,其内容可以由使用者自定义;
[0012]步骤S4:获取一张验证码图片;
[0013] 步骤S5:采用验证码识别算法,对获取的验证码图片进行自动识别;
[0014] 步骤S6:将验证码图片的识别结果,连同步骤S3中读取的用户名和密码信息,填入 步骤S2动态截取的登录数据包中的对应参数,并将修改后的登陆数据包提交到网站服务 器;
[0015] 步骤S7:分析网站服务器响应数据,如果提示验证码错误,转到S4;如果提示用户 名或密码错误,转到S3;如果提示登陆成功,转到S8;
[0016] 步骤S8:记录登陆成功的用户名和密码,结束。
[0017] 所述步骤Sl中的网站登录所需关键信息包括:用户名参数、密码参数、验证码参 数、验证码获取地址以及其他登陆必需的隐藏参数。
[0018] 所述步骤Sl中的网页静态分析方法是指:通过解析登录页面的HTML源码,定位并 分析登录框所在的表单(HTML的〈form〉标签),自动提取出表单中的用户名参数、密码参数、 验证码参数、验证码获取地址以及其他登陆必需的隐藏参数。
[0019] 所述步骤S2中的网页动态分析方法是指:搭建HTTP代理服务器,并将其设置为客 户端浏览器的HTTP代理服务器,在HTTP代理服务器上过滤并截取客户端浏览器向网站服务 器发送的登陆数据包。
[0020] 所述步骤S4中的获取一张验证码图片是指:从步骤Sl中提取的验证码获取地址中 获取一张包含验证码的图片,并将其读入计算机内存中,以RGB三通道点阵格式存储。
[0021] 所述步骤S5中的验证码识别算法,包括图片预处理、字符分割、标准化和字符识 别;
[0022]图片预处理过程包括图像二值化和图像降噪;
[0023]其中,图像二值化通过遍历图片验证码的所有像素点,判断像素点的RGB值是否大 于一个预设的值,如果是,则将该像素点标记为前景像素,用255表示,否则,标记为背景像 素,用0表示;
[0024]图像降噪采用噪点算法和连通域算法,分别用于去掉二值化后图片中的单个噪点 和干扰线;噪点算法计算每个前景像素四周8个像素中前景像素的个数n,如果n = 0则认为 该前景像素为噪点,将其修改为背景像素;连通域【连通域是指图像中具有相同像素值且位 置相邻的前景像素点组成的图像区域】算法用于计算每个前景像素连通域的像素总个数m, 如果m小于预设值(预设值默认为8,但通常需要视图像中干扰线的具体情况来进行修订,干 扰线连通性较好时就应设置较大的m值,反之则可设置较小的m值,具体的调整可以通过手 工或统计的方式进行),则将该前景像素连通域视为干扰线,将整个前景像素连通域修改为 背景像素;
[0025]所述字符分割用于将预处理后的验证码图片中的单个字符切割开来,把每个字符 作为单独的一个图片处理;
[0026] 所述标准化用于对切割后的图片,通过裁剪和缩放方法,将单个字符转换成统一 的格式;
[0027] 所述字符识别用于将待识别字符识别为标准字符库中的标准字符。
[0028] 所述字符分割采用垂直像素直方图算法,即计算出图像每个X坐标上所有前景像 素的总和k,然后以X坐标值为横坐标,k值为纵坐标绘制二维曲线,选取图像上X=曲线中波 谷位置对应的X坐标值的直线作为切割线,对预处理后的验证码图片进行切割。
[0029] 所述裁剪方法采用行扫描和列扫描方法,将图片中不包含前景像素的行或者列去 掉;缩放方法即将图片缩放至固定分辨率大小的图片;
[0030] 所述字符识别采用编辑距离算法,计算待识别字符与标准字符库中的标准字符之 间的编辑距离,选择编辑距离最小的标准字符作为识别结果;
[0031] 所述编辑距离算法包括以下步骤:首先按照从上至下从左至右的顺序,将待识别 字符图片的二维点阵数据转换为一维二进制字符串,其中前景像素在字符串中用1表示,背 景像素用〇表示;然后计算待识别字符的二进制字符串与标准字符的二进制字符串的编辑 距离,即两个字符串之间由一个转换成另一个所需要的最小编辑次数,其计算公式如下:
[0032] (公式一):
[0033] 八《,叫以:]]!:潞(公式二)
[0034] 其中A和B表示两个二进制字符串,其长度分别为a和b,dist(A,B)表示A和B的编辑 距离,min表示最小值,A[a]表示字符串A的第a个字符。
[0035] 一种可识别验证码的网站登录暴力破解系统,包括客户端浏览器模块、网页静态 分析模块,数据包动态截取模块,验证码识别模块和暴力破解模块;
[0036] 所述网页静态分析模块,数据包动态截取模块均与客户端浏览器模块相连;
[0037] 所述客户端浏览器模块,用于访问用户输入的网址,获取网站登陆页面;
[0038] 所述网页静态分析模块,采用静态分析方法,自动提取出网站登陆所需的用户名、 密码、验证码及隐藏参数名,并提取验证码获取地址;
[0039]所述数据包动态截取模块,采用动态分析方法,在HTTP代理服务器上过滤并截取 客户端浏览器模块向网站服务器发送的登陆数据包;
[0040] 所述验证码识别模块,向网页静态分析模块提取的验证码获取地址请求一个验证 码图片,并通过验证码识别方法对验证码图片进行自动识别;
[0041] 所述暴力破解模块,读取暴力破解字典中的用户名和密码,连同验证码图片的识 别结果,填入数据包动态截取模块截取的登录数据包中的对应参数,并将修改后的登陆数 据包提交到网站服务器;与网站服务器进行交互;
[0042] 所述系统采用上述的可识别验证码的网站登录暴力破解方法进行网站登录暴力 破解。
[0043] 有益效果:
[0044] 综上所述,本发明通过网页静态分析和登录数据包自动截取方法,实现登陆数据 包的自动抓取和登陆参数的自动识别,提出的验证码识别算法可实现对常见数字和字母型 的图片验证码进行自动识别,本发明所提供的可识别验证码的网站登录暴力破解方法整体 自动化程度较高,操作方便实用,可用于对网站的安全性进行验证,并进一步对网站进行自 动化安全测试。
【附图说明】
[0045]图1是本发明实施例的系统框架图 [0046]图2是本发明实施例的处理流程图 [0047]图3是图2中的网页静态分析处理流程图 [0048]图4是图2中的动态分析处理流程图
[0049] 图5是图2中验证码识别的处理流程图
[0050] 图6是图5中图像预处理过程的噪点像素示意图 [005?]图7是图5中图像预处理过程的效果示意图
[0052]图8是图5中字符分割过程的效果示意图 [0053]图9是图5中图片标准化过程的效果示意图
【具体实施方式】
[0054] 为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发 明作进一步地详细描述。
[0055] 图1是本发明实施例的系统框架示意图。本发明实施例可作为一个独立的系统部 署在任意可联网的计算机上。该系统集成了网页浏览器模块,网页静态分析模块,数据包动 态截取模块,验证码识别模块和暴力破解模块。每个模块的功能如下:
[0056] ?网页浏览器模块,用于访问用户输入的网址,获取登陆页面;
[0057] ?网页静态分析模块,集成本发明所述静态分析方法,用于自动提取出登陆所需 的用户名、密码、验证码及隐藏参数名,并提取验证码获取地址;
[0058] ?数据包动态截取模块,集成本发明所述动态分析方法,用于在代理服务器上过 滤并截取客户端浏览器向网站服务器发送的登陆数据包;
[0059] ?验证码识别模块,集成本发明所述验证码识别方法,用于对网页中的图片验证 码进行自动识别;
[0060] ?暴力破解模块,用于读取暴力破解字典中的用户名密码,并与网站服务器进行 交互。
[0061] 图2是本发明所述一种可识别验证码的网站登录暴力破解方法的程序流程图。其 具体流程为:
[0062] i.采用网页静态分析方法,自动提取网站登陆所需的关键信息。具体地,通过解析 登录页面的HTML源码,定位并分析登录框所在的表单(HTML的〈form〉标签),自动提取出表 单中的用户名、密码、验证码及隐藏参数名,并提取验证码获取地址;
[0063] ii.采用动态分析方法,截取客户端浏览器向网站服务器提交的登陆数据包。具体 地,通过搭建HTTP代理服务器,并设置客户端浏览器的HTTP代理,在代理服务器上过滤并截 取客户端浏览器向网站服务器发送的登陆数据包;
[0064] i i i .从暴力破解字典中读取一组用户名和密码组合;
[0065] iv.从静态分析方法中提取的验证码获取地址中获取一张包含验证码的图片,并 将其读入计算机内存中,以RGB三通道点阵格式存储;
[0066] V.采用验证码识别算法,对获取的验证码图片进行自动识别。具体地,验证码识别 算法,包括图片预处理、字符分割、标准化和字符识别4个过程。
[0067] vi.将验证码识别结果,连同第iii步中读取的用户名密码信息,填入第ii步动态 截取的登录数据包中的对应参数,并将修改后的登陆数据包提交到网站服务器;
[0068] vii.分析网站服务器响应数据,如果提示验证码错误,转到第iv步;如果提示用户 名或密码错误,转到第i i i步;如果提示登陆成功,转到第vi i i步;
[0069] viii .记录登陆成功的用户名和密码,结束。
[0070] 图3是图2所示本发明流程图中第i步网页静态分析方法的程序流程图。可分为表 单识别、表单分析和字段提取3个主要步骤。
[0071] 在获取了登录页面的HTML源码之后,表单识别模块开始对源代码进行分析,找出 其中的登录form表单,然后对form表单进行分析,提取登录时所指向的URL链接,并判断是 否存在验证码,如果存在验证码,则还需要拿到更新验证码的URL。最后是提取登录所需要 的所有参数,包括用户名、密码、验证码字段和隐藏字段(如果存在)的参数,并进行封装,便 于后续的暴力破解。
[0072] 1)登录表单识别
[0073]此模块的主要作用就是分析html的源代码,并从中找出登录的form表单。在html 的源代码中,可能存在一个或者是多个form表单。对于只存在一个form表单的情况,则无需 判断,此form表单必定为登录的form表单。若是多个form的情况,则需要对html源代码分 析。因此,这一步的核心功能就是对于存在多个form表单的情况,找出其中用于登录的form 表单。通过对登录表单和其他非登陆表单的差异性分析,本文找出了其中的2个关键指标用 于对登录表单进行鉴别,分别为action的值和input的数量。
[0074] #act ion值分析:登录表单中act ion的值通常为登录提交的url (全路径或相对路 径),或者是javascript方法名,而无论是哪一种情况,act ion的值通常会包含"login"、 "check"、"validate"等字样。因此,可以通过判断form表单是否存在action属性、其内容是 否存在上述关键字来鉴别是否为登录表单。
[0075] #input标签分析:登录表单中input标签的数量通常不会大于3个,分别用于输入 用户名、密码和验证码(如果有),而且其中有且只有一个类型是"password"的input标签, 用于输入密码。网页中的其他表单通常不具备这样的特征,以与登录表单最相似的注册表 单为例,其类型为password的input标签有2个,且总数通常大于3。
[0076]综合上述两种分析方法,可以很精确地定位到登录表单的位置。接下来就是对表 单中的数据进行分析和提取。
[0077] 2)登录表单分析
[0078]有三个关键的信息需要通过登录表单的分析进行提取,分别是登录提交的url地 址、登陆字段名的获取、以及验证码的判断。由于关键信息都在input标签中,因此本文先利 用DOM分析树的方法提取出表单中所有的input标签,去掉其他的干扰信息,然后对上述三 个信息进行逐个提取。
[0079] (1)登录url的提取
[0080] 在大多数情况下,登录的form使用的是POST方法,且登录的URL为form表单中 action属性的值。但action值可能会有以下几种情况:
[0081 ] #action为绝对url地址:action的值是一个完整的URL链接。如action的值为: HTTP ://www. example, com/pathl/login。那么实际的登录 URL 即为act ion 的值。
[0082] #ac t ion的值为以'/'开头:act ion的值为一个相对的URL。如act ion的值为"/ pathl/path2/login"。则最后页面实际提交的URL为host + action。假设host为 WWW. example · com,则实际登录的URL 为 WWW. example · com/pathl/path2/login 〇 [0083] #act ion的值直接为一个相对链接:act ion的值为一个相对的URL。如" path5/ login"(注意与第二种情况的区别)。则页面最后提交的URL为:url .path+V'+action。假设 当前页的URL为www . example . cm /indexl/home . html,则页面实际提交的URL为 www.example.com/indexl/path5/login。
[0084] #action的值为javascript方法名:说明提交表单的操作是在javascript方法里 完成的,而登录的url地址一定会在该方法中的某个位置体现,因此需要继续对该 javascript方法进行分析。
[0085] (2)验证码是否存在的判断
[0086] 验证码通常是一张<img>标签的图片,且具有src,alt和onclick三个属性。
[0087] #src属性:如果一个img标签是验证码标签,则此img标签的src必然会有值,且此 值就是生成验证码的URL链接。但是存在src属性的img标签却不一定是验证码的标签。所以 img标签存在src属性是此img标签为验证码标签的必要不充分条件。利用此特征可以过滤 很多无用的img标签。
[0088] #alt属性:Img标签的alt属性主要是一个解释说明的作用。但是如果alt的属性 中有"验证码"或者是"captcha"等字样,则说明此img标签必然为验证码标签。
[0089] #onc lick属性:与src属性类似。如果一个img标签存在one lick属性,则此img标 签一定为验证码标签,但是验证码不一定存在one lick标签。所以存在one lick属性是成为 验证码标签的充分不必要条件。
[0090] 综合上述特征,可以精确地判断出表单中是否存在验证码。如果存在,则验证码所 在img标签的src属性值即为生成验证码的链接。由于src的值同样也有可能是一个相对的 URL,要得到一个完整的URL,处理方式与前面获取登录URL的方式相同。
[0091] (3)登录参数名的提取
[0092] 登录参数主要包含2类,一类是主要登录参数(用户需要在界面上输入),如用户 名、密码和验证码;另一类是次要参数,这些参数是藏在页面上的,不需要用户输入,部分是 固定值,部分是会随着页面而改变。当用户点击提交按钮之后,次要参数也会随着发送到后 台。
[0093] 提取登录参数名可以等价于提取对应的input标签,因为input标签所对应的name 属性值即为登录参数。
[0094] ?提取主要参数:主要参数包括用户名、密码和验证码。验证码参数名的提取在前 面验证码的判断部分有提到过。密码字段的参数名也相对简单,找到类型为"password"的 input标签即可。而用户名所在input标签的查找方式则采用了一些小技巧。我们知道用户 名的input标签和密码的input标签一般都会相邻,且用户名会位于密码的上方。所以在找 到了密码的input标签之后,结合用户名的常用字段名如"username"、"user"、"uname",我 们就不难定位到用户名的input标签了。
[0095] ?提取次要参数:在去掉了主要参数的所有的input标签之后,在登录表单中剩下 的其他的input标签都是次要参数。在这些次要参数的input标签中,部分input标签是有 value属性并且是有值的,部分标签是没有value属性的。对于那些value属性有值的input 标签,此值就是默认值。
[0096]图4是图2所示本发明流程图中第ii步所述动态截取方法的程序流程图。其具体流 程为:
[0097] i .搭建HTTP代理服务器,并设置客户端浏览器的HTTP代理;
[0098] i i .浏览器访问用户输入的网址时,所有数据包都会经过HTTP代理服务器的过滤; [0099] iii.在代理服务器上对数据包进行过滤,根据数据包内容判断是否为用户登陆时 所提交的数据包;如果是,则将数据包内容保存,以便后续使用,然后将数据包发送到网站 服务器;如果不是,则直接发送数据包,不做处理;
[0100] 图5是图2所示本发明流程图中第V步所述验证码识别算法的程序流程图。主要包 括图片预处理、字符分割、标准化和字符识别4个过程。
[0101] 图片预处理过程主要包括图像二值化和图像降噪两个操作,用于将图片中不需要 的信息通通去除,比如背景,干扰线,干扰像素等等,只剩下需要识别的文字,让图片变成2 进制点阵,以便后续的处理。
[0102] 图像二值化通过遍历图片验证码的所有像素点,判断像素点的RGB值是否大于一 个预设的值,如果是,则将该像素标记为前景像素,用255表示,否则,标记为背景,用0表示。 图像降噪主要用到了噪点算法和连通域算法,分别用于去掉二值化后图片中的单个噪点和 干扰线。具体地,噪点算法计算每个前景像素四周8个像素中前景像素的个数n,如果n = 0则 认为该前景像素为噪点(如图6所示),需要其修改为背景像素;连通域算法用于计算每个前 景像素连通域的像素总个数m,如果m小于一个预设的值,则将该前景像素连通域视为干扰 线,需要整个连通域修改为背景像素。对验证码图片进行图片预处理后的效果如图7所示。
[0103] 字符分割过程用于将验证码图片中的单个字符切割开来,把每个字符作为单独的 一个图片处理。具体地,采用垂直像素直方图算法,即计算出图像每个X坐标上所有前景像 素的总和k,然后以X坐标值为横坐标,k值为纵坐标绘制二维曲线,选取曲线中波谷位置的X 坐标作为切割线。字符分割过程如图8所示,图中蓝色部分为垂直像素直方图。
[0104]标准化过程是指对于切割后的图片,通过裁剪、缩放方法,将单个字符变成统一的 格式,减少随机的程度。裁剪算法采用行扫描和列扫描方法,将图片中不包含前景像素的行 或者列去掉;缩放算法即将图片缩放至固定分辨率大小的图片。对分割后的图片进行标准 化后的效果如图9所示。
[0105]字符识别过程是利用编辑距离算法,计算待识别字符与标准字符库中的字符之间 的编辑距离,即两个字符串之间由一个转换成另一个所需要的最小编辑次数,最后选择编 辑距离最小的标准字符作为识别结果。
[0106]具体处理过程如下:按照从上至下从左至右的顺序,将待识别字符图片的二维点 阵数据转换为一维二进制字符串,其中前景像素在字符串中用1表示,背景像素用〇表示;然 后计算待识别字符的二进制字符串与标准字符的二进制字符串的编辑距离,其计算公式如 下。 i/ a - 0 and b = Q, dis1:(A, B) = O if a = Q and b > 0, dist{A,B) - b [0107] i/ a > 0 and b = 0, dist(.A,B) ~ a (公式一)
[0_八养以::思]1 (公式〕
[0109]将待识别字符与标准字符库中的所有字符进行比较后,选择编辑距离最小的标准 字符作为识别结果。
【主权项】
1. 一种可识别验证码的网站登录暴力破解方法,其特征在于,该方法包括如下步骤: 步骤S1:采用网页静态分析方法,自动提取网站登陆所需的关键信息; 步骤S2:采用动态分析方法,截取客户端浏览器向网站服务器提交的登陆数据包; 步骤S3:从暴力破解字典中读取一组用户名和密码; 步骤S4:获取一张验证码图片; 步骤S5:采用验证码识别算法,对获取的验证码图片进行自动识别; 步骤S6:将验证码图片的识别结果,连同步骤S3中读取的用户名和密码信息,填入步骤 S2动态截取的登录数据包中的对应参数,并将修改后的登陆数据包提交到网站服务器; 步骤S7:分析网站服务器响应数据,如果提示验证码错误,转到S4;如果提示用户名或 密码错误,转到S3;如果提示登陆成功,转到S8; 步骤S8:记录登陆成功的用户名和密码,结束。2. 根据权利要求1所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述步 骤S1中的网页静态分析方法是指:通过解析登录页面的HTML源码,定位并分析登录框所在 的表单化TMlJ^<form〉标签),自动提取出表单中的用户名参数、密码参数、验证码参数、验 证码获取地址W及其他登陆必需的隐藏参数。3. 根据权利要求1所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述步 骤S2中的网页动态分析方法是指:搭建HTTP代理服务器,并将其设置为客户端浏览器的 HTTP代理服务器,在HTTP代理服务器上过滤并截取客户端浏览器向网站服务器发送的登陆 数据包。4. 根据权利要求2所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述步 骤S4中的获取一张验证码图片是指:从步骤S1中提取的验证码获取地址中获取一张包含验 证码的图片,并将其读入计算机内存中,WRGBS通道点阵格式存储。5. 根据权利要求1所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述步 骤S5中的验证码识别算法,包括图片预处理、字符分割、标准化和字符识别; 图片预处理过程包括图像二值化和图像降噪; 其中,图像二值化通过遍历图片验证码的所有像素点,判断像素点的RGB值是否大于一 个预设的值,如果是,则将该像素点标记为前景像素,用255表示,否则,标记为背景像素,用 0表不; 图像降噪采用噪点算法和连通域算法,分别用于去掉二值化后图片中的单个噪点和干 扰线;噪点算法计算每个前景像素四周8个像素中前景像素的个数n,如果n = 0则认为该前 景像素为噪点,将其修改为背景像素;连通域【连通域是指图像中具有相同像素值且位置相 邻的前景像素点组成的图像区域】算法用于计算每个前景像素连通域的像素总个数m,如果 m小于预设值,则将该前景像素连通域视为干扰线,将整个前景像素连通域修改为背景像 素; 所述字符分割用于将预处理后的验证码图片中的单个字符切割开来,把每个字符作为 单独的一个图片处理; 所述标准化用于对切割后的图片,通过裁剪和缩放方法,将单个字符转换成统一的格 式; 所述字符识别用于将待识别字符识别为标准字符库中的标准字符。6. 根据权利要求5所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述字 符分割采用垂直像素直方图算法,即计算出图像每个X坐标上所有前景像素的总和k,然后 WX坐标值为横坐标,k值为纵坐标绘制二维曲线,选取图像上X=曲线中波谷位置对应的X 坐标值的直线作为切割线,对预处理后的验证码图片进行切割。7. 根据权利要求5所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述裁 剪方法采用行扫描和列扫描方法,将图片中不包含前景像素的行或者列去掉;缩放方法即 将图片缩放至固定分辨率大小的图片。8. 根据权利要求5所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述字 符识别采用编辑距离算法,计算待识别字符与标准字符库中的标准字符之间的编辑距离, 选择编辑距离最小的标准字符作为识别结果。9. 根据权利要求8所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述编 辑距离算法包括W下步骤:首先按照从上至下从左至右的顺序,将待识别字符图片的二维 点阵数据转换为一维二进制字符串,其中前景像素在字符串中用1表示,背景像素用0表示; 然后计算待识别字符的二进制字符串与标准字符的二进制字符串的编辑距离,即两个字 符串之间由一个转换成另一个所需要的最小编辑次数,其计算公式如下:I.公式一)其中A和B表示两个二进制字符串,其长度分别为a和b,dist(A,B)表示A和B的编辑距 离,min表示最小值,A[a]表示字符串A的第a个字符。10. -种可识别验证码的网站登录暴力破解系统,其特征在于,包括客户端浏览器模 块、网页静态分析模块,数据包动态截取模块,验证码识别模块和暴力破解模块; 所述网页静态分析模块,数据包动态截取模块均与客户端浏览器模块相连; 所述客户端浏览器模块,用于访问用户输入的网址,获取网站登陆页面; 所述网页静态分析模块,采用静态分析方法,自动提取出网站登陆所需的用户名、密 码、验证码及隐藏参数名,并提取验证码获取地址; 所述数据包动态截取模块,采用动态分析方法,在HTTP代理服务器上过滤并截取客户 端浏览器模块向网站服务器发送的登陆数据包; 所述验证码识别模块,向网页静态分析模块提取的验证码获取地址请求一个验证码图 片,并通过验证码识别方法对验证码图片进行自动识别; 所述暴力破解模块,读取暴力破解字典中的用户名和密码,连同验证码图片的识别结 果,填入数据包动态截取模块截取的登录数据包中的对应参数,并将修改后的登陆数据包 提交到网站服务器;与网站服务器进行交互; 所述系统采用权利要求1~9中任一项所述的可识别验证码的网站登录暴力破解方法 进行网站登录暴力破解。
【文档编号】G06F21/57GK105844140SQ201610162642
【公开日】2016年8月10日
【申请日】2016年3月21日
【发明人】田峥, 田建伟, 薛海伟, 漆文辉, 黎曦, 刘洁
【申请人】国家电网公司, 国网湖南省电力公司, 国网湖南省电力公司电力科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1