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

技术编号:13506897 阅读:56 留言:0更新日期:2016-08-10 15:43
本发明专利技术提供了一种可识别验证码的网站登录暴力破解方法及系统,方法包括:1、通过网页静态分析,提取网站登陆所需信息;2、通过网页动态分析,截取客户端浏览器向网站服务器提交的登陆数据包;3、从暴力破解字典中读取一组用户名和密码;4、获取一张验证码图片;5、对获取的验证码图片进行识别;6、将验证码识别结果,连同第3步读取的用户名和密码,填入第2步截取的登录数据包中的对应参数,并将替换后的登陆数据包提交到网站服务器;7、分析网站服务器响应,如果提示验证码错误,回到第4步;如果提示用户名或密码错误,回到第3步;如果提示登陆成功,记录登陆成功的用户名和密码。本发明专利技术可对带验证码登录的网站进行自动化安全测试。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种可识别验证码的网站登录暴力破解方法及系统,方法包括:1、通过网页静态分析,提取网站登陆所需信息;2、通过网页动态分析,截取客户端浏览器向网站服务器提交的登陆数据包;3、从暴力破解字典中读取一组用户名和密码;4、获取一张验证码图片;5、对获取的验证码图片进行识别;6、将验证码识别结果,连同第3步读取的用户名和密码,填入第2步截取的登录数据包中的对应参数,并将替换后的登陆数据包提交到网站服务器;7、分析网站服务器响应,如果提示验证码错误,回到第4步;如果提示用户名或密码错误,回到第3步;如果提示登陆成功,记录登陆成功的用户名和密码。本专利技术可对带验证码登录的网站进行自动化安全测试。【专利说明】一种可识别验证码的网站登录暴力破解方法及系统
本专利技术涉及信息安全领域,具体地,涉及一种可识别验证码的网站登录暴力破解 方法及系统。
技术介绍
近年来,随着互联网技术的发展,以及近期"互联网+"概念的提出,越来越多传统 行业融合互联网发展新形态、新业态,如今许多企业的业务开展都离不开信息系统的支持。 越来越多的行业倾向于采用B/S模式开发应用系统,用户仅需通过浏览器即可访问应用系 统。然而,Web应用在提供便捷性的同时,也带来了不小的安全隐患。正是由于其开放性和访 问的便捷性,Web应用一直是黑客的重点攻击对象,据Gartner的数据表明,当前网络上75% 以上的攻击都是针对Web应用进行的。 账号口令安全是Web应用系统的第一道防线,也是Web应用安全的基础。大多数行 业的Web应用系统都需要用户登录后才能操作,系统的首页通常就只有一个登录框,因此口 令安全就显得尤为重要。弱口令问题虽然看起来不起眼,但实际危害却很大。一旦Web系统 存在弱口令漏洞,就等于向入侵者敞开了一扇大门,可能成为系统中那块最致命的短板。 Web安全的攻与防是密不可分的。只有通过从用户或入侵者的角度对目标系统进 行渗透测试,了解其攻击的手段和原理,才能更加有的放矢的采取防护措施,取长补短,实 现最有效的防御。现有检测Web应用系统弱口令的方法主要基于暴力破解原理,利用应用系 统的登录接口,对所有符合弱口令条件的用户口令进行逐一验证,如果其中某一种情况能 够登录成功,则说明该账号存在弱口令情况。但是,越来越多的网站在登录时引入了验证码 机制,用于防止恶意用户利用自动化工具破解登陆密码,现有的暴力破解方法无法处理这 种情况。 然而,引入验证码机制并不代表网站不存在弱口令问题,为了对网站的安全性进 行验证,并进一步对网站进行自动化安全测试,有必要提供一种可识别验证码的网站登录 暴力破解方法。
技术实现思路
本专利技术所解决的技术问题是,针对现有技术的不足,提供了一种可识别验证码的 网站登录暴力破解方法及系统,能解决现有暴力破解方法无法处理登录时需要输入验证码 的技术问题,可实现对带验证码登录的网站进行自动化安全测试。 本专利技术的技术方案是: -种可识别验证码的网站登录暴力破解方法,该方法包括如下步骤: 步骤SI:采用网页静态分析方法,自动提取网站登陆所需的关键信息;步骤S2:采用动态分析方法,截取客户端浏览器向网站服务器提交的登陆数据包; 步骤S3:从暴力破解字典中读取一组用户名和密码组合;暴力破解字典通常是一 个包含所有需要尝试登录的用户名和密码组合的文本文档,其内容可以由使用者自定义;步骤S4:获取一张验证码图片; 步骤S5:采用验证码识别算法,对获取的验证码图片进行自动识别; 步骤S6:将验证码图片的识别结果,连同步骤S3中读取的用户名和密码信息,填入 步骤S2动态截取的登录数据包中的对应参数,并将修改后的登陆数据包提交到网站服务 器; 步骤S7:分析网站服务器响应数据,如果提示验证码错误,转到S4;如果提示用户 名或密码错误,转到S3;如果提示登陆成功,转到S8; 步骤S8:记录登陆成功的用户名和密码,结束。 所述步骤Sl中的网站登录所需关键信息包括:用户名参数、密码参数、验证码参 数、验证码获取地址以及其他登陆必需的隐藏参数。 所述步骤Sl中的网页静态分析方法是指:通过解析登录页面的HTML源码,定位并 分析登录框所在的表单(HTML的〈form〉标签),自动提取出表单中的用户名参数、密码参数、 验证码参数、验证码获取地址以及其他登陆必需的隐藏参数。 所述步骤S2中的网页动态分析方法是指:搭建HTTP代理服务器,并将其设置为客 户端浏览器的HTTP代理服务器,在HTTP代理服务器上过滤并截取客户端浏览器向网站服务 器发送的登陆数据包。 所述步骤S4中的获取一张验证码图片是指:从步骤Sl中提取的验证码获取地址中 获取一张包含验证码的图片,并将其读入计算机内存中,以RGB三通道点阵格式存储。 所述步骤S5中的验证码识别算法,包括图片预处理、字符分割、标准化和字符识 别;图片预处理过程包括图像二值化和图像降噪;其中,图像二值化通过遍历图片验证码的所有像素点,判断像素点的RGB值是否大 于一个预设的值,如果是,则将该像素点标记为前景像素,用255表示,否则,标记为背景像 素,用0表示;图像降噪采用噪点算法和连通域算法,分别用于去掉二值化后图片中的单个噪点 和干扰线;噪点算法计算每个前景像素四周8个像素中前景像素的个数n,如果n = 0则认为 该前景像素为噪点,将其修改为背景像素;连通域【连通域是指图像中具有相同像素值且位 置相邻的前景像素点组成的图像区域】算法用于计算每个前景像素连通域的像素总个数m, 如果m小于预设值(预设值默认为8,但通常需要视图像中干扰线的具体情况来进行修订,干 扰线连通性较好时就应设置较大的m值,反之则可设置较小的m值,具体的调整可以通过手 工或统计的方式进行),则将该前景像素连通域视为干扰线,将整个前景像素连通域修改为 背景像素;所述字符分割用于将预处理后的验证码图片中的单个字符切割开来,把每个字符 作为单独的一个图片处理; 所述标准化用于对切割后的图片,通过裁剪和缩放方法,将单个字符转换成统一 的格式; 所述字符识别用于将待识别字符识别为标准字符库中的标准字符。 所述字符分割采用垂直像素直方图算法,即计算出图像每个X坐标上所有前景像 素的总和k,然后以X坐标值为横坐标,k值为纵坐标绘制二维曲线,选取图像上X=曲线中波 谷位置对应的X坐标值的直线作为切割线,对预处理后的验证码图片进行切割。 所述裁剪方法采用行扫描和列扫描方法,将图片中不包含前景像素的行或者列去 掉;缩放方法即将图片缩放至固定分辨率大小的图片; 所述字符识别采用编辑距离算法,计算待识别字符与标准字符库中的标准字符之 间的编辑距离,选择编辑距离最小的标准字符作为识别结果; 所述编辑距离算法包括以下步骤:首先按照从上至下从左至右的顺序,将待识别 字符图片的二维点阵数据转换为一维二进制字符串,其中前景像素在字符串中用1表示,背 景像素用〇表示;然后计算待识别字符的二进制字符串与标准字符的二进制字符串的编辑 距离,即两个字符串之间由一个转换成另一个所需要的最小编辑次数,其计算公式如下: (公式一): 八《,叫以:]]!:潞(公式二) 其中A和B表示两个二进制字符串,其长度分别为a和b,dist(A,B)表示A和B的编辑 距本文档来自技高网
...

【技术保护点】
一种可识别验证码的网站登录暴力破解方法,其特征在于,该方法包括如下步骤:步骤S1:采用网页静态分析方法,自动提取网站登陆所需的关键信息;步骤S2:采用动态分析方法,截取客户端浏览器向网站服务器提交的登陆数据包;步骤S3:从暴力破解字典中读取一组用户名和密码;步骤S4:获取一张验证码图片;步骤S5:采用验证码识别算法,对获取的验证码图片进行自动识别;步骤S6:将验证码图片的识别结果,连同步骤S3中读取的用户名和密码信息,填入步骤S2动态截取的登录数据包中的对应参数,并将修改后的登陆数据包提交到网站服务器;步骤S7:分析网站服务器响应数据,如果提示验证码错误,转到S4;如果提示用户名或密码错误,转到S3;如果提示登陆成功,转到S8;步骤S8:记录登陆成功的用户名和密码,结束。

【技术特征摘要】

【专利技术属性】
技术研发人员:田峥田建伟薛海伟漆文辉黎曦刘洁
申请(专利权)人:国家电网公司国网湖南省电力公司国网湖南省电力公司电力科学研究院
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1