网站管理脚本安全认证的方法及系统转让专利

申请号 : CN202011309038.9

文献号 : CN112131512B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 施凡张旻郑敬华马慧敏李振汉宁剑胡淼

申请人 : 中国人民解放军国防科技大学

摘要 :

本发明提出一种网站管理脚本安全认证的方法及系统,所述方法包括:基于网站管理脚本的功能点数量及网站管理脚本的功能点概率分布,确定因子开关的预设数量及因子开关的添加位置;添加预设数量的因子开关改造网站管理脚本,所述因子开关为网站管理脚本的授权认证;测试添加因子开关改造后网站管理脚本的使用功能;构建加密算法库,按照设定的加密重数对网站管理脚本中的因子开关进行多重加密;输出完成因子开关多重加密的网站管理脚本,并测试网站管理脚本的使用功能,完成网站管理脚本改造。本发明提高了网站管理脚本口令认证的复杂度;实现在未获源码的情况下,难以暴力破解的目的,提高了网站管理脚本的安全性。

权利要求 :

1.一种网站管理脚本安全认证的方法,其特征在于,所述方法包括如下步骤:获取并解析网站管理脚本,从中解析所述网站管理脚本的功能点;

统计所述网站管理脚本的功能点数量及各功能点的分布;

根据所述各功能点的分布确定所述网站管理脚本的功能点概率分布;

基于所述网站管理脚本的功能点数量及所述网站管理脚本的功能点概率分布,确定因子开关的预设数量及因子开关的添加位置;

添加预设数量的因子开关改造网站管理脚本,所述因子开关为网站管理脚本的授权认证;

测试添加因子开关改造后网站管理脚本的使用功能;

构建加密算法库,从加密算法库中选择适合的加密算法,按照设定的加密重数对网站管理脚本中的因子开关进行多重加密;

输出完成因子开关多重加密的网站管理脚本,并测试网站管理脚本的使用功能,完成网站管理脚本改造。

2.根据权利要求1所述的网站管理脚本安全认证的方法,其特征在于,所述加密算法库包括md5加密算法、crypt加密算法、base64加密算法、sha1加密算法、sha256加密算法中的一种或多种。

3.根据权利要求2所述的网站管理脚本安全认证的方法,其特征在于,所述加密算法库还包括自定义加密算法,将自定义设置的加密算法加入到加密算法库中,自定义加密算法包括基于切片索引的改进型md5加密算法。

4.根据权利要求1所述的网站管理脚本安全认证的方法,其特征在于,在测试添加因子开关改造后网站管理脚本的使用功能时,当因子开关输入正确,才能完成对网站的授权访问,从而利用网站管理脚本执行命令,否则,无法正常访问网站。

5.根据权利要求1所述的网站管理脚本安全认证的方法,其特征在于,所述测试网站管理脚本的使用功能是通过编写好的测试程序,在设定参数下,发送验证数据包,接收反馈信息来检验网站管理脚本原有功能;

如果测试程序在设定参数下,发送验证数据包,接收反馈信息不正确,则说明网站管理脚本原有功能不正常,因此认为因子开关和加密算法功能不正常;

如果测试程序在设定参数下,发送验证数据包,接收反馈信息正确,则说明网站管理脚本原有功能正常,则认为因子开关和加密算法功能正常。

6.根据权利要求1所述的网站管理脚本安全认证的方法,其特征在于,所述因子开关以参数形式存在,用于访问网站管理脚本的授权认证,当输入的因子开关正确,且因子开关传入参数正确时,能使用网站管理脚本的正常功能。

7.一种网站管理脚本安全认证的系统,其特征在于,包括:

因子开关配置模块、因子开关设置模块、加密算法库、第一网站管理脚本功能测试模块、多重加密模块、第二网站管理脚本功能测试模块;

所述因子开关配置模块获取并解析网站管理脚本,从中解析所述网站管理脚本的功能点;统计所述网站管理脚本的功能点数量及各功能点的分布;根据所述各功能点的分布确定所述网站管理脚本的功能点概率分布;基于所述网站管理脚本的功能点数量及所述网站管理脚本的功能点概率分布,确定因子开关的预设数量及因子开关的添加位置;

