1.一种Web服务器的注入漏洞扫描方法,其特征在于,包括:获取服务器的历史访问数据集;
对历史访问数据集进行聚类,得到含有标签的多个历史访问数据子集;
对历史访问数据子集中的历史访问地址进行解析,获得注入用模板和注入参数;
根据注入用模板和注入参数发起构建注入测试集;
执行注入测试集中的注入测试,基于注入测试的响应分析是否存在注入漏洞;
所述对历史访问数据集进行聚类,得到含有标签的多个历史访问数据子集包括:获取历史访问数据包括的请求头信息,根据请求头信息获取请求地址、请求时间、请求方式、请求参数、请求头和浏览器信息;
根据请求头和浏览器信息对请求来源进行聚类,获得聚类标签和与聚类标签对应的历史访问数据子集;
所述对历史访问数据子集中的历史访问地址进行解析,获得注入用模板和注入参数包括:对历史访问地址进行解析,获得请求地址和与请求地址对应的请求参数;所述请求参数包括可变请求参数和固定请求参数;
根据请求方式、请求头和请求时间获取请求地址之间的关系图,以及请求地址对应的请求参数之间的关联度;
在关联度大于阈值时,根据请求地址、请求头和请求方式构建注入用模板,根据请求地址设置注入用模板的注入参数;
所述关联度根据如下方式确定:
在请求地址对应的历史访问数据集获取和请求地址关联的参数;
获取出现频次最高的m个参数名称作为基准参数集;
按照和基准参数集同时出现的概率获得请求参数的关联度。
2.如权利要求1所述的一种Web服务器的注入漏洞扫描方法,其特征在于,所述基于注入测试的响应分析是否存在注入漏洞包括:根据注入测试所包含变异字段对注入测试的响应值进行分组,按照响应时长对注入测试所使用变异字段筛选变异方式的异常值,根据变异方式的异常值确定是否存在注入漏洞。
3.如权利要求2所述的一种Web服务器的注入漏洞扫描方法,其特征在于,在根据变异方式的异常值确定注入漏洞存在时,获取注入漏洞对应的参数;
根据注入漏洞对应的参数确定关联参数;
根据注入地址确定关联的请求地址;
根据关联的请求地址和关联参数构建拓展注入测试集。
4.如权利要求3所述的一种Web服务器的注入漏洞扫描方法,其特征在于,执行拓展注入测试集中的注入测试,根据拓展注入测试集所包含变异字段对拓展注入测试的响应值进行分组,按照响应时长对注入测试所使用变异字段筛选变异方式的异常值,根据变异方式的异常值确定是否存在注入漏洞。
5.一种Web服务器的注入漏洞扫描系统,包括:历史数据获取单元,获取服务器的历史访问数据集;
历史数据子集获取单元,对历史访问数据集按照来源和浏览器进行聚类,得到含有标签的多个历史访问数据子集;
注入模式匹配单元,用于对历史访问数据子集中的历史访问地址进行解析,获得注入用模板和注入参数;
注入测试集构建单元,用于根据注入用模板和注入参数发起构建注入测试集;
漏洞获取单元,用于执行注入测试集中的注入测试,基于注入测试的响应获得漏洞;
所述对历史访问数据集按照来源和浏览器进行聚类,得到含有标签的多个历史访问数据子集包括:获取历史访问数据包括的请求头信息,根据请求头信息获取请求地址、请求时间、请求方式、请求参数、请求头和浏览器信息;
根据请求头和浏览器信息对请求来源进行聚类,获得聚类标签和与聚类标签对应的历史访问数据子集;
所述对历史访问数据子集中的历史访问地址进行解析,获得注入用模板和注入参数包括:对历史访问地址进行解析,获得请求地址和与请求地址对应的请求参数;所述请求参数包括可变请求参数和固定请求参数;
根据请求方式、请求头和请求时间获取请求地址之间的关系图,以及请求地址对应的请求参数之间的关联度;
在关联度大于阈值时,根据请求地址、请求头和请求方式构建注入用模板,根据请求地址设置注入用模板的注入参数;
所述关联度根据如下方式确定:
在请求地址对应的历史访问数据集获取和请求地址关联的参数;
获取出现频次最高的m个参数名称作为基准参数集;
按照和基准参数集同时出现的概率获得请求参数的关联度。