CN105844140A - 一种可识别验证码的网站登录暴力破解方法及系统 - Google Patents
一种可识别验证码的网站登录暴力破解方法及系统 Download PDFInfo
- Publication number
- CN105844140A CN105844140A CN201610162642.0A CN201610162642A CN105844140A CN 105844140 A CN105844140 A CN 105844140A CN 201610162642 A CN201610162642 A CN 201610162642A CN 105844140 A CN105844140 A CN 105844140A
- Authority
- CN
- China
- Prior art keywords
- identifying code
- picture
- website
- character
- brute force
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种可识别验证码的网站登录暴力破解方法及系统,方法包括:1、通过网页静态分析,提取网站登陆所需信息;2、通过网页动态分析,截取客户端浏览器向网站服务器提交的登陆数据包;3、从暴力破解字典中读取一组用户名和密码;4、获取一张验证码图片;5、对获取的验证码图片进行识别;6、将验证码识别结果,连同第3步读取的用户名和密码,填入第2步截取的登录数据包中的对应参数,并将替换后的登陆数据包提交到网站服务器;7、分析网站服务器响应,如果提示验证码错误,回到第4步;如果提示用户名或密码错误,回到第3步;如果提示登陆成功,记录登陆成功的用户名和密码。本发明可对带验证码登录的网站进行自动化安全测试。
Description
技术领域
本发明涉及信息安全领域,具体地,涉及一种可识别验证码的网站登录暴力破解方法及系统。
背景技术
近年来,随着互联网技术的发展,以及近期“互联网+”概念的提出,越来越多传统行业融合互联网发展新形态、新业态,如今许多企业的业务开展都离不开信息系统的支持。越来越多的行业倾向于采用B/S模式开发应用系统,用户仅需通过浏览器即可访问应用系统。然而,Web应用在提供便捷性的同时,也带来了不小的安全隐患。正是由于其开放性和访问的便捷性,Web应用一直是黑客的重点攻击对象,据Gartner的数据表明,当前网络上75%以上的攻击都是针对Web应用进行的。
账号口令安全是Web应用系统的第一道防线,也是Web应用安全的基础。大多数行业的Web应用系统都需要用户登录后才能操作,系统的首页通常就只有一个登录框,因此口令安全就显得尤为重要。弱口令问题虽然看起来不起眼,但实际危害却很大。一旦Web系统存在弱口令漏洞,就等于向入侵者敞开了一扇大门,可能成为系统中那块最致命的短板。
Web安全的攻与防是密不可分的。只有通过从用户或入侵者的角度对目标系统进行渗透测试,了解其攻击的手段和原理,才能更加有的放矢的采取防护措施,取长补短,实现最有效的防御。现有检测Web应用系统弱口令的方法主要基于暴力破解原理,利用应用系统的登录接口,对所有符合弱口令条件的用户口令进行逐一验证,如果其中某一种情况能够登录成功,则说明该账号存在弱口令情况。但是,越来越多的网站在登录时引入了验证码机制,用于防止恶意用户利用自动化工具破解登陆密码,现有的暴力破解方法无法处理这种情况。
然而,引入验证码机制并不代表网站不存在弱口令问题,为了对网站的安全性进行验证,并进一步对网站进行自动化安全测试,有必要提供一种可识别验证码的网站登录暴力破解方法。
发明内容
本发明所解决的技术问题是,针对现有技术的不足,提供了一种可识别验证码的网站登录暴力破解方法及系统,能解决现有暴力破解方法无法处理登录时需要输入验证码的技术问题,可实现对带验证码登录的网站进行自动化安全测试。
本发明的技术方案是:
一种可识别验证码的网站登录暴力破解方法,该方法包括如下步骤:
步骤S1:采用网页静态分析方法,自动提取网站登陆所需的关键信息;
步骤S2:采用动态分析方法,截取客户端浏览器向网站服务器提交的登陆数据包;
步骤S3:从暴力破解字典中读取一组用户名和密码组合;暴力破解字典通常是一个包含所有需要尝试登录的用户名和密码组合的文本文档,其内容可以由使用者自定义;
步骤S4:获取一张验证码图片;
步骤S5:采用验证码识别算法,对获取的验证码图片进行自动识别;
步骤S6:将验证码图片的识别结果,连同步骤S3中读取的用户名和密码信息,填入步骤S2动态截取的登录数据包中的对应参数,并将修改后的登陆数据包提交到网站服务器;
步骤S7:分析网站服务器响应数据,如果提示验证码错误,转到S4;如果提示用户名或密码错误,转到S3;如果提示登陆成功,转到S8;
步骤S8:记录登陆成功的用户名和密码,结束。
所述步骤S1中的网站登录所需关键信息包括:用户名参数、密码参数、验证码参数、验证码获取地址以及其他登陆必需的隐藏参数。
所述步骤S1中的网页静态分析方法是指:通过解析登录页面的HTML源码,定位并分析登录框所在的表单(HTML的<form>标签),自动提取出表单中的用户名参数、密码参数、验证码参数、验证码获取地址以及其他登陆必需的隐藏参数。
所述步骤S2中的网页动态分析方法是指:搭建HTTP代理服务器,并将其设置为客户端浏览器的HTTP代理服务器,在HTTP代理服务器上过滤并截取客户端浏览器向网站服务器发送的登陆数据包。
所述步骤S4中的获取一张验证码图片是指:从步骤S1中提取的验证码获取地址中获取一张包含验证码的图片,并将其读入计算机内存中,以RGB三通道点阵格式存储。
所述步骤S5中的验证码识别算法,包括图片预处理、字符分割、标准化和字符识别;
图片预处理过程包括图像二值化和图像降噪;
其中,图像二值化通过遍历图片验证码的所有像素点,判断像素点的RGB值是否大于一个预设的值,如果是,则将该像素点标记为前景像素,用255表示,否则,标记为背景像素,用0表示;
图像降噪采用噪点算法和连通域算法,分别用于去掉二值化后图片中的单个噪点和干扰线;噪点算法计算每个前景像素四周8个像素中前景像素的个数n,如果n=0则认为该前景像素为噪点,将其修改为背景像素;连通域【连通域是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域】算法用于计算每个前景像素连通域的像素总个数m,如果m小于预设值(预设值默认为8,但通常需要视图像中干扰线的具体情况来进行修订,干扰线连通性较好时就应设置较大的m值,反之则可设置较小的m值,具体的调整可以通过手工或统计的方式进行),则将该前景像素连通域视为干扰线,将整个前景像素连通域修改为背景像素;
所述字符分割用于将预处理后的验证码图片中的单个字符切割开来,把每个字符作为单独的一个图片处理;
所述标准化用于对切割后的图片,通过裁剪和缩放方法,将单个字符转换成统一的格式;
所述字符识别用于将待识别字符识别为标准字符库中的标准字符。
所述字符分割采用垂直像素直方图算法,即计算出图像每个X坐标上所有前景像素的总和k,然后以X坐标值为横坐标,k值为纵坐标绘制二维曲线,选取图像上X=曲线中波谷位置对应的X坐标值的直线作为切割线,对预处理后的验证码图片进行切割。
所述裁剪方法采用行扫描和列扫描方法,将图片中不包含前景像素的行或者列去掉;缩放方法即将图片缩放至固定分辨率大小的图片;
所述字符识别采用编辑距离算法,计算待识别字符与标准字符库中的标准字符之间的编辑距离,选择编辑距离最小的标准字符作为识别结果;
所述编辑距离算法包括以下步骤:首先按照从上至下从左至右的顺序,将待识别字符图片的二维点阵数据转换为一维二进制字符串,其中前景像素在字符串中用1表示,背景像素用0表示;然后计算待识别字符的二进制字符串与标准字符的二进制字符串的编辑距离,即两个字符串之间由一个转换成另一个所需要的最小编辑次数,其计算公式如下:
其中A和B表示两个二进制字符串,其长度分别为a和b,dist(A,B)表示A和B的编辑距离,min表示最小值,A[a]表示字符串A的第a个字符。
一种可识别验证码的网站登录暴力破解系统,包括客户端浏览器模块、网页静态分析模块,数据包动态截取模块,验证码识别模块和暴力破解模块;
所述网页静态分析模块,数据包动态截取模块均与客户端浏览器模块相连;
所述客户端浏览器模块,用于访问用户输入的网址,获取网站登陆页面;
所述网页静态分析模块,采用静态分析方法,自动提取出网站登陆所需的用户名、密码、验证码及隐藏参数名,并提取验证码获取地址;
所述数据包动态截取模块,采用动态分析方法,在HTTP代理服务器上过滤并截取客户端浏览器模块向网站服务器发送的登陆数据包;
所述验证码识别模块,向网页静态分析模块提取的验证码获取地址请求一个验证码图片,并通过验证码识别方法对验证码图片进行自动识别;
所述暴力破解模块,读取暴力破解字典中的用户名和密码,连同验证码图片的识别结果,填入数据包动态截取模块截取的登录数据包中的对应参数,并将修改后的登陆数据包提交到网站服务器;与网站服务器进行交互;
所述系统采用上述的可识别验证码的网站登录暴力破解方法进行网站登录暴力破解。
有益效果:
综上所述,本发明通过网页静态分析和登录数据包自动截取方法,实现登陆数据包的自动抓取和登陆参数的自动识别,提出的验证码识别算法可实现对常见数字和字母型的图片验证码进行自动识别,本发明所提供的可识别验证码的网站登录暴力破解方法整体自动化程度较高,操作方便实用,可用于对网站的安全性进行验证,并进一步对网站进行自动化安全测试。
附图说明
图1是本发明实施例的系统框架图
图2是本发明实施例的处理流程图
图3是图2中的网页静态分析处理流程图
图4是图2中的动态分析处理流程图
图5是图2中验证码识别的处理流程图
图6是图5中图像预处理过程的噪点像素示意图
图7是图5中图像预处理过程的效果示意图
图8是图5中字符分割过程的效果示意图
图9是图5中图片标准化过程的效果示意图
具体实施方式
为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
图1是本发明实施例的系统框架示意图。本发明实施例可作为一个独立的系统部署在任意可联网的计算机上。该系统集成了网页浏览器模块,网页静态分析模块,数据包动态截取模块,验证码识别模块和暴力破解模块。每个模块的功能如下:
●网页浏览器模块,用于访问用户输入的网址,获取登陆页面;
●网页静态分析模块,集成本发明所述静态分析方法,用于自动提取出登陆所需的用户名、密码、验证码及隐藏参数名,并提取验证码获取地址;
●数据包动态截取模块,集成本发明所述动态分析方法,用于在代理服务器上过滤并截取客户端浏览器向网站服务器发送的登陆数据包;
●验证码识别模块,集成本发明所述验证码识别方法,用于对网页中的图片验证码进行自动识别;
●暴力破解模块,用于读取暴力破解字典中的用户名密码,并与网站服务器进行交互。
图2是本发明所述一种可识别验证码的网站登录暴力破解方法的程序流程图。其具体流程为:
i.采用网页静态分析方法,自动提取网站登陆所需的关键信息。具体地,通过解析登录页面的HTML源码,定位并分析登录框所在的表单(HTML的<form>标签),自动提取出表单中的用户名、密码、验证码及隐藏参数名,并提取验证码获取地址;
ii.采用动态分析方法,截取客户端浏览器向网站服务器提交的登陆数据包。具体地,通过搭建HTTP代理服务器,并设置客户端浏览器的HTTP代理,在代理服务器上过滤并截取客户端浏览器向网站服务器发送的登陆数据包;
iii.从暴力破解字典中读取一组用户名和密码组合;
iv.从静态分析方法中提取的验证码获取地址中获取一张包含验证码的图片,并将其读入计算机内存中,以RGB三通道点阵格式存储;
v.采用验证码识别算法,对获取的验证码图片进行自动识别。具体地,验证码识别算法,包括图片预处理、字符分割、标准化和字符识别4个过程。
vi.将验证码识别结果,连同第iii步中读取的用户名密码信息,填入第ii步动态截取的登录数据包中的对应参数,并将修改后的登陆数据包提交到网站服务器;
vii.分析网站服务器响应数据,如果提示验证码错误,转到第iv步;如果提示用户名或密码错误,转到第iii步;如果提示登陆成功,转到第viii步;
viii.记录登陆成功的用户名和密码,结束。
图3是图2所示本发明流程图中第i步网页静态分析方法的程序流程图。可分为表单识别、表单分析和字段提取3个主要步骤。
在获取了登录页面的HTML源码之后,表单识别模块开始对源代码进行分析,找出其中的登录form表单,然后对form表单进行分析,提取登录时所指向的URL链接,并判断是否存在验证码,如果存在验证码,则还需要拿到更新验证码的URL。最后是提取登录所需要的所有参数,包括用户名、密码、验证码字段和隐藏字段(如果存在)的参数,并进行封装,便于后续的暴力破解。
1)登录表单识别
此模块的主要作用就是分析html的源代码,并从中找出登录的form表单。在html的源代码中,可能存在一个或者是多个form表单。对于只存在一个form表单的情况,则无需判断,此form表单必定为登录的form表单。若是多个form的情况,则需要对html源代码分析。因此,这一步的核心功能就是对于存在多个form表单的情况,找出其中用于登录的form表单。通过对登录表单和其他非登陆表单的差异性分析,本文找出了其中的2个关键指标用于对登录表单进行鉴别,分别为action的值和input的数量。
●action值分析:登录表单中action的值通常为登录提交的url(全路径或相对路径),或者是javascript方法名,而无论是哪一种情况,action的值通常会包含“login”、“check”、“validate”等字样。因此,可以通过判断form表单是否存在action属性、其内容是否存在上述关键字来鉴别是否为登录表单。
●input标签分析:登录表单中input标签的数量通常不会大于3个,分别用于输入用户名、密码和验证码(如果有),而且其中有且只有一个类型是“password”的input标签,用于输入密码。网页中的其他表单通常不具备这样的特征,以与登录表单最相似的注册表单为例,其类型为password的input标签有2个,且总数通常大于3。
综合上述两种分析方法,可以很精确地定位到登录表单的位置。接下来就是对表单中的数据进行分析和提取。
2)登录表单分析
有三个关键的信息需要通过登录表单的分析进行提取,分别是登录提交的url地址、登陆字段名的获取、以及验证码的判断。由于关键信息都在input标签中,因此本文先利用DOM分析树的方法提取出表单中所有的input标签,去掉其他的干扰信息,然后对上述三个信息进行逐个提取。
(1)登录url的提取
在大多数情况下,登录的form使用的是POST方法,且登录的URL为form表单中action属性的值。但action值可能会有以下几种情况:
●action为绝对url地址:action的值是一个完整的URL链接。如action的值为:HTTP://www.example.com/path1/login。那么实际的登录URL即为action的值。
●action的值为以’/’开头:action的值为一个相对的URL。如action的值为”/path1/path2/login”。则最后页面实际提交的URL为host+action。假设host为www.example.com,则实际登录的URL为www.example.com/path1/path2/login。
●action的值直接为一个相对链接:action的值为一个相对的URL。如”path5/login”(注意与第二种情况的区别)。则页面最后提交的URL为:url.path+’/’+action。假设当前页的URL为www.example.cm/index1/home.html,则页面实际提交的URL为www.example.com/index1/path5/login。
●action的值为javascript方法名:说明提交表单的操作是在javascript方法里完成的,而登录的url地址一定会在该方法中的某个位置体现,因此需要继续对该javascript方法进行分析。
(2)验证码是否存在的判断
验证码通常是一张<img>标签的图片,且具有src,alt和onclick三个属性。
●src属性:如果一个img标签是验证码标签,则此img标签的src必然会有值,且此值就是生成验证码的URL链接。但是存在src属性的img标签却不一定是验证码的标签。所以img标签存在src属性是此img标签为验证码标签的必要不充分条件。利用此特征可以过滤很多无用的img标签。
●alt属性:Img标签的alt属性主要是一个解释说明的作用。但是如果alt的属性中有“验证码”或者是“captcha”等字样,则说明此img标签必然为验证码标签。
●onclick属性:与src属性类似。如果一个img标签存在onclick属性,则此img标签一定为验证码标签,但是验证码不一定存在onclick标签。所以存在onclick属性是成为验证码标签的充分不必要条件。
综合上述特征,可以精确地判断出表单中是否存在验证码。如果存在,则验证码所在img标签的src属性值即为生成验证码的链接。由于src的值同样也有可能是一个相对的URL,要得到一个完整的URL,处理方式与前面获取登录URL的方式相同。
(3)登录参数名的提取
登录参数主要包含2类,一类是主要登录参数(用户需要在界面上输入),如用户名、密码和验证码;另一类是次要参数,这些参数是藏在页面上的,不需要用户输入,部分是固定值,部分是会随着页面而改变。当用户点击提交按钮之后,次要参数也会随着发送到后台。
提取登录参数名可以等价于提取对应的input标签,因为input标签所对应的name属性值即为登录参数。
●提取主要参数:主要参数包括用户名、密码和验证码。验证码参数名的提取在前面验证码的判断部分有提到过。密码字段的参数名也相对简单,找到类型为“password”的input标签即可。而用户名所在input标签的查找方式则采用了一些小技巧。我们知道用户名的input标签和密码的input标签一般都会相邻,且用户名会位于密码的上方。所以在找到了密码的input标签之后,结合用户名的常用字段名如“username”、“user”、“uname”,我们就不难定位到用户名的input标签了。
●提取次要参数:在去掉了主要参数的所有的input标签之后,在登录表单中剩下的其他的input标签都是次要参数。在这些次要参数的input标签中,部分input标签是有value属性并且是有值的,部分标签是没有value属性的。对于那些value属性有值的input标签,此值就是默认值。
图4是图2所示本发明流程图中第ii步所述动态截取方法的程序流程图。其具体流程为:
i.搭建HTTP代理服务器,并设置客户端浏览器的HTTP代理;
ii.浏览器访问用户输入的网址时,所有数据包都会经过HTTP代理服务器的过滤;
iii.在代理服务器上对数据包进行过滤,根据数据包内容判断是否为用户登陆时所提交的数据包;如果是,则将数据包内容保存,以便后续使用,然后将数据包发送到网站服务器;如果不是,则直接发送数据包,不做处理;
图5是图2所示本发明流程图中第v步所述验证码识别算法的程序流程图。主要包括图片预处理、字符分割、标准化和字符识别4个过程。
图片预处理过程主要包括图像二值化和图像降噪两个操作,用于将图片中不需要的信息通通去除,比如背景,干扰线,干扰像素等等,只剩下需要识别的文字,让图片变成2进制点阵,以便后续的处理。
图像二值化通过遍历图片验证码的所有像素点,判断像素点的RGB值是否大于一个预设的值,如果是,则将该像素标记为前景像素,用255表示,否则,标记为背景,用0表示。图像降噪主要用到了噪点算法和连通域算法,分别用于去掉二值化后图片中的单个噪点和干扰线。具体地,噪点算法计算每个前景像素四周8个像素中前景像素的个数n,如果n=0则认为该前景像素为噪点(如图6所示),需要其修改为背景像素;连通域算法用于计算每个前景像素连通域的像素总个数m,如果m小于一个预设的值,则将该前景像素连通域视为干扰线,需要整个连通域修改为背景像素。对验证码图片进行图片预处理后的效果如图7所示。
字符分割过程用于将验证码图片中的单个字符切割开来,把每个字符作为单独的一个图片处理。具体地,采用垂直像素直方图算法,即计算出图像每个X坐标上所有前景像素的总和k,然后以X坐标值为横坐标,k值为纵坐标绘制二维曲线,选取曲线中波谷位置的X坐标作为切割线。字符分割过程如图8所示,图中蓝色部分为垂直像素直方图。
标准化过程是指对于切割后的图片,通过裁剪、缩放方法,将单个字符变成统一的格式,减少随机的程度。裁剪算法采用行扫描和列扫描方法,将图片中不包含前景像素的行或者列去掉;缩放算法即将图片缩放至固定分辨率大小的图片。对分割后的图片进行标准化后的效果如图9所示。
字符识别过程是利用编辑距离算法,计算待识别字符与标准字符库中的字符之间的编辑距离,即两个字符串之间由一个转换成另一个所需要的最小编辑次数,最后选择编辑距离最小的标准字符作为识别结果。
具体处理过程如下:按照从上至下从左至右的顺序,将待识别字符图片的二维点阵数据转换为一维二进制字符串,其中前景像素在字符串中用1表示,背景像素用0表示;然后计算待识别字符的二进制字符串与标准字符的二进制字符串的编辑距离,其计算公式如下。
将待识别字符与标准字符库中的所有字符进行比较后,选择编辑距离最小的标准字符作为识别结果。
Claims (10)
1.一种可识别验证码的网站登录暴力破解方法,其特征在于,该方法包括如下步骤:
步骤S1:采用网页静态分析方法,自动提取网站登陆所需的关键信息;
步骤S2:采用动态分析方法,截取客户端浏览器向网站服务器提交的登陆数据包;
步骤S3:从暴力破解字典中读取一组用户名和密码;
步骤S4:获取一张验证码图片;
步骤S5:采用验证码识别算法,对获取的验证码图片进行自动识别;
步骤S6:将验证码图片的识别结果,连同步骤S3中读取的用户名和密码信息,填入步骤S2动态截取的登录数据包中的对应参数,并将修改后的登陆数据包提交到网站服务器;
步骤S7:分析网站服务器响应数据,如果提示验证码错误,转到S4;如果提示用户名或密码错误,转到S3;如果提示登陆成功,转到S8;
步骤S8:记录登陆成功的用户名和密码,结束。
2.根据权利要求1所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述步骤S1中的网页静态分析方法是指:通过解析登录页面的HTML源码,定位并分析登录框所在的表单(HTML的<form>标签),自动提取出表单中的用户名参数、密码参数、验证码参数、验证码获取地址以及其他登陆必需的隐藏参数。
3.根据权利要求1所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述步骤S2中的网页动态分析方法是指:搭建HTTP代理服务器,并将其设置为客户端浏览器的HTTP代理服务器,在HTTP代理服务器上过滤并截取客户端浏览器向网站服务器发送的登陆数据包。
4.根据权利要求2所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述步骤S4中的获取一张验证码图片是指:从步骤S1中提取的验证码获取地址中获取一张包含验证码的图片,并将其读入计算机内存中,以RGB三通道点阵格式存储。
5.根据权利要求1所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述步骤S5中的验证码识别算法,包括图片预处理、字符分割、标准化和字符识别;
图片预处理过程包括图像二值化和图像降噪;
其中,图像二值化通过遍历图片验证码的所有像素点,判断像素点的RGB值是否大于一个预设的值,如果是,则将该像素点标记为前景像素,用255表示,否则,标记为背景像素,用0表示;
图像降噪采用噪点算法和连通域算法,分别用于去掉二值化后图片中的单个噪点和干扰线;噪点算法计算每个前景像素四周8个像素中前景像素的个数n,如果n=0则认为该前景像素为噪点,将其修改为背景像素;连通域【连通域是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域】算法用于计算每个前景像素连通域的像素总个数m,如果m小于预设值,则将该前景像素连通域视为干扰线,将整个前景像素连通域修改为背景像素;
所述字符分割用于将预处理后的验证码图片中的单个字符切割开来,把每个字符作为单独的一个图片处理;
所述标准化用于对切割后的图片,通过裁剪和缩放方法,将单个字符转换成统一的格式;
所述字符识别用于将待识别字符识别为标准字符库中的标准字符。
6.根据权利要求5所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述字符分割采用垂直像素直方图算法,即计算出图像每个X坐标上所有前景像素的总和k,然后以X坐标值为横坐标,k值为纵坐标绘制二维曲线,选取图像上X=曲线中波谷位置对应的X坐标值的直线作为切割线,对预处理后的验证码图片进行切割。
7.根据权利要求5所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述裁剪方法采用行扫描和列扫描方法,将图片中不包含前景像素的行或者列去掉;缩放方法即将图片缩放至固定分辨率大小的图片。
8.根据权利要求5所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述字符识别采用编辑距离算法,计算待识别字符与标准字符库中的标准字符之间的编辑距离,选择编辑距离最小的标准字符作为识别结果。
9.根据权利要求8所述的可识别验证码的网站登录暴力破解方法,其特征在于:所述编辑距离算法包括以下步骤:首先按照从上至下从左至右的顺序,将待识别字符图片的二维点阵数据转换为一维二进制字符串,其中前景像素在字符串中用1表示,背景像素用0表示;然后计算待识别字符的二进制字符串与标准 字符的二进制字符串的编辑距离,即两个字符串之间由一个转换成另一个所需要的最小编辑次数,其计算公式如下:
其中A和B表示两个二进制字符串,其长度分别为a和b,dist(A,B)表示A和B的编辑距离,min表示最小值,A[a]表示字符串A的第a个字符。
10.一种可识别验证码的网站登录暴力破解系统,其特征在于,包括客户端浏览器模块、网页静态分析模块,数据包动态截取模块,验证码识别模块和暴力破解模块;
所述网页静态分析模块,数据包动态截取模块均与客户端浏览器模块相连;
所述客户端浏览器模块,用于访问用户输入的网址,获取网站登陆页面;
所述网页静态分析模块,采用静态分析方法,自动提取出网站登陆所需的用户名、密码、验证码及隐藏参数名,并提取验证码获取地址;
所述数据包动态截取模块,采用动态分析方法,在HTTP代理服务器上过滤并截取客户端浏览器模块向网站服务器发送的登陆数据包;
所述验证码识别模块,向网页静态分析模块提取的验证码获取地址请求一个验证码图片,并通过验证码识别方法对验证码图片进行自动识别;
所述暴力破解模块,读取暴力破解字典中的用户名和密码,连同验证码图片的识别结果,填入数据包动态截取模块截取的登录数据包中的对应参数,并将修改后的登陆数据包提交到网站服务器;与网站服务器进行交互;
所述系统采用权利要求1~9中任一项所述的可识别验证码的网站登录暴力破解方法进行网站登录暴力破解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610162642.0A CN105844140A (zh) | 2016-03-21 | 2016-03-21 | 一种可识别验证码的网站登录暴力破解方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610162642.0A CN105844140A (zh) | 2016-03-21 | 2016-03-21 | 一种可识别验证码的网站登录暴力破解方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105844140A true CN105844140A (zh) | 2016-08-10 |
Family
ID=56587705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610162642.0A Pending CN105844140A (zh) | 2016-03-21 | 2016-03-21 | 一种可识别验证码的网站登录暴力破解方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105844140A (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106446123A (zh) * | 2016-09-19 | 2017-02-22 | 成都知道创宇信息技术有限公司 | 一种网页中验证码元素识别方法 |
CN106991303A (zh) * | 2017-03-07 | 2017-07-28 | 微梦创科网络科技(中国)有限公司 | 一种手势验证码的识别方法及装置 |
CN107454118A (zh) * | 2017-10-11 | 2017-12-08 | 北京安博通科技股份有限公司 | 验证码获取方法及装置、登录方法及系统 |
CN108011863A (zh) * | 2017-08-23 | 2018-05-08 | 北京车和家信息技术有限责任公司 | 识别暴力破解的方法及装置 |
CN108600209A (zh) * | 2018-04-16 | 2018-09-28 | 新华三信息安全技术有限公司 | 一种信息处理方法及装置 |
CN108829838A (zh) * | 2018-06-19 | 2018-11-16 | 彭建超 | 一种账户信息批量处理方法及服务器 |
CN108920929A (zh) * | 2018-05-07 | 2018-11-30 | 深圳壹账通智能科技有限公司 | 验证图处理方法、装置、计算机设备和存储介质 |
CN108989435A (zh) * | 2018-07-25 | 2018-12-11 | 重庆辉腾能源股份有限公司 | 一种新能源光伏的智慧控制方法 |
CN109284600A (zh) * | 2018-08-08 | 2019-01-29 | 贵阳朗玛信息技术股份有限公司 | 一种用于识别验证码的方法及装置 |
CN109309798A (zh) * | 2018-08-15 | 2019-02-05 | 吴伟锋 | 数据帧自动抓取机构 |
CN109344633A (zh) * | 2018-09-28 | 2019-02-15 | 山东超越数控电子股份有限公司 | 一种基于混合逻辑处理器平台的软件解密方法 |
CN110399894A (zh) * | 2018-04-25 | 2019-11-01 | 百度在线网络技术(北京)有限公司 | 用于匹配图片中实体的方法和装置 |
CN110505213A (zh) * | 2019-07-26 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种挖掘网站后台弱密码的方法 |
CN110532762A (zh) * | 2019-09-02 | 2019-12-03 | 四川长虹电器股份有限公司 | 一种获取验证码图片进行登录爆破测试的方法 |
CN110851816A (zh) * | 2019-11-18 | 2020-02-28 | 携程旅游信息技术(上海)有限公司 | 破解图像验证码的方法、系统、电子设备及存储介质 |
CN111352827A (zh) * | 2018-12-24 | 2020-06-30 | 中移信息技术有限公司 | 一种自动化测试的方法及装置 |
CN111416817A (zh) * | 2020-03-17 | 2020-07-14 | 郑州轻工业大学 | 一种基于网络验证码的模式识别方法 |
CN112702334A (zh) * | 2020-12-21 | 2021-04-23 | 中国人民解放军陆军炮兵防空兵学院 | 静态特征与动态页面特征结合的web弱口令检测方法 |
CN113377645A (zh) * | 2020-02-25 | 2021-09-10 | 福建天泉教育科技有限公司 | 一种web网站页面输入非法字符的测试方法及其系统 |
CN113704128A (zh) * | 2021-09-03 | 2021-11-26 | 四川虹美智能科技有限公司 | 接口的自动化测试方法和装置 |
CN113821786A (zh) * | 2020-06-18 | 2021-12-21 | 中移(苏州)软件技术有限公司 | 一种验证码的获得及显示方法、相关装置 |
CN115242524A (zh) * | 2022-07-26 | 2022-10-25 | 济南浪潮数据技术有限公司 | 一种验证码的验证方法、装置及介质 |
CN116094733A (zh) * | 2023-04-03 | 2023-05-09 | 中国电子科技集团公司第三十研究所 | 一种针对挑战/响应身份认证的自动化破解方法和系统 |
CN116319089A (zh) * | 2023-05-17 | 2023-06-23 | 北京源堡科技有限公司 | 一种动态弱密码检测方法、装置、计算机设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043804A (zh) * | 2009-10-22 | 2011-05-04 | 上海杉达学院 | 数据库系统的安全登录方法 |
-
2016
- 2016-03-21 CN CN201610162642.0A patent/CN105844140A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043804A (zh) * | 2009-10-22 | 2011-05-04 | 上海杉达学院 | 数据库系统的安全登录方法 |
Non-Patent Citations (2)
Title |
---|
MICKEY: "《使用FastOCR破解有验证码的后台》", 25 December 2012 * |
李颖: "《中国优秀硕士学位论文全文数据库(信息科技辑)》", 15 January 2009 * |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106446123A (zh) * | 2016-09-19 | 2017-02-22 | 成都知道创宇信息技术有限公司 | 一种网页中验证码元素识别方法 |
CN106991303A (zh) * | 2017-03-07 | 2017-07-28 | 微梦创科网络科技(中国)有限公司 | 一种手势验证码的识别方法及装置 |
CN108011863A (zh) * | 2017-08-23 | 2018-05-08 | 北京车和家信息技术有限责任公司 | 识别暴力破解的方法及装置 |
CN108011863B (zh) * | 2017-08-23 | 2020-12-15 | 北京车和家信息技术有限责任公司 | 识别暴力破解的方法及装置 |
CN107454118A (zh) * | 2017-10-11 | 2017-12-08 | 北京安博通科技股份有限公司 | 验证码获取方法及装置、登录方法及系统 |
CN108600209A (zh) * | 2018-04-16 | 2018-09-28 | 新华三信息安全技术有限公司 | 一种信息处理方法及装置 |
CN108600209B (zh) * | 2018-04-16 | 2021-06-22 | 新华三信息安全技术有限公司 | 一种信息处理方法及装置 |
CN110399894A (zh) * | 2018-04-25 | 2019-11-01 | 百度在线网络技术(北京)有限公司 | 用于匹配图片中实体的方法和装置 |
CN108920929A (zh) * | 2018-05-07 | 2018-11-30 | 深圳壹账通智能科技有限公司 | 验证图处理方法、装置、计算机设备和存储介质 |
CN108920929B (zh) * | 2018-05-07 | 2022-03-01 | 深圳壹账通智能科技有限公司 | 验证图处理方法、装置、计算机设备和存储介质 |
CN108829838B (zh) * | 2018-06-19 | 2021-11-26 | 彭建超 | 一种账户信息批量处理方法及服务器 |
CN108829838A (zh) * | 2018-06-19 | 2018-11-16 | 彭建超 | 一种账户信息批量处理方法及服务器 |
CN108989435A (zh) * | 2018-07-25 | 2018-12-11 | 重庆辉腾能源股份有限公司 | 一种新能源光伏的智慧控制方法 |
CN109284600A (zh) * | 2018-08-08 | 2019-01-29 | 贵阳朗玛信息技术股份有限公司 | 一种用于识别验证码的方法及装置 |
CN109309798A (zh) * | 2018-08-15 | 2019-02-05 | 吴伟锋 | 数据帧自动抓取机构 |
CN109344633A (zh) * | 2018-09-28 | 2019-02-15 | 山东超越数控电子股份有限公司 | 一种基于混合逻辑处理器平台的软件解密方法 |
CN111352827A (zh) * | 2018-12-24 | 2020-06-30 | 中移信息技术有限公司 | 一种自动化测试的方法及装置 |
CN110505213A (zh) * | 2019-07-26 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种挖掘网站后台弱密码的方法 |
CN110532762A (zh) * | 2019-09-02 | 2019-12-03 | 四川长虹电器股份有限公司 | 一种获取验证码图片进行登录爆破测试的方法 |
CN110851816A (zh) * | 2019-11-18 | 2020-02-28 | 携程旅游信息技术(上海)有限公司 | 破解图像验证码的方法、系统、电子设备及存储介质 |
CN110851816B (zh) * | 2019-11-18 | 2023-10-31 | 携程旅游信息技术(上海)有限公司 | 破解图像验证码的方法、系统、电子设备及存储介质 |
CN113377645B (zh) * | 2020-02-25 | 2023-07-04 | 福建天泉教育科技有限公司 | 一种web网站页面输入非法字符的测试方法及其系统 |
CN113377645A (zh) * | 2020-02-25 | 2021-09-10 | 福建天泉教育科技有限公司 | 一种web网站页面输入非法字符的测试方法及其系统 |
CN111416817A (zh) * | 2020-03-17 | 2020-07-14 | 郑州轻工业大学 | 一种基于网络验证码的模式识别方法 |
CN113821786B (zh) * | 2020-06-18 | 2024-05-10 | 中移(苏州)软件技术有限公司 | 一种验证码的获得及显示方法、相关装置 |
CN113821786A (zh) * | 2020-06-18 | 2021-12-21 | 中移(苏州)软件技术有限公司 | 一种验证码的获得及显示方法、相关装置 |
CN112702334B (zh) * | 2020-12-21 | 2022-11-29 | 中国人民解放军陆军炮兵防空兵学院 | 静态特征与动态页面特征结合的web弱口令检测方法 |
CN112702334A (zh) * | 2020-12-21 | 2021-04-23 | 中国人民解放军陆军炮兵防空兵学院 | 静态特征与动态页面特征结合的web弱口令检测方法 |
CN113704128A (zh) * | 2021-09-03 | 2021-11-26 | 四川虹美智能科技有限公司 | 接口的自动化测试方法和装置 |
CN115242524A (zh) * | 2022-07-26 | 2022-10-25 | 济南浪潮数据技术有限公司 | 一种验证码的验证方法、装置及介质 |
CN116094733A (zh) * | 2023-04-03 | 2023-05-09 | 中国电子科技集团公司第三十研究所 | 一种针对挑战/响应身份认证的自动化破解方法和系统 |
CN116094733B (zh) * | 2023-04-03 | 2023-08-22 | 中国电子科技集团公司第三十研究所 | 一种针对挑战/响应身份认证的自动化破解方法和系统 |
CN116319089A (zh) * | 2023-05-17 | 2023-06-23 | 北京源堡科技有限公司 | 一种动态弱密码检测方法、装置、计算机设备及介质 |
CN116319089B (zh) * | 2023-05-17 | 2023-08-11 | 北京源堡科技有限公司 | 一种动态弱密码检测方法、装置、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105844140A (zh) | 一种可识别验证码的网站登录暴力破解方法及系统 | |
US10721245B2 (en) | Method and device for automatically verifying security event | |
US9521161B2 (en) | Method and apparatus for detecting computer fraud | |
CN110808968B (zh) | 网络攻击检测方法、装置、电子设备和可读存储介质 | |
CN103559235B (zh) | 一种在线社交网络恶意网页检测识别方法 | |
Suzuki et al. | ShamFinder: An automated framework for detecting IDN homographs | |
KR101001132B1 (ko) | 웹 어플리케이션의 취약성 판단 방법 및 시스템 | |
US20200265261A1 (en) | Visual domain detection systems and methods | |
CN110266675B (zh) | 一种基于深度学习的xss攻击自动化检测方法 | |
CN107644166A (zh) | 一种基于自动学习的web应用安全防护方法 | |
CN105760379B (zh) | 一种基于域内页面关联关系检测webshell页面的方法及装置 | |
JP2006268849A (ja) | ブラウザの表示においてドメインをハイライトするためのシステムおよび方法 | |
CN102831345A (zh) | Sql注入漏洞检测中的注入点提取方法 | |
CN102999420A (zh) | 基于dom的跨站脚本漏洞测试方法和系统 | |
Khan et al. | Cyber security using arabic captcha scheme. | |
CN103401849A (zh) | 一种网站日志异常会话分析方法 | |
CN113347177A (zh) | 钓鱼网站检测方法、检测系统、电子设备及可读存储介质 | |
CN110866108A (zh) | 一种敏感数据检测系统及其检测方法 | |
CN106357682A (zh) | 一种钓鱼网站检测方法 | |
JP2012088803A (ja) | 悪性ウェブコード判別システム、悪性ウェブコード判別方法および悪性ウェブコード判別用プログラム | |
CN102073678B (zh) | 一种网站信息分析系统及其方法 | |
CN106446123A (zh) | 一种网页中验证码元素识别方法 | |
CN108920955B (zh) | 一种网页后门检测方法、装置、设备及存储介质 | |
CN116319089B (zh) | 一种动态弱密码检测方法、装置、计算机设备及介质 | |
CN111125704B (zh) | 一种网页挂马识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160810 |
|
WD01 | Invention patent application deemed withdrawn after publication |