所述因子开关设置模块通过预设数量的因子开关改造网站管理脚本,完成对网站管理脚本的授权认证;

所述第一网站管理脚本功能测试模块用于对完成所述因子开关设置模块对网站管理脚本添加因子开关的改造进行测试,判断网站管理脚本的使用功能;

所述加密算法库存储一种或多种加密算法,所述加密算法包括预设加密算法和自定义加密算法;

所述多重加密模块从所述加密算法库中选择适合的加密算法,按照设定的加密重数对所述因子开关设置模块预设的网站管理脚本中的因子开关进行多重加密;

所述第二网站管理脚本功能测试模块用于对所述多重加密模块对网站管理脚本中的因子开关进行多重加密的改造进行测试,判断网站管理脚本的使用功能。

8.根据权利要求7所述的网站管理脚本安全认证的系统,其特征在于,所述预设加密算法包括:md5加密算法、crypt加密算法、base64加密算法、sha1加密算法、sha256加密算法、基于切片索引的改进型md5加密算法中的一种或多种。

9.根据权利要求7所述的网站管理脚本安全认证的系统,其特征在于,所述第一网站管理脚本功能测试模块与所述第二网站管理脚本功能测试模块通过编写好的测试程序,分别在设定参数下,发送验证数据包,接收反馈信息来检验网站管理脚本原有功能。

说明书 :

网站管理脚本安全认证的方法及系统

技术领域

[0001] 本发明属网络安全技术领域,特别涉及一种网站管理脚本安全认证的方法及系统。

背景技术

[0002] 随着现代信息网络技术的迅猛发展和普遍应用,政治、经济、科技、军事等信息越来越依赖于信息网络系统进行存储、处理、传输,与此同时,Web技术也在不断的发展与更新换代。Web应用于各行各业,范围广泛。Web站点作为重要的互联网应用,既是承载着事关国计民生的重要服务,又是连接关键业务网的重要入口。
[0003] Web站点设计者在设计网站的同时,也承担着对网站的运维和管理,虽然网站本身有着自己的管理后台,但为了提高网站的安全性,管理后台的权限相对比较低,缺少文件操作、数据库管理、命令行控制等功能。Web站点设计者通常都会在Web站点上安放网站管理脚本,这样能够快捷的对网站功能进行检测,便于修改网站代码。但也暴露了一些安全问题,主要表现在以下几个方面:
[0004] 1、网站管理脚本无安全加密措施。这种脚本网站管理员能够访问的同时,其他人也能访问。一旦被检测扫描到,便可以直接进行非授权接入和访问,导致其他人可以直接控制网站管理脚本所在的Web服务器。
[0005] 2、网站管理脚本存在简单的加密措施。此类脚本通过口令字典、社会工程学或者分布式暴力破解等方法,均可以完成密码破解,通过获得的口令完成对网站管理脚本的非授权接入与控制。
[0006] 因此,目前迫切需要本领域技术人员解决的一个技术问题就是:如何能够创新的提出一种有效的网站管理脚本安全认证的方法,克服现有技术的缺陷,满足实际应用中的更多需求。

发明内容

