创建方法、探测方法、装置、电子设备和可读介质与流程

文档序号:30371484发布日期:2022-06-11 00:43阅读:72来源:国知局
创建方法、探测方法、装置、电子设备和可读介质与流程

1.本发明涉及渗透测试技术领域,尤其涉及一种创建方法、探测方法、装置、电子设备和可读介质。


背景技术:

2.渗透测试(penetration test)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试能够直观的让管理人员知道自己网络所面临的问题。其中,在开发基于web的系统时,对该系统进行web渗透测试已经是一个必需的过程,web渗透测试主要是对web应用程序和相应的软硬件设备配置的安全性进行测试。因为web渗透测试是模拟黑客的行为,通常渗透者们处于完全对系统一无所知的状态,对web系统进行安全性黑盒测试。web攻击不是漫无目的的随意攻击,往往是有一定既定目标的攻击,这通常要经历以下5个步骤:信息收集、扫描、攻击、植入后门、消除痕迹等。其中web域名是信息收集中相当重要的一部分。因此,在进行web渗透测试的时候,如何生成web域名,就成为一个亟待解决的问题。


技术实现要素:

3.有鉴于此,本发明的主要目的在于提供一种创建方法、探测方法、装置、电子设备和可读介质。
4.为达到上述目的,本发明的技术方案是这样实现的:一种神经网络的创建方法,包括以下步骤:获取多个网页对应的网页内容,对每个网页内容进行以下处理:基于所述网页内容中的全部第一单词生成所述网页对应的二进制编码c1,获取所述网页中的所有下级路径对应的二进制编码c2,之后,基于全链接神经网络和sigmoid函数将所述二进制编码c1映射到所述网页内容中的每个第一单词出现的概率;创建bert神经网络,对每个网页进行以下处理:将所述网页的二进制编码c1和二进制编码c2输入到所述bert神经网络,对所述bert神经网络进行训练。
5.作为本发明实施例的一种改进,所述“获取所述网页中的所有下级路径对应的二进制编码c2”具体包括:对所述网页内容中的每个下级路径均进行以下处理:使用字符“/”将所述下级路径分割为若干第二单词,生成若干第二单词对应的二进制编码c3,二进制编码c3的长度是固定的;对所述网页内容中的所有下级路径对应的二进制编码c3进行逐位或操作,从而得到二进制编码c2。
6.作为本发明实施例的一种改进,所述“基于所述网页内容中的全部第一单词、生成所述网页对应的二进制编码c1”具体包括:获取预设词表w1,w2,...,wn,创建长度为n的二进制数b=b1b2...bn,当wi为所述所有第一单词中的一个时,bi=1,否则,bi=0;其中,n和i为自然数,1≤i≤n;二进数b=b1b2...bn为所述网页对应的二进制编码c1。
7.作为本发明实施例的一种改进,所述“生成若干第二单词对应的二进制编码c3”具体包括:获取预设词表w1,w2,...,wn,创建长度为n的二进制数c=c1c2...cn,当wi为所述若
干第二单词中的一个时,ci=1,否则,ci=0;其中,n和i为自然数,1≤i≤n;二进数c=c1c2...cn为所述网页对应的二进制编码c3。
8.作为本发明实施例的一种改进,所述bert神经网络的损失函数为:l=∑
i-[yi·
log(pi)+(1-yi)yi
·
log(1-pi)]。
[0009]
本发明实施例还提供了一种神经网络的创建装置,包括以下模块:第一内容获取模块,用于获取多个网页对应的网页内容,对每个网页内容进行以下处理:基于所述网页内容中的全部第一单词生成所述网页对应的二进制编码c1,获取所述网页中的所有下级路径对应的二进制编码c2,之后,基于全链接神经网络和sigmoid函数将所述二进制编码c1映射到所述网页内容中的每个第一单词出现的概率;网络训练模块,用于创建bert神经网络,对每个网页进行以下处理:将所述网页的二进制编码c1和二进制编码c2输入到所述bert神经网络,对所述bert神经网络进行训练。
[0010]
本发明实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序运行时执行如上述的创建方法。
[0011]
本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上述的创建方法。
[0012]
本发明实施例还提供了一种web路径探测方法,包括以下步骤:获取网页对应的网页内容,基于所述网页内容中的全部单词生成所述网页对应的二进制编码c3;执行上述的创建方法生成bert神经网络,将二进制编码c3输入所述bert神经网络得到若干下级路径。
[0013]
本发明实施例还提供了一种web路径探测装置,包括以下模块:第二内容获取模块,用于获取网页对应的网页内容,基于所述网页内容中的全部单词生成所述网页对应的二进制编码c3;执行模块,用于执行上述的建方法生成bert神经网络,将二进制编码c3输入所述bert神经网络得到若干下级路径。
[0014]
本发明实施例所提供的创建方法、探测方法、装置、电子设备和可读介质具有以下优点:本发明实施例公开了一种创建方法、探测方法、装置、电子设备和可读介质,该创建方法包括以下步骤:获取多个网页对应的网页内容,对每个网页内容进行以下处理:基于所述网页内容中的全部第一单词生成所述网页对应的二进制编码c1,获取所述网页中的所有下级路径对应的二进制编码c2,之后,基于全链接神经网络和sigmoid函数将所述二进制编码c1映射到所述网页内容中的每个第一单词出现的概率;创建bert神经网络,对每个网页进行以下处理:将所述网页的二进制编码c1和二进制编码c2输入到所述bert神经网络,对所述bert神经网络进行训练。从而能够产生web路径。
附图说明
[0015]
图1为本发明实施例提供的神经网络的创建方法的流程示意图。
具体实施方式
[0016]
以下将结合附图所示的实施方式对本发明进行详细描述。但该实施方式并不限制本发明,本领域的普通技术人员根据该实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
[0017]
以下描述和附图充分地示出本文的具体实施方案,以使本领域的技术人员能够实
践它们。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本文的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。本文中,术语“第一”、“第二”等仅被用来将一个元素与另一个元素区分开来,而不要求或者暗示这些元素之间存在任何实际的关系或者顺序。实际上第一元素也能够被称为第二元素,反之亦然。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的结构、装置或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种结构、装置或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的结构、装置或者设备中还存在另外的相同要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0018]
本文中的术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本文和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。在本文的描述中,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0019]
本发明实施例一提供了一种神经网络的创建方法,如图1所示,包括以下步骤:
[0020]
步骤101:获取多个网页对应的网页内容,对每个网页内容进行以下处理:基于所述网页内容中的全部第一单词生成所述网页对应的二进制编码c1,获取所述网页中的所有下级路径对应的二进制编码c2,之后,基于全链接神经网络和sigmoid函数将所述二进制编码c1映射到所述网页内容中的每个第一单词出现的概率;
[0021]
这里,在实际中,每个网页都有其对应的网页内容(该网页内容可以为各种语言),将该网页内容中的空格和标点符号去除,如果是英语等就可以得到英语单词了(即第一单词),如果是汉语等语言,还需要进行语义分析和词组分割,分割出词组(即第一单词)。同样,可以理解的是,在网页中往往包含有若干超链接,其中就有一些超链接是该网页的下级路径。
[0022]
为了便于神经网络的处理,可以对全部第一单词进行处理,生成所述网页对应的二进制编码c1,对所有下级路径进行处理,生成对应的二进制编码c2。
[0023]
步骤102:创建bert(bidirectional encoder representation from transformers,双向transformer的encoder)神经网络,对每个网页进行以下处理:将所述网页的二进制编码c1和二进制编码c2输入到所述bert神经网络,对所述bert神经网络进行训练。
[0024]
将二进制编码c1和二进制编码c2输入到bert神经网络中,对bert神经网络进行训练。
[0025]
在实际中,大多数下级web路径与该网站内容具有相关性,例如体育新闻板块的网站下的web路径很有可能包含各类运动相关的单词。该bert神经网络可以对网页内容以及相应的子路径进行建模,可有效提取网页内容与子路径之间潜在的语言特征信息,极大的帮助了后续的路径探测工作。
[0026]
本实施例中,所述“获取所述网页中的所有下级路径对应的二进制编码c2”具体包括:对所述网页内容中的每个下级路径均进行以下处理:使用字符“/”将所述下级路径分割为若干第二单词,生成若干第二单词对应的二进制编码c3,二进制编码c3的长度是固定的;对所述网页内容中的所有下级路径对应的二进制编码c3进行逐位或操作,从而得到二进制编码c2。这里,下级路径通常由字符“/”和若干单词组成,因此,可以使用字符“/”将下级路径分割为若干第二单词。
[0027]
本实施例中,所述“基于所述网页内容中的全部第一单词、生成所述网页对应的二进制编码c1”具体包括:获取预设词表w1,w2,...,wn,创建长度为n的二进制数b=b1b2...bn,当wi为所述所有第一单词中的一个时,bi=1,否则,bi=0;其中,n和i为自然数,1≤i≤n;二进数b=b1b2...bn为所述网页对应的二进制编码c1。这里,获取预设词表w1,w2,...,wn可以根据实际需要进行设定,比如,体育板块与财经板块的对应的预设词表w1,w2,...,wn通常是不一样的。
[0028]
本实施例中,所述“生成若干第二单词对应的二进制编码c3”具体包括:获取预设词表w1,w2,...,wn,创建长度为n的二进制数c=c1c2...cn,当wi为所述若干第二单词中的一个时,ci=1,否则,ci=0;其中,n和i为自然数,1≤i≤n;二进数c=c1c2...cn为所述网页对应的二进制编码c3。
[0029]
本实施例中,所述bert神经网络的损失函数为:l=∑
i-[yi·
log(pi)+(1-yi)yi·
log(1-pi)]。
[0030]
模型的输出为词表中每个单词出现的概率:例如我们的词表一共10000个词,那么模型的输出就是一个10000维度的向量,其中每一个维度代表了每个单词出现的概率。
[0031]
数据集中每个网页内容都对应一个标签,例如:www.sin.com.cn的网页内容对应的标签有sports.sin.com.cn,http://blog.sin.com.cn这两个,首先网页内容经过模型最后得到输出:一个10000维度的向量,之后将该向量的每个分量经过sigmoid函数映射到(0,1)之间的数值。
[0032]
因为标签为sports.sin.com.cn,ht中://blog.sin.com.cn这两个,sport与blog这两个单词在词表中。于是将sport与blog这两个词对应的one-hot向量进行或操作,得到标签(也是10000维的向量,其中只有sport与blog这两个词的索引的位置为1,其余的位置全为0),现在我们有两个10000维度的向量,其中i就是这两个10000维向量每个维度的索引,yi表示标签该位置的索引(不是1就是0),pi表示模型输出向量该位置的索引(0到1之间的数值))。
[0033]
本发明实施例二提供了一种神经网络的创建装置,包括以下模块:
[0034]
第一内容获取模块,用于获取多个网页对应的网页内容,对每个网页内容进行以下处理:基于所述网页内容中的全部第一单词生成所述网页对应的二进制编码c1,获取所述网页中的所有下级路径对应的二进制编码c2,之后,基于全链接神经网络和sigmoid函数将所述二进制编码c1映射到所述网页内容中的每个第一单词出现的概率;
[0035]
网络训练模块,用于创建bert神经网络,对每个网页进行以下处理:将所述网页的二进制编码c1和二进制编码c2输入到所述bert神经网络,对所述bert神经网络进行训练。
[0036]
本发明实施例三提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序运行时执行如实施例一中的的创建方
法。
[0037]
本发明实施例四提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如实施例一中的的创建方法。
[0038]
本发明实施例五提供了一种web路径探测方法,包括以下步骤:
[0039]
步骤1:获取网页对应的网页内容,基于所述网页内容中的全部单词生成所述网页对应的二进制编码c3;
[0040]
步骤2:执行实施例一中的创建方法生成bert神经网络,将二进制编码c3输入所述bert神经网络得到若干下级路径。
[0041]
在发明人的发明过程中,至少执行以下的实验:
[0042]
实验一、网站:https://jandan.net/;
[0043]
类别:发现/日常;
[0044]
多个下级路径:
[0045]
news=》https://jandan.net/news,
[0046]
app=》https://jandan.net/app,
[0047]
more=》https://jandan.net/more。
[0048]
探测过程:
[0049]
步骤1:爬取网站首页内容,包含相关链接及对应文字;
[0050]
步骤2:bert模型提取首页内容中关键词进行学习预测得到可能子路径,
[0051]
(1)上面网站类别属于"生活类",可以预测可能包含子路径news等常用生活类子路径;
[0052]
(2)页面内容中包含"app"、"下载"等内容,可以预测可能包含app、download等子路径;
[0053]
(3)页面内容中关键词"更多"出现频次较多,可以预测可能包含more子路径;
[0054]
步骤3:验证步骤2中可能的子路径是否真实存在,并且首页链接中并不包含这些子路径;
[0055]
步骤4:得到多个下级路径结果:news、app、more。
[0056]
实验二、网站:https://www.ifanr.com;
[0057]
类别:生活/购物;
[0058]
多个下级路径:
[0059]
news=》https://www.ifanr.com/news,
[0060]
app=》https://www.ifanr.com/app,
[0061]
coolbuy=》https://www.ifanr.com/coolbuy,
[0062]
video=》https://www.ifanr.com/video。
[0063]
探测过程:
[0064]
步骤1:爬取网站首页内容,包含相关链接及对应文字;
[0065]
步骤2:bert模型提取首页内容中关键词进行学习预测得到可能子路径,
[0066]
(1)上面网站类别属于"生活类",可以预测可能包含子路径news等常用生活类子路径;
[0067]
(2)页面内容中包含"下载客户端"等内容,可以预测可能包含app、download等子
路径;
[0068]
(3)页面内容中关键词"玩物志"、"视频"出现在导航栏,可以预测可能包含coolbuy、video等子路径。
[0069]
步骤3:验证步骤2中可能的子路径是否真实存在,并且首页链接中并不包含这些子路径;
[0070]
步骤4:得到多个下级路径结果:news、app、coolbuy、video。
[0071]
实验三、网站:https://www.qmpython.com/;
[0072]
类别:博客;
[0073]
多个下级路径:
[0074]
api/articles=》https://www.qmpython.com/api/articles,
[0075]
articles=》https://www.qmpython.com/articles,
[0076]
api=》https://www.qmpython.com/api,
[0077]
admin=》https://www.qmpython.com/admin,
[0078]
探测过程:
[0079]
步骤1:爬取网站首页内容,包含相关链接及对应文字;
[0080]
步骤2:bert模型提取首页内容中关键词进行学习预测得到可能子路径,
[0081]
(1)上面网站类别属于"博客类",可以预测可能包含articles、categories、top、rank等常用博客类子路径;
[0082]
(2)博客的构建一般都有后台管理系统,预测可能存在admin、xadmin、byadmin、backoffice、system等子路径;
[0083]
步骤3:验证步骤2中可能的子路径是否真实存在,并且首页链接中并不包含这些子路径,得到多个下级路径结果:admin、articles;
[0084]
步骤4:验证过程中发现https://www.qmpython.com/admin返回网页内容包括api、api/articles子路径;
[0085]
步骤5:再次验证是否真实存在。
[0086]
步骤6:得到最终多个下级路径结果:admin、articles、api、api/articles。
[0087]
实验四、网站:http://www.cyai.com/;
[0088]
类别:公司官网;
[0089]
多个下级路径:
[0090]
admin=》http://www.cyai.com/admin。
[0091]
探测过程:
[0092]
步骤1:爬取网站首页内容,包含相关链接及对应文字;
[0093]
步骤2:bert模型提取首页内容中关键词进行学习预测得到可能子路径;
[0094]
(1)上面网站类别属于"官网类",预测可能存在news、products、app等子路径;
[0095]
(2)网页内容包含"django"关键词,可能该网站是django框架构建的,可能会暴露后台管理系统,预测可能存在admin、xadmin、byadmin、backoffice、system等子路径;
[0096]
步骤3:验证步骤2中可能的子路径是否真实存在,并且首页链接中并不包含这些子路径;
[0097]
步骤4:得到多个下级路径结果:admin。
[0098]
实验五、网站:https://www.iplaysoft.com/;
[0099]
类别:软件资源;
[0100]
多个下级路径:
[0101]
wp-login.php=》https://www.iplaysoft.com/wp-login.php;
[0102]
探测过程:
[0103]
步骤1:爬取网站首页内容,包含相关链接及对应文字;
[0104]
步骤2:bert模型提取首页内容中关键词进行学习预测得到可能子路径,
[0105]
(1)上面网站类别属于"软件类",预测可能存在free、os等子路径;
[0106]
(2)网页内容包含"wordpress"、"php"等关键词,可能该网站是thinkphp框架构建的,可能会暴露后台管理系统,预测可能存在admin、admin/login、wp-login.php等子路径;
[0107]
步骤3:验证步骤2中可能的子路径是否真实存在,并且首页链接中并不包含这些子路径;
[0108]
步骤4:得到多个下级路径结果:wp-login.php;
[0109]
实验六
[0110]
网站:https://www.gamersky.com/;
[0111]
类别:游戏;
[0112]
多个下级路径:
[0113]
console/ps4/=》https://www.gamersky.com/console/ps4/。
[0114]
探测过程:
[0115]
步骤1:爬取网站首页内容,包含相关链接及对应文字;
[0116]
步骤2:bert模型提取首页内容中关键词进行学习预测得到可能子路径,
[0117]
(1)上面网站类别属于"游戏类",可以预测可能包含子路径game等常用游戏类子路径;
[0118]
(2)页面内容中关键词"ps5"出现次数比较多,可以预测可能包含ps5子路径;
[0119]
(3)爬虫发现网页内容中存在子路径console/ps5/预测可能存在子路径console/ps4、console/ps3;
[0120]
步骤3:验证步骤2中可能的子路径是否真实存在,并且首页链接中并不包含这些子路径;
[0121]
步骤4:得到多个下级路径结果:console/ps4。
[0122]
本发明实施例五提供了一种web路径探测装置,包括以下模块:
[0123]
第二内容获取模块,用于获取网页对应的网页内容,基于所述网页内容中的全部单词生成所述网页对应的二进制编码c3;
[0124]
执行模块,用于执行实施例一中的创建方法生成bert神经网络,将二进制编码c3输入所述bert神经网络得到若干下级路径。
[0125]
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
[0126]
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说
明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1