系统命令注入漏洞检测方法和装置、设备及存储介质制造方法及图纸

技术编号:25439765 阅读:47 留言:0更新日期:2020-08-28 22:27
本申请公开了一种系统命令注入漏洞检测方法,该方法通过构造payload,将payload插入到HTTP请求中并记录payload和HTTP请求参数,将HTTP请求发送给目标操作系统,由使目标操作系统执行payload进行DNS查询,从自建DNS服务器中获取DNS查询记录,若DNS查询记录中包括特定字符串,依据HTTP请求参数确定漏洞位置,通过基于DNS通道的系统命令注入漏洞检测能够对系统命令注入漏洞进行快速检测,对目标应用程序不要求是否有回显,适用的目标更加广泛,且能够快速对漏洞进行检测减少了漏洞检测时间,提高了扫描效率,并且正确性上有稳步提高,减少了误报率和漏报率。

【技术实现步骤摘要】
系统命令注入漏洞检测方法和装置、设备及存储介质
本公开涉及计算机安全领域,尤其涉及一种系统命令注入漏洞检测方法和装置、设备及存储介质。
技术介绍
系统命令为了方便应用程序的使用者处理相关应用场景的功能,各种常见的语言都提供了命令执行相关类函数,同时调用的变量未考虑安全因素,就会执行恶意的命令调用,被攻击利用。应用中,因为是由程序拼凑命令行(包括参数)来实现调用外部程序的,因此用户也能够通过小计量来突破限制,实现调用其他外部程序。系统命令注入即能够在服务器上执行任意命令,利用系统命令注入漏洞可以根据远程攻击者的指令执行命令来对系统进行远程控制。现有技术中,系统命令注入检测是常见的漏洞检测方式之一,按照判断漏洞的方法,系统命令注入漏洞检测方法包括基于页面响应有回显的系统命令注入检测,基于时间盲注的系统命令注入漏洞检测。基于页面响应有回显的系统命令注入漏洞检测通过构造带有合适payload的请求包使当前应用程序输出特定的字符串,根据判断这个预定于的字符串来判断漏洞是否存在。当应用程序执行了系统命令不改变页面回显时,根据前面的检测方法将会判断系统命令注入漏洞不存在,导致系统命令注入漏洞的漏报。基于时间盲注的系统命令注入漏洞检测通过构造带有合适payload的请求包使当前应用程序响应时间发生改变,通过多次请求来判断页面响应耗时与带有预定于的payload请求包是否匹配来判断是否存在系统命令注入漏洞。基于时间盲注的系统命令注入漏洞检测可以不依赖响应内容来检测无回显的情况下发生的漏洞。但在实际过程中,由于网络波动造成的网络延迟将不可避免,导致采用基于时间盲注的系统命令注入漏洞检测方法也比较容易产生误报,另一方面在检测耗时上也比较多,检测效率不高。
技术实现思路
有鉴于此,本公开提出了一种系统命令注入漏洞检测方法,用于检测目标操作系统中的漏洞,包括:构造payload;其中,所述payload包含特定字符串;将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数;将所述HTTP请求发送给所述目标操作系统,由使所述目标操作系统执行所述payload进行DNS查询;从自建DNS服务器中获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置;其中,所述DNS查询记录包含所述目标操作系统进行DNS查询时得到的信息。在一种可能的实现方式中,所述构造payload包括:随机生成一组所述特定字符串;将所述特定字符串与预设域名进行拼接得到域名串;将所述域名串填充到命令中得到所述payload。在一种可能的实现方式中,将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数包括:将所述payload插入到所述HTTP请求中对应的参数中;记录所述特定字符串和所述HTTP请求参数;将所述特定字符串和所述HTTP请求参数存储到本地数据库中。在一种可能的实现方式中,从自建DNS服务器获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置包括:获取所述自建DNS服务器的DNS查询记录;提取所述DNS查询记录中的域名;若所述域名中的子字符串与所述特定字符串相同,则依据所述HTTP请求参数确定漏洞位置。在一种可能的实现方式中,若所述DNS服务器中不存在DNS查询记录,则不存在漏洞。在一种可能的实现方式中,所述命令依据所述目标操作系统的种类设定。根据本公开的另一方面,提供了一种系统命令漏洞检测装置,其特征在于,包括payload构造模块、payload插入模块、HTTP请求发送模块和漏洞位置确定模块;所述payload构造模块,被配置为构造payload;其中,所述payload包含特定字符串;所述payload插入模块,被配置为将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数;所述HTTP请求发送模块,被配置为将所述HTTP请求发送给目标操作系统,由使所述目标操作系统执行所述payload进行DNS查询;所述漏洞位置确定模块,被配置为从自建DNS服务器中获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置;其中,所述DNS查询记录包含所述目标操作系统进行DNS查询时得到的信息。在一种可能的实现方式中,所述payload构造模块包括字符串生成单元、字符串拼接单元和域名串填充单元;所述字符串生成单元,被配置为随机生成一组所述特定字符串;所述字符串拼接单元,被配置为将所述特定字符串与预设域名进行拼接得到域名串;所述域名串填充单元,被配置为将所述域名串填充到命令中得到所述payload。根据本公开的另一方面,提供了一种系统命令漏洞检测设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述可执行指令时实现前面任一所述的方法。根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现前面任一所述的方法。通过构造payload,其中,payload包含特定字符串,将payload插入到HTTP请求中并记录payload和HTTP请求参数,将HTTP请求发送给目标操作系统,由使目标操作系统执行payload进行DNS查询,从自建DNS服务器中获取DNS查询记录,若DNS查询记录中包括特定字符串,依据HTTP请求参数确定漏洞位置,其中,DNS查询记录包含目标操作系统进行DNS查询时得到的信息。通过基于DNS通道的系统命令注入漏洞检测能够对系统命令注入漏洞进行快速检测,对目标应用程序不要求是否有回显,适用的目标更加广泛,且能够快速对漏洞进行检测减少了漏洞检测时间,提高了扫描效率,并且正确性上有稳步提高,减少了误报率和漏报率。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。图1示出本公开实施例的系统命令注入漏洞检测方法的流程图;图2示出本公开实施例的系统命令注入漏洞检测方法的另一流程图;图3示出本公开实施例的系统命令注入漏洞检测装置的框图;图4示出本公开实施例的系统命令注入漏洞检测设备的框图。具体实施方式以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为本文档来自技高网
...