[0007] 本申请实施例的目的是提出一种网站管理脚本安全认证方法,旨在提高网站管理脚本使用的安全性,通过构建多重加密和设置多因子开关的安全访问控制机制,确保网站管理脚本的授权访问,防止网站管理脚本被其他人未授权接入和使用。通过所述网站管理脚本的功能点数量及所述网站管理脚本的功能点概率分布,确定因子开关的预设数量及因子开关的添加位置,使得因子开关的数量和设置位置合理,确保网站管理脚本的安全性及使用速度。
[0008] 为解决上述技术问题,本申请实施例是这样实现的:
[0009] 根据本申请实施例的第一方面,提出了一种网站管理脚本安全认证的方法,所述方法包括:
[0010] 获取并解析网站管理脚本,从中解析所述网站管理脚本的功能点;
[0011] 统计所述网站管理脚本的功能点数量及各功能点的分布;
[0012] 根据所述各功能点的分布确定所述网站管理脚本的功能点概率分布;
[0013] 基于所述网站管理脚本的功能点数量及所述网站管理脚本的功能点概率分布,确定因子开关的预设数量及因子开关的添加位置;
[0014] 添加预设数量的因子开关改造网站管理脚本,所述因子开关为网站管理脚本的授权认证;
[0015] 测试添加因子开关改造后网站管理脚本的使用功能;
[0016] 构建加密算法库,从加密算法库中选择适合的加密算法,按照设定的加密重数对网站管理脚本中的因子开关进行多重加密;
[0017] 输出完成因子开关多重加密的网站管理脚本,并测试网站管理脚本的使用功能,完成网站管理脚本改造。
[0018] 基于本发明的网站管理脚本安全认证的方法的另一个实施例中,所述加密算法库包括md5加密算法、crypt加密算法、base64加密算法、sha1加密算法、sha256加密算法中的一种或多种。
[0019] 基于本发明的网站管理脚本安全认证的方法的另一个实施例中,所述加密算法库还包括自定义加密算法,将自定义设置的加密算法加入到加密算法库中,自定义加密算法包括基于切片索引的改进型md5加密算法。
[0020] 基于本发明的网站管理脚本安全认证的方法的另一个实施例中,在测试添加因子开关改造后网站管理脚本的使用功能时,当因子开关输入正确,才能完成对网站的授权访问,从而利用网站管理脚本执行命令,否则,无法正常访问网站。
[0021] 基于本发明的网站管理脚本安全认证的方法的另一个实施例中,所述测试网站管理脚本的使用功能是通过编写好的测试程序,在设定参数下,发送验证数据包,接收反馈信息来检验网站管理脚本原有功能;
[0022] 如果测试程序在设定参数下,发送验证数据包,接收反馈信息不正确,则说明网站管理脚本原有功能不正常,因此认为因子开关和加密算法功能不正常;
[0023] 如果测试程序在设定参数下,发送验证数据包,接收反馈信息正确,则说明网站管理脚本原有功能正常,则认为因子开关和加密算法功能正常。
[0024] 基于本发明的网站管理脚本安全认证的方法的另一个实施例中,所述因子开关以参数形式存在,用于访问网站管理脚本的授权认证,当输入的因子正确,且因子传入参数正确时,能使用网站管理脚本的正常功能。
[0025] 基于本发明实施例的另一个方面,公开一种网站管理脚本安全认证的系统,包括:
[0026] 因子开关配置模块、因子开关设置模块、加密算法库、第一网站管理脚本功能测试模块、多重加密模块、第二网站管理脚本功能测试模块;
[0027] 所述因子开关配置模块获取并解析网站管理脚本,从中解析所述网站管理脚本的功能点;统计所述网站管理脚本的功能点数量及各功能点的分布;根据所述各功能点的分布确定所述网站管理脚本的功能点概率分布;基于所述网站管理脚本的功能点数量及所述网站管理脚本的功能点概率分布,确定因子开关的预设数量及因子开关的添加位置;
[0028] 所述因子开关设置模块通过预设数量的因子开关改造网站管理脚本,完成对网站管理脚本的授权认证;
[0029] 所述第一网站管理脚本功能测试模块用于对完成所述因子开关设置模块对网站管理脚本添加因子开关的改造进行测试,判断网站管理脚本的使用功能;
[0030] 所述加密算法库存储一种或多种加密算法,所述加密算法包括预设加密算法和自定义加密算法;
[0031] 所述多重加密模块从所述加密算法库中选择适合的加密算法,按照设定的加密重数对所述因子开关设置模块预设的网站管理脚本中的因子开关进行多重加密;
[0032] 所述第二网站管理脚本功能测试模块用于对所述多重加密模块对网站管理脚本中的因子开关进行多重加密的改造进行测试,判断网站管理脚本的使用功能。
[0033] 基于本发明的网站管理脚本安全认证的系统的另一个实施例中,所述预设加密算法包括:md5加密算法、crypt加密算法、base64加密算法、sha1加密算法、sha256加密算法、基于切片索引的改进型md5加密算法中的一种或多种。
[0034] 基于本发明的网站管理脚本安全认证的系统的另一个实施例中,所述第一网站管理脚本功能测试模块与所述第二网站管理脚本功能测试模块通过编写好的测试程序,分别在设定参数下,发送验证数据包,接收反馈信息来检验网站管理脚本原有功能。
[0035] 本发明主要用于提高网站管理脚本的安全性,通过多重加密,提高网站管理脚本口令认证的复杂度;通过设置多因子开关,在通信认证上提高安全性,实现在未获源码的情况下,难以进行暴力破解的目的,本发明在多种网站管理脚本中进行了实验和验证,极大提高了网站管理脚本的安全性。通过所述网站管理脚本的功能点数量及所述网站管理脚本的功能点概率分布,确定因子开关的预设数量及因子开关的添加位置,使得因子开关的数量和设置位置合理,确保网站管理脚本的安全性及使用速度。

