一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

漏洞检测方法、装置、电子设备及存储介质与流程

2022-09-04 03:52:07 来源:中国专利 TAG:


1.本技术涉及网络安全技术领域,尤其涉及一种漏洞检测方法、装置、电子设备及存储介质。


背景技术:

2.网页浏览是现代化生活的重要环节,各类网站通常存在身份认证机制,即用户需要登录网站后进行网页浏览。如果网站存在身份认证漏洞,会对用户的网络安全造成影响。
3.然而,对于如何自动化检测各类网站存在的身份认证漏洞,相关技术中尚未有有效解决方案。


技术实现要素:

4.为解决相关技术问题,本技术实施例提供一种漏洞检测方法、装置、电子设备及存储介质。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供了一种漏洞检测方法,包括:
7.获取目标网站的每个网页的统一资源定位符(url,uniform resource locator);
8.基于每个网页的url,确定所述目标网站的登录网页;
9.检测所述登录网页是否存在验证码,得到第一检测结果;
10.基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞。
11.上述方案中,所述基于每个网页的url,确定所述目标网站的登录网页,包括:
12.基于每个网页的url,获取每个网页的第一信息和/或第二信息;所述第一信息包含向所述目标网站发送相应网页的访问请求时所述目标网站返回的响应信息;所述第二信息包含相应网页呈现的文本;
13.根据每个网页的第一信息和/或第二信息,确定所述目标网站的登录网页。
14.上述方案中,所述根据每个网页的第一信息和第二信息,确定所述目标网站的登录网页,包括:
15.针对每个网页,判断相应网页的第一信息是否包含预设的第一字段;
16.在相应网页的第一信息不包含所述第一字段的情况下,利用相应网页的第二信息,判断相应网页是否为登录网页。
17.上述方案中,所述利用相应网页的第二信息,判断相应网页是否为登录网页,包括:
18.利用预设的第一关键字集合中的关键字对相应网页的第二信息进行正则匹配,得到第一匹配结果;所述第一匹配结果表征相应网页的第二信息与所述第一关键字集合之间的匹配度;
19.在所述第一匹配结果满足第一条件的情况下,确定相应网页是登录网页;在所述
第一匹配结果满足第二条件的情况下,确定相应网页不是登录网页;
20.在所述第一匹配结果不满足第一条件且所述第一匹配结果不满足第二条件的情况下,利用相应网页的第二信息,确定相应网页的文本特征向量;通过将相应网页的文本特征向量输入预先训练的第一模型,判断相应网页是否为登录网页。
21.上述方案中,所述检测所述登录网页是否存在验证码,包括:
22.获取所述登录网页的第三信息,所述第三信息包含所述登录网页的源代码中的第一标签;
23.将所述第三信息与预设的第二关键字集合中的关键字进行匹配;
24.在所述第二关键字集合中存在与所述第三信息匹配的关键字的情况下,所述第一检测结果表征所述登录网页存在验证码;在所述第二关键字集合中不存在与所述第三信息匹配的关键字的情况下,所述第一检测结果表征所述登录网页不存在验证码。
25.上述方案中,所述验证码包括图片验证码;所述基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞,包括:
26.在所述第一检测结果表征所述登录网页存在验证码的情况下,获取所述验证码对应的图片;
27.通过将所述验证码对应的图片输入预先训练的第二模型,识别所述验证码;
28.利用识别出的验证码和预设的弱口令字典,对所述登录网页进行爆破;
29.在爆破成功的情况下,所述目标网络存在身份认证漏洞;在爆破失败的情况下,所述目标网络不存在身份认证漏洞。
30.上述方案中,所述基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞,包括:
31.在所述第一检测结果表征所述登录网页不存在验证码的情况下,利用预设的弱口令字典,对所述登录网页进行爆破;
32.在爆破成功的情况下,所述目标网络存在身份认证漏洞;在爆破失败的情况下,所述目标网络不存在身份认证漏洞。
33.上述方案中,对所述登录网页进行爆破时,所述方法还包括:
34.确定第四信息、第五信息和第六信息中的至少之一;所述第四信息包含对所述登录网页进行爆破时所述目标网站返回的响应信息;所述第五信息表征对所述登录网页进行爆破时所述登录网页的url的变化情况;所述第六信息表征对所述登录网页进行爆破时所述登录网页呈现的文本的变化情况;
35.利用所述第四信息、第五信息和第六信息中的至少之一,判断爆破是否成功。
36.上述方案中,对所述登录网页进行爆破时,所述方法还包括:
37.通过优先遍历所述弱口令字典包含的登录密码的方式对所述登录网页进行爆破。
38.上述方案中,对所述登录网页进行爆破时,所述方法还包括:
39.根据预设的周期,周期性地获取所述登录网页的第二信息,并将所述第二信息与预设的第三关键字集合中的关键字进行匹配;所述第二信息包含所述登录网页呈现的文本;所述第三关键字集合中的关键字与登录限制条件相关;
40.在所述第三关键字集合中存在与所述第二信息匹配的关键字的情况下,停止爆破;在所述第三关键字集合中不存在与所述第二信息匹配的关键字的情况下,继续爆破。
41.本技术实施例还提供了一种漏洞检测装置,包括:
42.获取单元,用于获取目标网站的每个网页的url;
43.第一处理单元,用于基于每个网页的url,确定所述目标网站的登录网页;
44.第二处理单元,用于检测所述登录网页是否存在验证码,得到第一检测结果;
45.第三处理单元,用于基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞。
46.本技术实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
47.其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
48.本技术实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
49.本技术实施例提供的漏洞检测方法、装置、电子设备及存储介质,获取目标网站的每个网页的url;基于每个网页的url,确定所述目标网站的登录网页;检测所述登录网页是否存在验证码,得到第一检测结果;基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞。本技术实施例提供的方案,基于目标网站的每个网页的url,确定所述目标网站的登录网页,检测所述登录网页是否存在验证码,得到第一检测结果,并基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞;如此,能够实现针对网站身份认证漏洞的自动化黑盒扫描,即只需要获知目标网站,就能够智能化(即自动化)地识别目标网站的登录网页及登录网页是否存在验证码,并检测目标网站是否存在身份认证漏洞,从而能够提高网站身份认证漏洞的检测能力与扫描效率。
附图说明
50.图1为本技术实施例漏洞检测方法的流程示意图;
51.图2为本技术应用实施例基于人工智能(ai,artificial intelligence)的网络(web)身份认证漏洞自动化黑盒扫描方法的整体检测流程示意图;
52.图3为本技术应用实施例web页面和验证码示意图;
53.图4为本技术应用实施例登录页面识别流程示意图;
54.图5为本技术应用实施例动态验证码识别流程示意图;
55.图6为本技术应用实施例弱口令爆破流程示意图;
56.图7为本技术实施例漏洞检测装置结构示意图;
57.图8为本技术实施例电子设备结构示意图。
具体实施方式
58.下面结合附图及实施例对本技术再作进一步详细的描述。
59.相关技术中,可以使用扫描工具进行漏洞扫描。
60.然而,相关技术中的扫描工具无法自动化地对各类网站进行身份认证漏洞扫描,即无法自动化检测各类网站存在的身份认证漏洞;具体地,相关技术中的扫描工具存在以下问题:
61.问题1:身份认证漏洞扫描的首要工作是寻找用户后台登录页面,而相关技术中的扫描工具需要依赖爬虫技术对爬取的web页面进行二次鉴别(即判断爬取的网页是否是登录网页)来确定登录页面,扫描效率较低;或者,需要人工预先指定登录页面;换句话说,相关技术中的扫描工具无法自动化识别登录页面。
62.问题2:相关技术中的扫描工具无法处理存在动态验证码限制的登录页面,即不支持动态验证码的内容识别,无法针对存在验证码的web页面实现自动化扫描。
63.基于此,在本技术的各种实施例中,基于目标网站的每个网页的url,确定所述目标网站的登录网页,检测所述登录网页是否存在验证码,得到第一检测结果,并基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞;如此,能够实现针对网站身份认证漏洞的自动化黑盒扫描,即只需要获知目标网站,就能够智能化(即自动化)地识别目标网站的登录网页,从而解决上述问题1,并能够自动化地识别登录网页是否存在验证码,从而解决问题2,进而能够自动化地检测目标网站是否存在身份认证漏洞,提高网站身份认证漏洞的检测能力与扫描效率。
64.本技术实施例提供一种漏洞检测方法,应用于电子设备(比如服务器),如图1所示,该方法包括:
65.步骤101:获取目标网站的每个网页的url;
66.步骤102:基于每个网页的url,确定所述目标网站的登录网页;
67.步骤103:检测所述登录网页是否存在验证码,得到第一检测结果;
68.步骤104:基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞。
69.这里,可以理解,所述登录网页用于供用户登录所述目标网站。
70.实际应用时,所述网页也可以称为web页面;所述登录网页也可以称为登录页面;所述验证码是指动态验证码,即随着网页的刷新而动态变化的验证码。
71.步骤101中,实际应用时,所述电子设备可以从本地或其他电子设备(比如用户设备(ue,user equipment)、其他服务器等)获取所述目标网站的相关信息,比如所述目标网站的首页的url;并基于所述目标网站的相关信息,获取所述目标网站的每个网页的url;示例性地,所述电子设备可以基于所述目标网站的相关信息,通过爬虫的方式爬取(即获取)所述目标网站的每个网页的url。或者,所述电子设备也可以从本地或其他电子设备直接获取目标网站的每个网页的url。获取目标网站的每个网页的url的具体方式可以根据需求设置,本技术实施例对此不作限定。
72.步骤102中,实际应用时,针对所述目标网站的每个网页,考虑到向所述目标网站发送相应网页的访问请求时所述目标网站返回的响应信息可能会包含能够表征相应网页是登录网页的字段(后续描述中记作第一字段);因此,所述电子设备可以遍历访问每个网页的url,即向所述目标网站发送各网页的访问请求,并根据所述目标网站返回的响应信息判断相应网页是否为登录网页。
73.基于此,在一实施例中,步骤102的具体实现可以包括:
74.基于每个网页的url,获取每个网页的第一信息,所述第一信息包含向所述目标网站发送相应网页的访问请求时所述目标网站返回的响应信息;
75.根据每个网页的第一信息,确定所述目标网站的登录网页。
76.实际应用时,所述基于每个网页的url,获取每个网页的第一信息,可以包括:针对每个网页,基于相应网页的url,向所述目标网站发送相应网页的访问请求,并接收所述目标网站基于所述访问请求返回的响应信息。
77.其中,在一实施例中,所述根据每个网页的第一信息,确定所述目标网站的登录网页,可以包括:
78.针对每个网页,判断相应网页的第一信息是否包含预设的第一字段;
79.在相应网页的第一信息包含所述第一字段的情况下,确定相应网页是登录网页。
80.这里,所述第一字段可以根据需求设置,本技术实施例对此不做限定。示例性地,所述第一字段可以包含“www-authenticate”。
81.实际应用时,通过判断相应网页的第一信息是否包含所述第一字段,能够快速地识别出所述目标网站的登录网页,从而提高网站身份认证漏洞的检测能力与扫描效率。
82.实际应用时,考虑到相应网页的第一信息不包含所述第一字段时并不能说明相应网页一定不是登录网页,同时,考虑到登录网页所呈现的文本通常包含特定的标志性关键字,比如“登录”、“密码”、“login”和“password”等;因此,获取每个网页的第一信息时,所述电子设备还可以获取相应网页呈现的文本(后续描述中记作第二信息),并结合所述第一信息和所述第二信息,判断相应网页是否为登录网页。
83.基于此,在一实施例中,步骤102的具体实现可以包括:
84.基于每个网页的url,获取每个网页的第一信息和第二信息;所述第一信息包含向所述目标网站发送相应网页的访问请求时所述目标网站返回的响应信息;所述第二信息包含相应网页呈现的文本;
85.根据每个网页的第一信息和第二信息,确定所述目标网站的登录网页。
86.其中,在一实施例中,所述根据每个网页的第一信息和第二信息,确定所述目标网站的登录网页,可以包括:
87.针对每个网页,判断相应网页的第一信息是否包含预设的第一字段;
88.在相应网页的第一信息不包含所述第一字段的情况下,利用相应网页的第二信息,判断相应网页是否为登录网页。
89.实际应用时,结合所述第一信息和所述第二信息判断相应网页是否为登录网页,能够兼顾登录网页识别的效率和准确性,从而兼顾网站身份认证漏洞检测的效率与准确性。
90.实际应用时,可以预先设置登录网页所呈现的文本可能包含的标志性关键字的集合(后续描述中记作第一关键字集合),并通过将相应网页的第二信息与所述第一关键字集合中的关键字进行匹配,判断相应网页是否为登录网页。
91.基于此,在一实施例中,所述利用相应网页的第二信息,判断相应网页是否为登录网页,可以包括:
92.利用相应网页的第二信息和预设的第一关键字集合,判断相应网页是否为登录网页。
93.实际应用时,所述第一关键字集合中的关键字可以根据需求设置,比如“登录”、“密码”、“login”和“password”等,本技术实施例对此不作限定。
94.其中,在一实施例中,所述利用相应网页的第二信息和所述第一关键字集合,判断
相应网页是否为登录网页,可以包括:
95.利用所述第一关键字集合中的关键字对相应网页的第二信息进行正则匹配,得到第一匹配结果;所述第一匹配结果表征相应网页的第二信息与所述第一关键字集合之间的匹配度;
96.在所述第一匹配结果满足第一条件的情况下,确定相应网页是登录网页;在所述第一匹配结果满足第二条件的情况下,确定相应网页不是登录网页。
97.实际应用时,计算所述第一匹配结果的具体方式、所述第一条件和所述第二条件可以根据需求设置,本技术实施例对此不作限定。示例性地,所述第一关键字集合中的每个关键字可以对应一个预设的权重值,所述权重值可以反映在相应网页的第二信息包含相应关键字的情况下相应网页是登录网页的概率。利用所述第一关键字集合中的关键字对相应网页的第二信息进行正则匹配时,可以将相应网页的第二信息包含的所述第一关键字集合中的关键字对应的权重值相加,得到所述第一匹配结果。在所述第一匹配结果大于第一阈值(即所述第一条件)的情况下,可以确定相应网页是登录网页;在所述第一匹配结果小于第二阈值(即所述第二条件)的情况下,可以确定相应网页不是登录网页;所述第二阈值小于所述第一阈值,所述第一阈值和所述第二阈值的取值可以根据需求设置。
98.实际应用时,通过将相应网页的第二信息与所述第一关键字集合中的关键字进行匹配,判断相应网页是否为登录网页,能够快速地识别出所述目标网站的登录网页,从而提高网站身份认证漏洞的检测能力与扫描效率。
99.实际应用时,考虑到可能存在所述第一匹配结果既不满足所述第一条件也不满足所述第二条件的情况,在所述第一匹配结果不满足所述第一条件和所述第二条件的情况下,所述电子设备可以利用预先训练的ai分类模型(后续描述中记作第一模型)判断相应网页是否为登录网页。
100.基于此,在一实施例中,所述利用相应网页的第二信息,判断相应网页是否为登录网页,可以包括:
101.利用相应网页的第二信息和预设的第一关键字集合和预先训练的第一模型,判断相应网页是否为登录网页。
102.其中,在一实施例中,所述利用相应网页的第二信息和所述第一关键字集合和所述第一模型,判断相应网页是否为登录网页,可以包括:
103.利用所述第一关键字集合中的关键字对相应网页的第二信息进行正则匹配,得到第一匹配结果;所述第一匹配结果表征相应网页的第二信息与所述第一关键字集合之间的匹配度;
104.在所述第一匹配结果不满足第一条件和第二条件的情况下,即在所述第一匹配结果不满足第一条件且所述第一匹配结果不满足第二条件的情况下,利用相应网页的第二信息,确定相应网页的文本特征向量;
105.利用相应网页的文本特征向量和所述第一模型,判断相应网页是否为登录网页;换句话说,通过将相应网页的文本特征向量输入所述第一模型,判断相应网页是否为登录网页。
106.这里,可以理解,所述第一匹配结果满足所述第一条件,说明(即表征)相应网页是登录网页;所述第一匹配结果满足所述第二条件,说明相应网页不是登录网页;所述第一匹
配结果不满足所述第一条件和所述第二条件,说明利用所述第一关键字集合中的关键字无法判断相应网页是否为登录网页。
107.实际应用时,考虑到相应网页呈现的文本可能包含中文文本和英文文本,因此,确定相应网页的文本特征向量时,可以分别提取相应网页的中文文本特征和英文文本特征,再利用相应网页的中文文本特征和英文文本特征确定相应网页的文本特征向量。示例性地,可以利用自然语言处理(nlp,natural language processing)技术提取相应网页的中文文本特征,比如利用nlp工具jieba提取相应网页的中文文本特征;再利用预设的英文关键字集合(后续描述中记作第四关键字集合)提取相应网页的英文文本特征;最后利用相应网页的中文文本特征和英文文本特征确定相应网页的文本特征向量。
108.实际应用时,所述利用相应网页的文本特征向量和所述第一模型,判断相应网页是否为登录网页,是指将相应网页的文本特征向量输入所述第一模型,得到所述第一模型的输出结果,所述输出结果表征相应网页是否为登录网页。
109.实际应用时,利用相应网页的第二信息和所述第一关键字集合和所述第一模型判断相应网页是否为登录网页,实现了以关键字正则匹配优先、ai分类模型兜底的双重识别模式,从而能够充分发挥关键字匹配速度块和ai精准识别的优势,保障最终检测效果(即准确性)与扫描性能(即效率)的平衡;换句话说,能够兼顾登录网页识别的效率和准确性,从而兼顾网站身份认证漏洞检测的效率与准确性。
110.实际应用时,需要预先训练所述第一模型。
111.基于此,在一实施例中,该方法还可以包括:
112.确定第一样本集合;
113.利用所述第一样本集合及第一ai算法,训练所述第一模型,所述第一模型用于根据网页的文本特征向量确定相应网页是登录网页或非登录网页,即判断相应网页是否为登录网页。
114.实际应用时,训练所述第一模型所使用的第一ai算法的具体类型和数量可以根据需求设置,比如nlp技术相关的算法、文本卷积神经网络(textcnn,text convolutional neural network)算法等,本技术实施例对此不作限定。示例性地,可以收集并标注大量的登录网页和非登录网页,确定所述第一样本集合(所述第一样本集合中的样本数量以及正负样本的比例可以根据需求设置,本技术实施例对此不作限定),并确定所述第一样本集合中的每个样本(即每个网页)的文本特征向量;针对每个样本,可以使用nlp工具jieba进行分词并提取中文文本特征,利用所述第四关键字集合提取指定文本内容(即所述第四关键字集合中的关键字对应的文本)得到英文文本特征,再利用相应样本的中文文本特征和英文文本特征确定相应样本的文本特征向量;基于每个样本的文本特征向量对textcnn模型(即所述第一模型)进行训练,以获得最优网络模型参数,即完成所述第一模型的训练。
115.实际应用时,也可以不使用所述第一关键字集合,直接使用所述第一模型判断相应网页是否为登录网页。
116.基于此,在一实施例中,所述利用相应网页的第二信息,判断相应网页是否为登录网页,可以包括:
117.利用相应网页的第二信息和预先训练的第一模型,判断相应网页是否为登录网页。
118.其中,在一实施例中,所述利用相应网页的第二信息和所述第一模型,判断相应网页是否为登录网页,可以包括:
119.利用相应网页的第二信息,确定相应网页的文本特征向量;
120.利用相应网页的文本特征向量和所述第一模型,判断相应网页是否为登录网页。
121.这里,所述利用相应网页的文本特征向量和所述第一模型,判断相应网页是否为登录网页,是指将相应网页的文本特征向量输入所述第一模型,得到所述第一模型的输出结果,所述输出结果表征相应网页是否为登录网页。另外,需要说明的是:确定相应网页的文本特征向量的具体方式以及所述第一模型的训练方式已在上文详述,这里不再赘述。
122.实际应用时,直接使用所述第一模型判断相应网页是否为登录网页,能够准确地识别出所述目标网站的登录网页,从而提高网站身份认证漏洞的检测能力与扫描效率。
123.实际应用时,也可以不使用相应网页的第一信息,直接根据相应网页的第二信息判断相应网页是否为登录网页。
124.基于此,在一实施例中,步骤102的具体实现可以包括:
125.基于每个网页的url,获取每个网页的第二信息,所述第二信息包含相应网页呈现的文本;
126.根据每个网页的第二信息,确定所述目标网站的登录网页。
127.具体地,在一实施例中,所述根据每个网页的第二信息,确定所述目标网站的登录网页,可以包括:
128.针对每个网页,利用相应网页的第二信息和预设的第一关键字集合和/或预先训练的第一模型,判断相应网页是否为登录网页。
129.这里,需要说明的是:利用相应网页的第二信息和所述第一关键字集合和/或所述第一模型判断相应网页是否为登录网页的具体方式已在上文详述,这里不再赘述。
130.实际应用时,直接根据相应网页的第二信息判断相应网页是否为登录网页,能够准确地识别出所述目标网站的登录网页,从而提高网站身份认证漏洞的检测能力与扫描效率。
131.步骤103中,实际应用时,考虑到登录网页通常以图片形式呈现动态验证码,因此,可以通过检测所述登录网页的源代码中图片相关的标签(后续描述中记作第一标签)是否存在特定关键字集合(后续描述中记作第二关键字集合)中的关键字,来检测所述登录网页是否存在验证码。
132.基于在,在一实施例中,步骤103的具体实现可以包括:
133.获取所述登录网页的第三信息,所述第三信息包含所述登录网页的源代码中的第一标签;
134.将所述第三信息与预设的第二关键字集合中的关键字进行匹配;
135.在所述第二关键字集合中存在与所述第三信息匹配的关键字的情况下,所述第一检测结果表征所述登录网页存在验证码;在所述第二关键字集合中不存在与所述第三信息匹配的关键字的情况下,所述第一检测结果表征所述登录网页不存在验证码。
136.这里,所述验证码包括图片验证码,即以图片形式呈现的验证码。
137.实际应用时,所述第三信息可以包括超文本标记语言(html,hyper text markup language)代码,所述第一标签可以包括《img》标签。
138.实际应用时,所述第二关键字集合中的关键字可以根据需求设置,比如“yanzhengma”、“capture”、“verification code”、“verify code”等,本技术实施例对此不作限定。
139.步骤104中,实际应用时,在所述第一检测结果表征所述登录网页存在验证码的情况下,可以先利用预先训练的ai模型(后续描述中记作第二模型)识别出验证码图片中的验证码,再利用识别出的验证码和预设的弱口令字典,对所述登录网页进行爆破。
140.基于此,在一实施例中,在所述验证码包括图片验证码的情况下,步骤104的具体实现可以包括:
141.在所述第一检测结果表征所述登录网页存在验证码的情况下,获取所述验证码对应的图片;
142.利用所述验证码对应的图片和预先训练的第二模型,识别所述验证码;换句话说,通过将所述验证码对应的图片输入所述第二模型,识别所述验证码;
143.利用识别出的验证码和预设的弱口令字典,对所述登录网页进行爆破;
144.在爆破成功的情况下,所述目标网络存在身份认证漏洞;在爆破失败的情况下,所述目标网络不存在身份认证漏洞。
145.实际应用时,需要预先训练所述第二模型。
146.基于此,在一实施例中,该方法还可以包括:
147.确定第二样本集合;
148.利用所述第二样本集合及第二ai算法,训练所述第二模型,所述第二模型用于识别图片中的验证码。
149.实际应用时,训练所述第二模型所使用的第二ai算法的具体类型和数量可以根据需求设置,比如卷积神经网络(cnn,convolutional neural network)算法、长短期记忆(lstm,long short-term memory)算法、联接时间分类(ctc,connectionist temporal classification)算法等,本技术实施例对此不作限定。示例性地,可以生成或收集海量的验证码图片,并标注每个验证码图片对应的验证码,得到所述第二样本集合(所述第二样本集合中的样本数量可以根据需求设置,本技术实施例对此不作限定);提取所述第二样本集合中的每个样本(即每个验证码图片)的图片特征,并基于提取的图片特征迭代训练cnn lstm ctc神经网络模型(即所述第二模型),直至交叉熵损失降至最低;在cnn lstm ctc神经网络模型中,cnn用于对验证码图片进行特征提取,lstm用于进行单字符识别,ctc负责冗余和空白内容过滤。
150.实际应用时,所述利用所述验证码对应的图片和预先训练的第二模型识别所述验证码,是指将所述验证码对应的图片输入所述第二模型,得到所述第二模型的输出结果,所述输出结果包含所述第二模型识别出的验证码。
151.实际应用时,所述弱口令字典可以包含多个容易被猜测到或被破解工具破解的口令,所述口令可以包含用户名(英文可以表达为username)和密码(英文可以表达为password),比如“admin”、“root”、“123456”等,弱口令字典的具体内容可以根据需求设置,本技术实施例对此不作限定。
152.实际应用时,所述利用识别出的验证码和预设的弱口令字典对所述登录网页进行爆破,是指利用识别出的验证码和所述弱口令字典中的弱口令攻击所述登录网页,换句话
说,在所述登录网页上利用识别出的验证码以及所述弱口令字典中的用户名和密码登录所述目标网站。可以理解,在所述登录网页上利用识别出的验证码以及所述弱口令字典中的任一用户名和密码成功登录所述目标网站时,爆破成功;在所述登录网页上利用识别出的验证码以及所述弱口令字典中的全部用户名和密码均无法成功登录所述目标网站时,爆破失败。
153.实际应用时,在所述第一检测结果表征所述登录网页不存在验证码的情况下,可以直接利用预设的弱口令字典对所述登录网页进行爆破。
154.基于此,在一实施例中,步骤104的具体实现可以包括:
155.在所述第一检测结果表征所述登录网页不存在验证码的情况下,利用预设的弱口令字典,对所述登录网页进行爆破;
156.在爆破成功的情况下,所述目标网络存在身份认证漏洞;在爆破失败的情况下,所述目标网络不存在身份认证漏洞。
157.实际应用时,所述利用预设的弱口令字典对所述登录网页进行爆破,是指利用所述弱口令字典中的弱口令攻击所述登录网页,换句话说,在所述登录网页上利用所述弱口令字典中的用户名和密码登录所述目标网站。可以理解,在所述登录网页上利用所述弱口令字典中的用户名和密码成功登录所述目标网站时,爆破成功;在所述登录网页上利用所述弱口令字典中的全部用户名和密码均无法成功登录所述目标网站时,爆破失败。
158.实际应用时,由于所述弱口令字典可以包含多个容易被猜测到或被破解工具破解的口令,因此,利用识别出的验证码和所述弱口令字典对所述登录网页进行爆破时,或者,利用所述弱口令字典对所述登录网页进行爆破时,需要对所述弱口令字典中的口令进行遍历,即遍历所述弱口令字典中的用户名和密码。示例性地,利用识别出的验证码和所述弱口令字典对所述登录网页进行爆破时,所述电子设备可以通过内置的浏览器控件(比如驱动(driver))在所述登录网页搜索用户名、密码和验证码的标签及文本框位置,遍历加载所述弱口令字典中的用户名、密码以及识别出的验证码,依次填入所述登录网页的文本框中,并可以通过内置的浏览器控件提交post请求对所述登录网页进行爆破,即向所述目标网站发送携带所述弱口令字典中的用户名、密码以及识别出的验证码的登录请求。
159.实际应用时,利用识别出的验证码和所述弱口令字典对所述登录网页进行爆破时,或者,利用所述弱口令字典对所述登录网页进行爆破时,可以根据所述目标网站返回的响应信息、所述登录网页的url的变化情况和所述登录网页呈现的文本的变化情况中的至少之一,确定是否爆破成功,即确定是否成功登录所述目标网站。
160.基于此,在一实施例中,对所述登录网页进行爆破时,该方法还可以包括:
161.确定第四信息、第五信息和第六信息中的至少之一;所述第四信息包含对所述登录网页进行爆破时所述目标网站返回的响应信息;所述第五信息表征对所述登录网页进行爆破时所述登录网页的url的变化情况;所述第六信息表征对所述登录网页进行爆破时所述登录网页呈现的文本的变化情况;
162.利用所述第四信息、第五信息和第六信息中的至少之一,判断爆破是否成功。
163.实际应用时,所述电子设备在所述登录网页上利用识别出的验证码以及所述弱口令字典中的用户名和密码登录所述目标网站,或者在所述登录网页上利用所述弱口令字典中的用户名和密码登录所述目标网站后,所述目标网站可以返回包含页面响应状态码(英
文可以表达为status code)的响应信息;换句话说,所述第四信息可以包含页面响应状态码。示例性地,在所述第四信息包含的页面响应状态码为200的情况下,说明登录成功,即爆破成功;在所述第四信息包含的页面响应状态码为404或304的情况下,说明登录失败,即爆破失败。
164.实际应用时,在对所述登录网页进行爆破之前,所述登录网页的url可以包含预设的第二字段,比如“login.jsp”;在对所述登录网页进行爆破成功的情况下,所述登录网页的url可以包含预设的第三字段,比如“index.jsp”;在所述第五信息表征所述登录网页的url由包含第二字段变化为包含第三字段的情况下,说明登录成功,即爆破成功;在所述第五信息表征所述登录网页的url未发生变化的情况下,说明登录失败,即爆破失败。
165.实际应用时,在所述第六信息满足第三条件的情况下,可以确定登录成功,即爆破成功;在所述第六信息满足第四条件的情况下,可以确定登录失败,即爆破失败;确定所述第六信息的具体方式以及所述第四条件和所述第五条件的具体内容可以根据需求设置,本技术实施例对此不作限定。示例性地,可以利用预设的用于判断文本相似度的pthon库判断对所述登录网页进行爆破时所述登录网页呈现的文本的变化情况,即获取所述pthon库输出的第六信息;在所述第六信息为0(即所述第三条件)的情况下,说明对所述登录网页进行爆破前后所述登录网页呈现的文本的相似度较小(即变化较大),即可以确定登录成功;在所述第六信息为1(即所述第四条件)的情况下,说明对所述登录网页进行爆破前后所述登录网页呈现的文本的相似度较大(即变化较小),即可以确定登录失败。
166.基于此,在一实施例中,所述利用所述第四信息、第五信息和第六信息中的至少之一,判断爆破是否成功,可以包括:
167.满足以下条件中的至少之一时,确定爆破成功:
168.所述第四信息包含预设的第一页面响应状态码(比如200等);
169.所述第五信息表征所述登录网页的url由包含预设的第二字段(比如“login.jsp”)变化为包含预设的第三字段(比如“index.jsp”);
170.所述第六信息满足第三条件(比如所述第六信息为0)。
171.在一实施例中,所述利用所述第四信息、第五信息和第六信息中的至少之一,判断爆破是否成功,还可以包括:
172.满足以下条件中的至少之一时,确定爆破失败:
173.所述第四信息包含预设的第二页面响应状态码(比如404或304等);
174.所述第五信息表征所述登录网页的url未发生变化;
175.所述第六信息满足第四条件(比如所述第四信息为1)。
176.实际应用时,所述目标网站可能存在登录次数限制机制(即允许输入错误密码的次数),为了避免无效爆破(即输入错误密码的次数已经达到所述目标网站的上限),可以采用密码优先遍历的方式实施登录爆破,从而提高网站身份认证漏洞的检测能力与扫描效率。
177.基于此,在一实施例中,对所述登录网页进行爆破时,该方法还可以包括:
178.通过优先遍历所述弱口令字典包含的登录密码的方式对所述登录网页进行爆破。
179.这里,所述优先遍历所述弱口令字典包含的登录密码,是指优先利用所述弱口令字典包含的登录密码遍历用户名。示例性地,假设所述弱口令字典包含三个用户名“admin”、“root”和“user”,以及三个密码“123456”、“654321”和“root1234”;采用密码优先遍历的方式实施登录爆破时,可以先用密码“123456”遍历用户名“admin”、“root”和“user”,即分别使用“admin,123456”、“root,123456”和“user,123456”对所述登录网页进行爆破;再用密码“654321”遍历用户名“admin”、“root”和“user”,最后用密码“root1234”遍历用户名“admin”、“root”和“user”。
180.实际应用时,为了避免无效爆破,还可以每隔m次爆破检测所述登录网页呈现的文本是否存在有关登录限制的关键字(后续描述中记作第三关键字集合中的关键字),m为大于1的整数,m的取值可以根据需求设置,比如5,本技术实施例对m的取值不作限定。如果存在有关登录限制的关键字,则停止爆破;如果不存在有关登录限制的关键字,则继续爆破并保持监测(即每隔m次爆破检测所述登录网页呈现的文本是否存在有关登录限制的关键字)。
181.基于此,在一实施例中,对所述登录网页进行爆破时,该方法还可以包括:
182.根据预设的周期(即m),周期性地获取所述登录网页的第二信息,并将所述第二信息与预设的第三关键字集合中的关键字进行匹配;所述第二信息包含所述登录网页呈现的文本;所述第三关键字集合中的关键字与登录限制条件相关;
183.在所述第三关键字集合中存在与所述第二信息匹配的关键字的情况下,停止爆破;在所述第三关键字集合中不存在与所述第二信息匹配的关键字的情况下,继续爆破。
184.实际应用时,所述第三关键字集合中的关键字可以根据需求设置,比如“频繁”、“锁定”和“稍后再试”等,本技术实施例对此不作限定。
185.实际应用时,爆破成功后,可以记录身份认证漏洞的详细信息,即登录成功的至少一组用户名和密码,或者登录成功的至少一组用户名、密码和验证码;并可以将身份认证漏洞的详细信息提供给用户,供用户对所述目标网站进行维护和/或升级。
186.本技术实施例提供的漏洞检测方法,获取目标网站的每个网页的url;基于每个网页的url,确定所述目标网站的登录网页;检测所述登录网页是否存在验证码,得到第一检测结果;基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞。本技术实施例提供的方案,基于目标网站的每个网页的url,确定所述目标网站的登录网页,检测所述登录网页是否存在验证码,得到第一检测结果,并基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞;如此,能够实现针对网站身份认证漏洞的自动化黑盒扫描,即只需要获知目标网站,就能够智能化(即自动化)地识别目标网站的登录网页及登录网页是否存在验证码,并检测目标网站是否存在身份认证漏洞,从而能够提高网站身份认证漏洞的检测能力与扫描效率。
187.下面结合应用实施例对本技术再作进一步详细的描述。
188.本应用实施例针对相关技术中扫描工具存在的问题(即上述问题1和问题2),提出了基于ai的web身份认证漏洞自动化黑盒扫描方法,克服扫描工具无法自动化识别登录页面和动态验证码的难题,实现多种复杂web页面的身份认证漏洞扫描。如图2所示,本应用实施例提出的基于ai的web身份认证漏洞自动化黑盒扫描方法的整体检测流程可以包括三个子流程:登录页面识别、不定长动态验证码识别和弱口令爆破。图3示出了一些常见的web页面(包括登录页面和非登录页面),以及常见的包含数字和/或英文的图片验证码。
189.下面分别结合图4至图6来描述登录页面识别流程、不定长动态验证码识别流程和弱口令爆破流程。
190.首先,结合图4来详细描述登录页面识别流程。
191.实际应用时,身份认证漏洞扫描的首要工作是寻找用户后台登录页面,而依赖人工预先指定或根据爬取页面二次鉴别的效率低下。因此,在本应用实施例中,基于关键字规则匹配 ai分类模型的融合架构来智能搜索后台登录页面(即所述登录网页),从而能够极大地提升扫描工具的性能,即提升扫描效率和准确率。
192.在本应用实施例中,如图4所示,登录页面识别流程包括线下分类模型(即所述第一模型)训练和线上web页面识别两个子流程。其中,进行线下分类模型训练时,可以收集并标注大量的登录页面和非登录页面(比如13000个登录页面和19000个非登录页面),正负样本的比例可以为1:1.5;之后,可以分别提取页面中的中英文文本特征,针对中文文本特征,可以使用nlp工具jieba进行分词后统一提取;针对英文文本特征,可以通过预设英文关键字集合(即所述第四关键字集合)提取指定文本内容(即英文文本特征)。最后,可以基于提取的中文和英文特征向量对textcnn模型(即所述第一模型)进行训练,以获得最优网络模型参数。
193.在本应用实施例中,进行线上web页面识别时,由于登录页面通常具有特定的标志性关键字,比如“登录”、“密码”、“login”和“password”等,考虑到最终检测效果(即检测结果的准确性)与扫描性能(即扫描效率)的平衡,本应用实施例提供了以关键字正则匹配优先、ai分类模型兜底的双重识别模式,充分发挥关键字匹配速度快和ai精准识别的优势。
194.具体地,如图4所示,可以访问各页面的url链接,即发送针对各页面的访问请求,根据响应(英文可以表达为response)头部信息判断当前页面是否为“www-authenticate”登录认证模式,即判断响应头部信息是否包含“www-authenticate”字段(即所述第一字段);如果包含该字段,可以确定成功识别到web登录页面。如果不包含该字段,可以加载关键字集合(即所述第一关键字集合)对页面中不同位置的中文和/或英文文本内容进行正则匹配,命中不同关键字会对应不同的权重匹配得分(即所述权重值);如果最终得分s(即命中的关键字对应的权重匹配得分之和)大于t0(即所述第一阈值),则可以确定当前web页面为登录页面;如果最终得分s小于t1(即所述第二阈值),则可以确定当前web页面不是登录页面(即为非登录页面)。如果最终得分s大于或等于t1、且小于或等于t0(即第一匹配结果不满足第一条件和第二条件),可以提取当前web页面的文本特征向量,将提取的向量输入ai分类模型(即所述第一模型)进行预测,将模型输出的结果为最终决策结果(即当前web页面是否为等于页面)。
195.其次,结合图5来详细描述不定长动态验证码识别流程。
196.在本应用实施例中,如图5所示,识别出登录页面后,需要确认当前web页面是否需要进行动态验证码识别。动态验证码识别流程包括验证码查找和验证码内容识别两个子流程,验证码内容识别流程进一步包括线下模型训练和线上验证码识别两个子流程。
197.在本应用实施例中,进行验证码查找时,需要判断当前页面是否存在验证码机制,因此,可以对web登录页面进行扫描,得到所有《img》标签(即所述第一标签)集合,并根据预设验证码关键字(即所述第二关键字集合中的关键字)对所有《img》标签进行匹配遍历,以确认是否存在验证码。如果存在验证码,需要定位和记录验证码具体位置,并将验证码图片
保存到本地以便后续识别;如果不存在验证码,则将跳过验证码内容识别流程,直接执行不含验证码的登录页面的爆破。
198.在本应用实施例中,进行线下模型训练时,可以生成或收集海量已标注的验证码数据(即验证码图片),并基于提取的图片特征迭代训练cnn lstm ctc神经网络模型(即所述第二模型),直至交叉熵损失降至最低;其中,cnn用于对验证码进行特征提取,lstm用于进行单字符识别,ctc负责冗余和空白内容过滤。
199.在本应用实施例中,确定web登录页面存在验证码机制后,即将web登录页面的验证码图片保存到本地后,可以利用训练的ai模型(即所述第二模型)对验证码图片的内容进行识别;换句话说,可以将保存的验证码图片输入ai模型,记录模型输出结果(模型输出结果包含验证码图片的内容的识别结果),并开始执行登录页面弱口令爆破流程。
200.最后,结合图6来详细描述弱口令爆破流程。
201.在本应用实施例中,可以加载本地的弱口令字典(username/password)对当前web登录页面进行爆破,以判断其中是否存在身份认证漏洞。具体地,如图6所示,在当前web登录页面存在验证码机制的情况下,可以先通过内置浏览器driver在web页面搜索用户名、密码和验证码的标签及位置;之后,可以遍历加载弱口令字典中的username、password以及验证码识别结果,依次填入文本框中;并可以通过内置浏览器提交post请求,根据页面响应来判定是否爆破成功,直至字典遍历结束。
202.在本应用实施例中,可以根据页面响应状态码(即所述第四信息)、页面url变化与否(即所述第五信息)以及基准页面相似度(即所述第六信息)这三种信息中的至少之一综合判定是否爆破成功。
203.在本应用实施例中,为防止网站有登录次数限制机制而造成无效爆破,可以采用密码优先遍历的算法实施登录爆破;并且,可以每隔m次(m可以等于5)爆破就会定期检查页面中是否存在有关登录限制的关键字(即所述第三关键字集合中的关键字),比如“频繁”、“锁定”和“稍后再试”等;如果存在这类关键字,则停止继续爆破;如果不存在这类关键字,则继续执行爆破并保持监测(即监测页面中是否存在有关登录限制的关键字)。
204.实际应用时,针对不存在验证码机制的web登录页面,其爆破流程与图6相比除验证码识别结果外并无差异,这里不再赘述。
205.本应用实施例提供的方案,具有以下优点:
206.1)通过基于关键字正则匹配 ai textcnn(即所述第一模型)融合的技术架构,能够自动化实现后台登录页面(即所述登录网页)识别;
207.2)通过基于海量数据训练的cnn lstm ctc深度神经网络模型(即所述第二模型),能够智能识别不定长动态图片验证码内容,从而能够实现包含验证码的登录页面和/或不包含验证码的登录页面的全覆盖漏洞扫描;
208.3)通过内置浏览器driver能够自动化定位用户名/密码/验证码标签的位置,从而能够加载弱口令字典进行登录爆破,确定目标网站是否存在身份认证漏洞;
209.4)通过基于ai的web身份认证漏洞自动化黑盒扫描方法的整体检测流程,能够智能化地实现后台登录页面搜索、验证码内容识别和弱口令爆破功能,显著提高漏洞检测能力与扫描效率;通过关键字正则匹配与登录页面识别、不定长验证码识别等多项ai技术的融合,能够高效且精准地搜索(即识别)登录页面并绕过动态验证码图片的限制,以自动化
的方式进行web身份认证漏洞扫描,显著提升漏洞扫描工具的性能及后期运营的效率。
210.为了实现本技术实施例的方法,本技术实施例还提供了一种漏洞检测装置,如图7所示,该装置包括:
211.获取单元701,用于获取目标网站的每个网页的url;
212.第一处理单元702,用于基于每个网页的url,确定所述目标网站的登录网页;
213.第二处理单元703,用于检测所述登录网页是否存在验证码,得到第一检测结果;
214.第三处理单元704,用于基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞。
215.其中,在一实施例中,所述第一处理单元702,还用于:
216.基于每个网页的url,获取每个网页的第一信息和/或第二信息;所述第一信息包含向所述目标网站发送相应网页的访问请求时所述目标网站返回的响应信息;所述第二信息包含相应网页呈现的文本;
217.根据每个网页的第一信息和/或第二信息,确定所述目标网站的登录网页。
218.在一实施例中,所述第一处理单元702,还用于:
219.针对每个网页,判断相应网页的第一信息是否包含预设的第一字段;
220.在相应网页的第一信息不包含所述第一字段的情况下,利用相应网页的第二信息,判断相应网页是否为登录网页。
221.在一实施例中,所述第一处理单元702,还用于:
222.利用预设的第一关键字集合中的关键字对相应网页的第二信息进行正则匹配,得到第一匹配结果;所述第一匹配结果表征相应网页的第二信息与所述第一关键字集合之间的匹配度;
223.在所述第一匹配结果满足第一条件的情况下,确定相应网页是登录网页;在所述第一匹配结果满足第二条件的情况下,确定相应网页不是登录网页;
224.在所述第一匹配结果不满足第一条件且所述第一匹配结果不满足第二条件的情况下,利用相应网页的第二信息,确定相应网页的文本特征向量;通过将相应网页的文本特征向量输入预先训练的第一模型,判断相应网页是否为登录网页。
225.在一实施例中,所述第二处理单元703,还用于:
226.获取所述登录网页的第三信息,所述第三信息包含所述登录网页的源代码中的第一标签;
227.将所述第三信息与预设的第二关键字集合中的关键字进行匹配;
228.在所述第二关键字集合中存在与所述第三信息匹配的关键字的情况下,所述第一检测结果表征所述登录网页存在验证码;在所述第二关键字集合中不存在与所述第三信息匹配的关键字的情况下,所述第一检测结果表征所述登录网页不存在验证码。
229.在一实施例中,所述验证码包括图片验证码;所述第三处理单元704,还用于:
230.在所述第一检测结果表征所述登录网页存在验证码的情况下,获取所述验证码对应的图片;
231.通过将所述验证码对应的图片输入预先训练的第二模型,识别所述验证码;
232.利用识别出的验证码和预设的弱口令字典,对所述登录网页进行爆破;
233.在爆破成功的情况下,所述目标网络存在身份认证漏洞;在爆破失败的情况下,所
述目标网络不存在身份认证漏洞。
234.在一实施例中,所述第三处理单元704,还用于:
235.在所述第一检测结果表征所述登录网页不存在验证码的情况下,利用预设的弱口令字典,对所述登录网页进行爆破;
236.在爆破成功的情况下,所述目标网络存在身份认证漏洞;在爆破失败的情况下,所述目标网络不存在身份认证漏洞。
237.在一实施例中,对所述登录网页进行爆破时,所述第三处理单元704,还用于:
238.确定第四信息、第五信息和第六信息中的至少之一;所述第四信息包含对所述登录网页进行爆破时所述目标网站返回的响应信息;所述第五信息表征对所述登录网页进行爆破时所述登录网页的url的变化情况;所述第六信息表征对所述登录网页进行爆破时所述登录网页呈现的文本的变化情况;
239.利用所述第四信息、第五信息和第六信息中的至少之一,判断爆破是否成功。
240.在一实施例中,对所述登录网页进行爆破时,所述第三处理单元704,还用于通过优先遍历所述弱口令字典包含的登录密码的方式对所述登录网页进行爆破。
241.在一实施例中,对所述登录网页进行爆破时,所述第三处理单元704,还用于:
242.根据预设的周期,周期性地获取所述登录网页的第二信息,并将所述第二信息与预设的第三关键字集合中的关键字进行匹配;所述第二信息包含所述登录网页呈现的文本;所述第三关键字集合中的关键字与登录限制条件相关;
243.在所述第三关键字集合中存在与所述第二信息匹配的关键字的情况下,停止爆破;在所述第三关键字集合中不存在与所述第二信息匹配的关键字的情况下,继续爆破。
244.实际应用时,所述获取单元701、第一处理单元702、第二处理单元703和第三处理单元704可由漏洞检测装置中的处理器结合通信接口实现。
245.需要说明的是:上述实施例提供的漏洞检测装置在检测漏洞时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的漏洞检测装置与漏洞检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
246.基于上述程序模块的硬件实现,且为了实现本技术实施例的方法,本技术实施例还提供了一种电子设备,如图8所示,该电子设备800包括:
247.通信接口801,能够与其他电子设备进行信息交互;
248.处理器802,与所述通信接口801连接,以实现与其他电子设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法;
249.存储器803,存储能够在所述处理器802上运行的计算机程序。
250.具体地,所述处理器802,用于:
251.通过所述通信接口801获取目标网站的每个网页的url;
252.基于每个网页的url,确定所述目标网站的登录网页;
253.检测所述登录网页是否存在验证码,得到第一检测结果;
254.基于所述第一检测结果及针对所述登录网页弱口令爆破的方式,检测所述目标网站是否存在身份认证漏洞。
255.其中,在一实施例中,所述处理器802,还用于:
256.基于每个网页的url,通过所述通信接口801获取每个网页的第一信息和/或第二信息;所述第一信息包含向所述目标网站发送相应网页的访问请求时所述目标网站返回的响应信息;所述第二信息包含相应网页呈现的文本;
257.根据每个网页的第一信息和/或第二信息,确定所述目标网站的登录网页。
258.在一实施例中,所述处理器802,还用于:
259.针对每个网页,判断相应网页的第一信息是否包含预设的第一字段;
260.在相应网页的第一信息不包含所述第一字段的情况下,利用相应网页的第二信息,判断相应网页是否为登录网页。
261.在一实施例中,所述处理器802,还用于:
262.利用预设的第一关键字集合中的关键字对相应网页的第二信息进行正则匹配,得到第一匹配结果;所述第一匹配结果表征相应网页的第二信息与所述第一关键字集合之间的匹配度;
263.在所述第一匹配结果满足第一条件的情况下,确定相应网页是登录网页;在所述第一匹配结果满足第二条件的情况下,确定相应网页不是登录网页;
264.在所述第一匹配结果不满足第一条件且所述第一匹配结果不满足第二条件的情况下,利用相应网页的第二信息,确定相应网页的文本特征向量;通过将相应网页的文本特征向量输入预先训练的第一模型,判断相应网页是否为登录网页。
265.在一实施例中,所述处理器802,还用于:
266.通过所述通信接口801获取所述登录网页的第三信息,所述第三信息包含所述登录网页的源代码中的第一标签;
267.将所述第三信息与预设的第二关键字集合中的关键字进行匹配;
268.在所述第二关键字集合中存在与所述第三信息匹配的关键字的情况下,所述第一检测结果表征所述登录网页存在验证码;在所述第二关键字集合中不存在与所述第三信息匹配的关键字的情况下,所述第一检测结果表征所述登录网页不存在验证码。
269.在一实施例中,所述验证码包括图片验证码;所述处理器802,还用于:
270.在所述第一检测结果表征所述登录网页存在验证码的情况下,通过所述通信接口801获取所述验证码对应的图片;
271.通过将所述验证码对应的图片输入预先训练的第二模型,识别所述验证码;
272.利用识别出的验证码和预设的弱口令字典,对所述登录网页进行爆破;
273.在爆破成功的情况下,所述目标网络存在身份认证漏洞;在爆破失败的情况下,所述目标网络不存在身份认证漏洞。
274.在一实施例中,所述处理器802,还用于:
275.在所述第一检测结果表征所述登录网页不存在验证码的情况下,利用预设的弱口令字典,对所述登录网页进行爆破;
276.在爆破成功的情况下,所述目标网络存在身份认证漏洞;在爆破失败的情况下,所述目标网络不存在身份认证漏洞。
277.在一实施例中,对所述登录网页进行爆破时,所述处理器802,还用于:
278.确定第四信息、第五信息和第六信息中的至少之一;所述第四信息包含对所述登
录网页进行爆破时所述目标网站返回的响应信息;所述第五信息表征对所述登录网页进行爆破时所述登录网页的url的变化情况;所述第六信息表征对所述登录网页进行爆破时所述登录网页呈现的文本的变化情况;
279.利用所述第四信息、第五信息和第六信息中的至少之一,判断爆破是否成功。
280.在一实施例中,对所述登录网页进行爆破时,所述处理器802,还用于通过优先遍历所述弱口令字典包含的登录密码的方式对所述登录网页进行爆破。
281.在一实施例中,对所述登录网页进行爆破时,所述处理器802,还用于:
282.根据预设的周期,周期性地通过所述通信接口801获取所述登录网页的第二信息,并将所述第二信息与预设的第三关键字集合中的关键字进行匹配;所述第二信息包含所述登录网页呈现的文本;所述第三关键字集合中的关键字与登录限制条件相关;
283.在所述第三关键字集合中存在与所述第二信息匹配的关键字的情况下,停止爆破;在所述第三关键字集合中不存在与所述第二信息匹配的关键字的情况下,继续爆破。
284.需要说明的是:所述通信接口801和处理器802的具体处理过程可参照上述方法理解,这里不再赘述。
285.当然,实际应用时,电子设备800中的各个组件通过总线系统804耦合在一起。可理解,总线系统804用于实现这些组件之间的连接通信。总线系统804除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统804。
286.本技术实施例中的存储器803用于存储各种类型的数据以支持电子设备800的操作。这些数据的示例包括:用于在电子设备800上操作的任何计算机程序。
287.上述本技术实施例揭示的方法可以应用于处理器802中,或者由处理器802实现。处理器802可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器802可以是通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器802可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器803,处理器802读取存储器803中的信息,结合其硬件完成前述方法的步骤。
288.在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)、通用处理器、控制器、微控制器(mcu,micro controller unit)、微处理器(microprocessor)、或者其他电子元件实现,用于执行前述方法。
289.可以理解,本技术实施例的存储器803可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除
可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器旨在包括但不限于这些和任意其他适合类型的存储器。
290.在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器803,上述计算机程序可由电子设备800的处理器802执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
291.需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
292.另外,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
293.以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献