【技术保护点】
1.一种系统命令注入漏洞检测方法,其特征在于,用于检测目标操作系统中的漏洞,包括:/n构造payload;其中,所述payload包含特定字符串;/n将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数;/n将所述HTTP请求发送给所述目标操作系统,由使所述目标操作系统执行所述payload进行DNS查询;/n从自建DNS服务器中获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置;/n其中,所述DNS查询记录包含所述目标操作系统进行DNS查询时得到的信息。/n

【技术特征摘要】
1.一种系统命令注入漏洞检测方法,其特征在于,用于检测目标操作系统中的漏洞,包括:
构造payload;其中,所述payload包含特定字符串;
将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数;
将所述HTTP请求发送给所述目标操作系统,由使所述目标操作系统执行所述payload进行DNS查询;
从自建DNS服务器中获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置;
其中,所述DNS查询记录包含所述目标操作系统进行DNS查询时得到的信息。


2.根据权利要求1所述的方法,其特征在于,所述构造payload包括:
随机生成一组所述特定字符串;
将所述特定字符串与预设域名进行拼接得到域名串;
将所述域名串填充到命令中得到所述payload。


3.根据权利要求2所述的方法,其特征在于,将所述payload插入到HTTP请求中并记录所述payload和HTTP请求参数包括:
将所述payload插入到所述HTTP请求中对应的参数中;
记录所述特定字符串和所述HTTP请求参数;
将所述特定字符串和所述HTTP请求参数存储到本地数据库中。


4.根据权利要求3所述的方法,其特征在于,从自建DNS服务器获取DNS查询记录,若所述DNS查询记录中包括所述特定字符串,依据所述HTTP请求参数确定漏洞位置包括:
获取所述自建DNS服务器的DNS查询记录;
提取所述DNS查询记录中的域名;
若所述域名中的子字符串与所述特定字符串相同,则依据所述HTTP请求参数确定漏洞位置。


5.根据权利要求1所述的方法,其特征在于,若所述DNS服务器中不存在DNS查询记录,则不存在漏洞。

【专利技术属性】
技术研发人员:徐钟豪廖文
申请(专利权)人:北京铭图天成信息技术有限公司
类型:发明
国别省市:北京;11

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

1