附图说明

[0036] 图1示出了根据本申请的一些实施例提供的网站管理脚本安全认证的系统的结构示意图;
[0037] 图2示出了根据本申请的一些实施例提供的网站管理脚本安全认证的方法的实现流程示意图。
[0038] 图中,1因子开关设置模块、2加密算法库、3第一网站管理脚本功能测试模块、4多重加密模块、5第二网站管理脚本功能测试模块、6因子开关配置模块。

具体实施方式

[0039] 以下结合附图对本发明的具体实施方式作出详细说明。
[0040] 图1示出了根据本申请的一些实施例提供的网站管理脚本安全认证的系统的结构示意图,结合图1对示例实施例中的网站管理脚本安全认证的系统进行详细的说明。网站管理脚本安全认证的系统包括:
[0041] 因子开关设置模块1、加密算法库2、第一网站管理脚本功能测试模块3、多重加密模块4、第二网站管理脚本功能测试模块5、因子开关配置模块6;
[0042] 所述因子开关配置模块6获取并解析网站管理脚本,从中解析所述网站管理脚本的功能点;统计所述网站管理脚本的功能点数量及各功能点的分布;根据所述各功能点的分布确定所述网站管理脚本的功能点概率分布;基于所述网站管理脚本的功能点数量及所述网站管理脚本的功能点概率分布,确定因子开关的预设数量及因子开关的添加位置。
[0043] 本实施例中,因子开关配置模块6通过对网站管理脚本的解析,确定网站管理脚本的全部功能点,再对全部功能点计数,并记录各功能点的分布情况,例如,某个功能点i与其他功能点的间隔、紧密程度、相关程度;通过所述各功能点的分布确定出该网站管理脚本的功能点的概率分布情况。再基于功能点的数量确定因子开关的预设数量,可以预设功能点数量与因子开关个数的对应关系,例如,每10个功能点设置一个因子开关,或在功能点数量达到一个量级时,增加若干因子开关;基于网站管理脚本的功能点概率分布,例如,可以在一窗口内,功能点分布密集程度超过预设阈值时,在该窗口内的各功能点之间均匀添加因子开关。
[0044] 所述因子开关设置模块1通过预设数量的因子开关改造网站管理脚本,完成对网站管理脚本的授权认证;
[0045] 所述第一网站管理脚本功能测试模块3用于对完成所述因子开关设置模块1对网站管理脚本添加因子开关的改造进行测试,判断网站管理脚本的使用功能
[0046] 所述加密算法库2存储一种或多种加密算法,所述加密算法包括预设加密算法和自定义加密算法;
[0047] 所述多重加密模块4从所述加密算法库2中选择适合的加密算法,按照设定的加密重数对所述因子开关设置模块1预设的网站管理脚本中的因子开关进行多重加密;
[0048] 所述第二网站管理脚本功能测试模块5用于对所述多重加密模块4对网站管理脚本中的因子开关进行多重加密的改造进行测试,判断网站管理脚本的使用功能。
[0049] 所述预设加密算法包括:md5加密算法、crypt加密算法、base64加密算法、sha1加密算法、sha256加密算法、基于切片索引的改进型md5加密算法中的一种或多种。
[0050] 所述第一网站管理脚本功能测试模块3与所述第二网站管理脚本功能测试模块5通过编写好的测试程序,分别在设定参数下通过发送验证数据包,接收反馈信息来检验网站管理脚本原有功能是否正常。
[0051] 图2示出了根据本申请的一些实施例提供的网站管理脚本安全认证的方法的实现流程示意图,结合图2对示例实施例中的网站管理脚本安全认证的方法进行详细的说明。网站管理脚本安全认证的方法包括:
[0052] 01,获取并解析网站管理脚本,从中解析所述网站管理脚本的功能点;
[0053] 统计所述网站管理脚本的功能点数量及各功能点的分布;
[0054] 根据所述各功能点的分布确定所述网站管理脚本的功能点概率分布;
[0055] 基于所述网站管理脚本的功能点数量及所述网站管理脚本的功能点概率分布,确定因子开关的预设数量及因子开关的添加位置;
[0056] 本实施例中,通过对网站管理脚本的解析,确定网站管理脚本的全部功能点,再对全部功能点计数,并记录各功能点的分布情况,例如,某个功能点i与其他功能点的间隔、紧密程度、相关程度;通过所述各功能点的分布确定出该网站管理脚本的功能点的概率分布情况。再基于功能点的数量确定因子开关的预设数量,可以预设功能点数量与因子开关个数的对应关系,例如,每10个功能点设置一个因子开关,或在功能点数量达到一个量级时,增加若干因子开关;基于网站管理脚本的功能点概率分布,例如,可以在一窗口内,功能点分布密集程度超过预设阈值时,在该窗口内的各功能点之间均匀添加因子开关。
[0057] 10,添加预设数量的因子开关改造网站管理脚本,所述因子开关为网站管理脚本的授权认证;
[0058] 20,测试添加因子开关改造后网站管理脚本的使用功能;
[0059] 需要说明的是,在图2的示例实施例中,设置多因子开关的目的是提升网站管理脚本的安全性,对于构造的多个参数作为因子,当且仅当验证传递传入的参数名及参数内容正确时才能通过验证。实际应用中,因子开关以参数形式存在,用于访问网站管理脚本的授权认证,当输入的因子正确,且因子传入参数正确时,能使用网站管理脚本的正常功能。比如,设置因子开关分别为“a=h”“x=i”,则,仅当参数“a、x”同时出现,且“a=h,x=i”时才能成功利用网站管理脚本执行命令:
[0060] 。
[0061] 通过设置这种多因子开关,在不知道源代码的情况下想通过暴力猜解基本不可能,因此提升了网站管理脚本的安全性。
[0062] 对于网站管理脚本进行因子开关的构造,可参照如下方法:
[0063] 假设构造因子开关的个数为2个,则构造后的方位格式为:
[0064] http://“网站URL地址”/“网站管理脚本”  “因子开关1”=“p”&“因子开关2”=“q”。
[0065] 30,构建加密算法库2,从加密算法库2中选择适合的加密算法,按照设定的加密重数对网站管理脚本中的因子开关进行多重加密;
[0066] 需要说明的是,验证加密是将网站管理脚本的明文密码修改为其他加密验证方式。在本实施例中,以php脚本为例,分别采用md5加密算法、crypt加密算法、base64加密算法、sha1加密算法、sha256加密算法等加密算法来说明:
[0067] 采用md5加密算法:string md5 ( string $str[,bool $raw_output=false]);
[0068] 参数str为原始字符串;raw_output为可选的,如果raw_output 被设置为 TRUE,那么md5报文摘要将以16字节长度的原始二进制格式返回;
[0069] 采用crypt加密算法:crypt加密算法将字符串用UNIX的标准加密DES模块加密,这是单向的加密函数,无法解密,欲比对字符串,将已加密的字符串的头二个字符放在 salt 的参数中,再比对加密后的字符串:
[0070] string crypt(string str, string [salt]);
[0071] crypt()返回一个基于标准 UNIX DES 算法或系统上其他可用的替代算法的散列字符串;参数str 为待散列的字符串;salt为可选的盐值字符串,如果没有提供,算法行为将由不同的算法实现决定,并可能导致不可预料的结束;
[0072] base64加密算法:base64加密算法将字符串以MIME BASE64编码,设计此种编码是为了使二进制数据可以通过非纯8-bit的传输层传输,此编码方式可以让中文字或者图片也能在网络上顺利传输;
[0073] base64加密算法的语法为:string base64_encode(string data);
[0074] 它的解密函数为:string base64_decode(string encoded_data); Base64-encoded 数据要比原始数据多占用 33% 左右的空间。
[0075] 基于切片索引的改进型md5加密算法:
[0076] 加密算法:
[0077] 1. 输入所要加密的内容,对内容进行md5加密,记为cipher;
[0078] 2. 随机算子随机分配一个解析数N,对cipher进行分片操作,并对每个片段进行索引,索引序列为{0,1,2,...,N-1};
[0079] 3. 对索引序列进行重新随机排序,得到新序列random(N),例如random(N)= {0,3,1,.. N-1,N-2 }。
[0080] 4. 按照random(N),对分片进行重新排序,得到new_cipher,即为密文。
[0081] 解密算法:
[0082] 1. 接收密文,根据索引序列random(N)中的N值,对new_cipher进行分片操作;
[0083] 2. 根据索引序列random(N),对new_cipher的N个片段进行重新排序;
[0084] 3. 组合重新排序后的片段,还原为md5加密密文cipher。
[0085] 以二重加密为例进行详细说明:
[0086] 从算法库中选取加密算法A,对网站管理脚本中的因子开关进行一次加密,加密后访问格式为:
[0087] http://“网站URL地址”/“网站管理脚本”  (“因子开关1“)=“p”&A(“因子开关2”)=“q”;
[0088] 从算法库中选取加密算法B,对网站管理脚本中的因子开关进行二次加密,加密后访问格式为:
[0089] http://“网站URL地址”/“网站管理脚本”  (“A(因子开关1)”)=“p”&B(“A(因子开关2)”)=“q”。
[0090] 40,输出完成因子开关多重加密的网站管理脚本,并测试网站管理脚本的使用功能,完成网站管理脚本改造。
[0091] 对于一个网站管理脚本,设置因子开关分别为“因子开关1”“因子开关2”,多重加密后,B(“A(因子开关1)”)和 B(“A(因子开关2)”),则,仅当参数“B(“A(因子开关1)”)、B(“A(因子开关2)”)”同时出现,且“A(“因子开关1“)=“p”&A(“因子开关2”)=“q””时才能成功利用网站管理脚本执行命令。
[0092] 所述加密算法库2包括md5加密算法、crypt加密算法、base64加密算法、sha1加密算法、sha256加密算法中的一种或多种。
[0093] 所述加密算法库2还包括自定义加密算法,将自定义设置的加密算法加入到加密算法库2中、自定义加密算法包括基于切片索引的改进型md5加密算法。
[0094] 在测试添加因子开关改造后网站管理脚本的使用功能时,当因子开关输入正确,才能完成对网站的授权访问,从而利用网站管理脚本执行命令,否则,无法正常访问网站。
[0095] 所述测试网站管理脚本的使用功能是通过编写好的测试程序,在设定参数下,发送验证数据包,接收反馈信息来检验网站管理脚本原有功能;
[0096] 如果测试程序在设定参数下,发送验证数据包,接收反馈信息不正确,则说明网站管理脚本原有功能不正常,因此认为因子开关和加密算法功能不正常;
[0097] 如果测试程序在设定参数下,发送验证数据包,接收反馈信息正确,则说明网站管理脚本原有功能正常,则认为因子开关和加密算法功能正常。
[0098] 通过构建多重加密和设置多因子开关的方法,提高网站管理脚本的安全性,达到防止非授权访问和控制网站的目的。
[0099] 对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
[0100] 最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。