CN109284147A - 一种插件适配方法和装置 - Google Patents

一种插件适配方法和装置 Download PDF

Info

Publication number
CN109284147A
CN109284147A CN201811036877.0A CN201811036877A CN109284147A CN 109284147 A CN109284147 A CN 109284147A CN 201811036877 A CN201811036877 A CN 201811036877A CN 109284147 A CN109284147 A CN 109284147A
Authority
CN
China
Prior art keywords
unit
plug
running environment
script running
current operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811036877.0A
Other languages
English (en)
Other versions
CN109284147B (zh
Inventor
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811036877.0A priority Critical patent/CN109284147B/zh
Publication of CN109284147A publication Critical patent/CN109284147A/zh
Application granted granted Critical
Publication of CN109284147B publication Critical patent/CN109284147B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种插件适配方法和装置,其中插件适配方法包括:当接收到插件启动指令时,检测当前操作系统类型;根据检测到的当前操作系统类型,启动对应的脚本运行环境;启动插件,并根据所述插件的操作指令调用所述脚本运行环境的命令行。采用本发明,能够通过检测当前操作系统类型,启动对应的脚本运行环境,进而对接收到的插件操作指令采用对应的脚本运行环境中的命令行进行处理。提升插件的兼容性和可扩展性,提升测试人员使用插件的效率。

Description

一种插件适配方法和装置
技术领域
本发明涉及数据处理领域,具体涉及一种插件适配方法和装置。
背景技术
结构化查询语言(Structured Query Language,SQL)注入常年排在十大Web安全应用程序安全漏洞之首,它通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。公司安全测试人员会对每个网站进行安全测试,SQL注入便是安全测试的重点关注漏洞之一。
由于数据包中的每个统一资源定位符(Uniform Resource Locator,URL)参数皆可能存在SQL注入,且每个网站有成千上万个数据包,由此,实现半自动化或自动化测试能极大的提高测试效率,Sqlmap4burp插件能有效的和安全测试人员最常用的测试工具burpsuite和Sqlmap结合起来,实现半自动化SQL注入的检测,其最大的优点便是能针对性的选择我们指定的数据包参数进行SQL注入检测,实现定点测试。但目前该插件只支行Windows平台,其他平台的扩展性和兼容性差,这将限制测试人员的工具使用,降低其对web端的SQL注入测试效率。
发明内容
本发明实施例提供一种插件适配方法和装置,能够通过检测当前操作系统类型,调用对应的脚本运行环境,进而对接收到的指令采用对应的脚本运行环境中的命令进行处理。提升插件的兼容性和可扩展性,提升测试人员使用插件的效率。
本发明实施例的第一方面提供了一种插件适配方法,所述插件适配方法包括:
当接收插件启动指令时,检测当前操作系统类型;
根据检测到的所述当前操作系统类型,启动对应的脚本运行环境;
启动所述插件,并根据所述插件的操作指令调用所述脚本运行环境的命令行。
在可选的情况下,所述根据检测到的所述当前操作系统类型,启动对应的脚本运行环境,包括:
当检测到操作系统是Windows时,启动windows shell脚本运行环境;
当检测到操作系统为Linux时,启动linux shell脚本运行环境;
当检测到操作系统为MAC OS时,启动osascript脚本运行环境。
在可选的情况下,所述检测当前操作系统类型包括:
确定用于获取操作系统名称的编程语言;
根据确定的所述编程语言,调用所述编程语言的内置函数获取当前操作系统信息;
根据所述操作系统信息确定所述操作系统类型。
在可选的情况下,所述插件为改进后的Sqlmap4burp插件,所述根据所述插件的操作指令调用所述脚本运行环境的命令行,包括:
获取需要进行SQL注入检测的URL参数;
将所述URL参数发送到Sqlmap工具中进行测试;
获取需要执行的Sqlmap中的指令;
从所述脚本运行环境调用用于处理所述Sqlmap中的指令的命令行。
在可选情况下,在接收插件启动指令后,检测当前操作系统类型前,所述方法还包括:
检测所述插件的编写语言是否是跨平台编写语言;
若不是,则检测当前操作系统类型与所述插件是否适配;
若适配,则启动所述插件;
若不适配,则显示报错信息,所述报错信息用于提示所述插件与所述操作系统类型不适配。
在可选情况下,所述方法还包括:
在运行所述插件的过程中,监测所述操作系统的类型是否进行了切换;
若是,则检测切换的所述操作系统类型,并启动切换的操作系统对应的脚本运行环境;
根据所述切换的操作系统对应的脚本运行环境启动与所述插件当前运行指令对应的命令,所述切换的操作系统对应的脚本运行环境与所述当前操作系统对应的脚本运行环境存在命令行映射关系,所述切换的操作系统对应的脚本运行环境的命令行可以根据所述命令行映射关系直接调用。
本发明实施例的第二方面提供了一种插件适配装置,所述插件适配装置包括:
检测单元,用于当接收插件启动指令时,检测当前操作系统类型;
启动单元,用于根据检测到的所述当前操作系统类型,调用对应的脚本运行环境;
调用单元,用于启动所述插件,并根据所述脚本运行环境调用与所述插件指令对应的命令行。
在可选情况下,所述调用单元具体用于:
当检测到操作系统是Windows时,启动windows shell脚本运行环境;
当检测到操作系统为Linux时,启动linux shell脚本运行环境;
当检测到操作系统为MAC OS时,启动osascript脚本运行环境。
在可选情况下,在所述检测当前操作系统类型方面,所述检测单元具体用于:
确定用于获取操作系统名称的编程语言;
根据确定的所述编程语言,调用所述编程语言的内置函数获取当前操作系统信息;
根据所述操作系统信息确定所述操作系统类型。
在可选情况下,所述插件为改进后的Sqlmap4burp插件,在根据所述插件的操作指令调用所述脚本运行环境的命令行方面,所述调用单元具体用于:
获取需要进行SQL注入检测的URL参数;
将所述URL参数发送到Sqlmap工具中进行测试;
获取需要执行的Sqlmap中的指令;
从所述脚本运行环境调用用于处理所述Sqlmap中的指令的命令行。
在可选情况下,所述插件适配装置还包括适配单元,具体用于:
检测所述插件的编写语言是否是跨平台编写语言;
若不是,则检测当前操作系统类型与所述插件是否适配,若适配,则启动所述插件,若不适配,则显示报错信息,所述报错信息用于提示所述插件与所述操作系统类型不适配。
在可选情况下,所述插件适配装置还包括切换单元,具体用于:
在运行所述插件的过程中,监测所述操作系统的类型是否进行了切换;
若是,则检测切换的操作系统类型,并启动切换的操作系统对应的脚本运行环境;
根据所述切换的操作系统对应的脚本运行环境启动与所述插件当前运行指令对应的命令行,所述切换的操作系统对应的脚本运行环境与所述当前操作系统对应的脚本运行环境存在命令行映射关系,所述切换的操作系统对应的脚本运行环境的命令行可以根据所述命令行映射关系直接调用。
本发明实施例第三方面提供了一种电子装置,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行第一方面任一方法中的步骤的指令。
本发明实施例第四方面提供了一种计算机可读存储介质,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面任一方法所述的步骤的指令。
可见,本申请实施例中所描述的插件适配方法,当接收插件启动指令时,检测当前操作系统类型,然后根据检测到的当前操作系统类型,启动对应的脚本运行环境,最后启动插件,并根据插件的操作指令调用脚本运行环境的命令行。在这个过程中,通过检测操作系统类型,并根据检测到的当前操作系统类型,启动对应的脚本运行环境,能够使插件兼容不同的操作系统,并启动不同的脚本运行环境,以便后续调用不同的脚本运行环境中命令行执行插件中的操作指令。提升了插件的兼容性和可扩展度,进而提升了测试人员运用插件进行SQL注入检测的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种插件适配方法流程示意图;
图2是本发明实施例提供的一种启动脚本运行环境的方法流程示意图;
图3是本发明实施例提供的另一种插件适配方法的流程示意图;
图4是本发明实施例提供的另一种插件适配方法的流程示意图;
图5是本发明实施例提供的一种电子装置的结构示意图;
图6是本发明实施例提供的一种插件适配装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的电子装置可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,UE),移动台(mobile station,MS),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为电子装置。
下面对本发明实施例进行详细介绍。
请参阅图1,图1为本发明实施例中一种插件适配方法流程示意图,如图1所示,所述插件适配方法包括:
S101、当接收插件启动指令时,检测当前操作系统类型。
通常情况下,在一个系统启动一个插件,这个插件与这个系统是适配的,否则,插件将无法被启动或被安装。但是,对于某些采用跨平台编程语言编写的插件,例如Python,PHP和JavaScript,只要具有相应的脚本运行环境并调用出该脚本运行环境,就可以使插件在不改动代码的情况下完成跨平台使用。
因此,在启动一个插件时,为了让插件能够跨平台使用,首先就需要对当前操作系统进行识别。进行操作系统识别的方法有:采用系统API函数GetVersion;调用各类编程语言的内置函数识别操作系统,例如针对Java语言,采用Java内置函数System.getProperties().getProperty("os.name");根据userAgent的值判断操作系统;使用PING命令来查看生存时间(Time To Live,TTL)来判断操作系统,例如TTL=128,识别操作系统为WINNT/2K/XP;TTL=32,识别操作系统为WIN95/98/ME;TTL=256,识别操作系统为UNIX;TTL=64,识别操作系统为LINUX。还可以对操作系统函数进行调用,若调用成功,则确定与对应的操作系统。
可选的,检测当前操作系统类型的方法包括:确定用于获取操作系统名称的编程语言;根据确定的编程语言,调用编程语言的内置函数获取当前操作系统信息;根据操作系统信息判断操作系统类型。
很多编程语言都可以用于获取操作系统相关信息,例如Java,C++,C#,VC++等,以Java语言为例,获取操作系统相关信息,并识别出操作系统名称的代码如下:
Properties prop=System.getProperties();
String os=prop.getProperty("os.name");
System.out.println(os);
os.startWith("win")||os.startWith("Win")==windows操作系统
通过System.getProperties().getProperty("os.name")即可获得操作系统名称,然后根据操作系统字符串规则,例如windows系统的开头三个字母为“win”或“Win”,即可识别出windows操作系统。同样的方法也可以识别出MAC OS操作系统和Linux操作系统。
可见,在本申请实施例中,通过确定用于获取操作系统名称的编程语言,然后编程语言对应的内置函数获取操作系统信息,进而判断操作系统类型,能够方便快捷地确定操作系统类型,提升后续进行插件启动操作的效率。
S102、根据检测到的所述当前操作系统类型,调用对应的脚本运行环境。
对于跨平台语言编写的插件,若检测到对应的操作系统类型后,就需要启动对应的脚本运行环境,以实现插件指令对应的命令行调用。脚本运行环境是指将脚本语言翻译成机器可识别的指令的环境,其中,脚本语言包括JavaScript,php,Python,VBscript和ActionScript等,对于JavaScript,其对应的脚本运行环境是Tomcat,而Php和Python则都可以通过操作系统自带的脚本运行环境进行解释。
可选的,根据检测到的当前操作系统类型,启动对应的脚本运行环境的方法包括:当检测到操作系统是Windows时,启动windows shell脚本运行环境;当检测到操作系统为Linux时,启动linux shell脚本运行环境;当检测到操作系统为MAC OS时,启动osascript脚本运行环境。
计算机壳层(Shell)是指提供使用者使用界面的软件(命令解析器),包括图形界面shell和命令行式shell,这两类shell都可以运用于Windows操作系统和Linux操作系统,包括交互式shell和非交互式shell,交互式shell等待输入命令,并且执行提交的命令。非交互式shell不与用户进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。Windows shell和Linux shell是操作系统自带的脚本解释器,可以对Php和Python等脚本语言进行解释。Osascript是与shell功能相同的运行在MACOS操作系统中的脚本运行环境,用户可通过Osascript在MAC OS对应的终端上调用程序或执行用户输入的命令。
当检测到操作系统类型时,启动相应的脚本运行环境,插件就具有了运行环境,即可正常启动并调用脚本运行环境中的命令行执行插件接收到的操作指令。
可见,在本发明实施例中,通过检测操作系统类型,然后启动不同的操作类型对应的脚本运行环境,使得插件能够在任意操作系统类型中中正常运行,提升了插件的可扩展性和兼容性,进而提升了插件的使用效率,使得测试人员能够更高效地进行漏洞检测。
另外,如果运行脚本运行环境失败,则有可能是该终端未配置相应的脚本运行环境,那么,发出提示信息,包括语音提示或文字提示,用于提示用户对脚本运行环境进行配置。
S103、启动所述插件,并根据所述脚本运行环境调用与所述插件指令对应的命令。
在对应的操作系统脚本运行环境启动成功时,即可判断插件启动成功,然后用户需要对插件进行使用,包括接收用户对插件的操作指令,然后调用脚本运行环境中的命令行以辅助插件完成用户的操作指令。
可选的,启动的插件为Sqlmap4burp插件,根据插件的操作指令调用脚本运行环境的命令行,包括:获取需要进行sql注入检测的URL参数;将URL参数发送到Sqlmap工具中进行测试;获取需要执行的Sqlmap工具中的指令,作为目标指令;从脚本运行环境调用用于处理目标指令的命令行。
具体地,Sqlmap4burp插件是将Burp Suite平台与Sqlmap工具进行整合的插件,用于使用命令行调用Sqlmap的API接口进行SQL注入的测试。Burp Suite平台是用于攻击web应用程序的集成平台,能够收集web应用程序的数据包和各类参数,Sqlmap是自动化的SQL注入渗透工具,能够检测到恶意的SQL指令。Sqlmap4burp插件是由python语言编写的,具有跨平台的特点,只要操作系统上配置了python运行环境,则插件可在不改写代码的情况下跨平台直接运行。为Sqlmap4burp插件适配了不同的操作系统并启动了插件后,获取需要检测的数据包,然后将需要检测的数据包中的URL发送到Sqlmap工具中进行检测。Sqlmap工具在进行检测时,接收用户的操作指令,然后调用脚本运行环境中对应的命令行执行这些操作指令,完成接收到的用户操作指令。
可选的,该插件适配方法还包括:在运行所述插件的过程中,监测所述操作系统的类型是否进行了切换;若是,则检测切换的所述操作系统类型,并启动切换的操作系统对应的脚本运行环境;根据所述切换的操作系统对应的脚本运行环境调用与所述插件当前运行指令对应的命令行,所述切换的操作系统对应的脚本运行环境与所述当前操作系统对应的脚本运行环境存在命令行映射关系,所述切换的操作系统对应的脚本运行环境的命令行可以根据所述命令行映射关系直接调用。
具体地,在某些情况下,同一个电子装置如个人电脑中,可能安装了多个操作系统,例如在C盘安装Windows系统,而在D盘安装了Linux系统,当Sqlmap4burp插件运行在Windows系统时,可能用户需要切换Linux系统,但同时需要保持运行Sqlmap4burp插件。因此,在运行Sqlmap4burp插件的同时,监测个人电脑是否切换操作系统,如果是,则检测将要切换成的操作系统类型,如Linux系统,并调用Linux系统对应的脚本运行环境,即linuxshell脚本运行环境。同时,为了保持Sqlmap4burp插件的运行,可以直接调用linux shell中与之前插件在windows shell中正在调用的命令。如Sqlmap4burp插件为开启状态,原本在Windows操作系统的windows shell的脚本环境中运行,启动时采用“start”命令,现在切换为Linux操作系统的linux shell脚本运行环境,启动时则采用“open”命令,那么在切换操作系统类型前,记录当前Sqlmap4burp插件调用了“start”命令,在切换操作系统类型为后,插件对应调用“open”命令。
在这个过程中,首先要建立各个不同操作系统对应的不同脚本运行环境之间命令行的映射关系表,例如linux shell的“open”命令映射为windows shell的“start”指令等。
可见,在本发明实施例中,通过建立不同的脚本运行环境的命令行之间的映射关系,使得在切换操作系统后,可以直接将插件的状态还原到其在之前的操作系统中的运行状态,减少了重新启动插件的时间,提升了插件检测漏洞的效率。
可选的,在接收插件启动指令后,检测当前操作系统类型前,该方法还包括:检测插件的编写语言是否为跨平台编写语言;若不是,则检测当前操作系统类型与插件是否适配,若适配,则启动插件;若不适配,则显示报错信息,报错信息用于提示插件与操作系统类型不适配。
具体地,如果待启动的插件的编写语言不是跨平台语言,那么只能检测该插件例如C语言,C#等,这类语言编写的插件都需要采用编译器进行编译,编译出来的可执行文件不是跨平台的,因此在Windows中编译得到的可执行文件不能在Linux系统中运行,反之亦然。确认该插件当检测到插件与当前操作系统不适配,包括操作系统不具有插件的运行环境或编译器,则显示报错信息,用于提示该插件无法启动;如果适配,则启动该插件。
可见,本申请实施例中所描述的插件适配方法,当接收插件启动指令时,检测当前操作系统类型,然后根据检测到的当前操作系统类型,启动对应的脚本运行环境,最后启动插件,并根据插件的操作指令调用脚本运行环境的命令行,用于执行插件的操作指令。在这个过程中,通过检测操作系统类型,并根据检测到的当前操作系统类型,调用对应的脚本运行环境,能够使插件兼容不同的操作系统,并调用不同的脚本运行环境,以便后续调用不同的脚本运行环境中命令行执行插件的操作指令。提升了插件的兼容性和可扩展度,进而提升了测试人员运用插件进行SQL注入检测的效率。
请参阅图2,图2是本发明实施例提供的一种启动脚本运行环境的方法流程示意图,如图所示,本实施例中的启动脚本运行环境的方法包括:
201、当接收到插件启动指令时,确定用于获取操作系统名称的编程语言;
202、根据确定的所述编程语言,调用所述编程语言的内置函数获取当前操作系统信息;
203、根据所述操作系统信息确定所述操作系统类型;
204、当确定所述当前操作系统类型是Windows时,启动windows shell脚本运行环境;
205、当确定所述当前操作系统类型为Linux时,启动linux shell脚本运行环境;
206、当确定所述当前操作系统类型为MAC OS时,启动osascript脚本运行环境。
可见,在本发明实施例中,通过确定用于获取操作系统名称的编程语言,然后编程语言对应的内置函数获取操作系统信息,进而判断操作系统类型,能够方便快捷地确定操作系统类型,提升后续进行插件启动操作的效率。
请参阅图3,图3是本发明实施例提供的另一种插件适配方法的流程示意图,如图所示,本实施例中的插件适配方法包括:
301、当接收到插件启动指令时,检测当前操作系统类型;
302、当确定所述当前操作系统类型是Windows时,启动windows shell脚本运行环境;
303、当确定所述当前操作系统类型为Linux时,启动linux shell脚本运行环境;
304、当确定所述当前操作系统类型为MAC OS时,启动osascript脚本运行环境;
305、所述插件为Sqlmap4burp插件,获取需要进行SQL注入检测的URL参数;
306、将所述URL参数发送到所述Sqlmap4burp工具中进行测试;
307、获取需要执行的所述Sqlmap4burp工具中的指令,作为目标指令;
308、从所述脚本运行环境调用用于处理所述作为目标指令的命令行;
309、在运行所述插件的过程中,监测所述操作系统的类型是否进行了切换;
310、若是,则检测切换的操作系统类型,并启动切换的操作系统对应的脚本运行环境;
311、根据所述切换的操作系统对应的脚本运行环境调用与所述插件当前运行指令对应的命令行,所述切换的操作系统对应的脚本运行环境与所述当前操作系统对应的脚本运行环境存在命令行映射关系,所述切换的操作系统对应的脚本运行环境的命令行可以根据所述命令行映射关系直接调用。
可见,本申请实施例中所描述的插件适配方法,当接收插件启动指令时,检测当前操作系统类型,然后根据检测到的当前操作系统类型,启动对应的脚本运行环境,最后启动插件,并根据插件的操作指令调用脚本运行环境的命令行。在这个过程中,根据当前操作系统类型启动对应的脚本运行环境,能够使插件兼容不同的操作系统,并启动不同的脚本运行环境,以便后续调用不同的脚本运行环境中命令行执行插件的操作指令。而通过建立不同的脚本运行环境的命令行之间的映射关系,使得在切换操作系统后,可以直接将插件的状态还原到其在之前的操作系统中的运行状态,减少了重新启动插件的时间。该方法总体上提升了插件的兼容性和可扩展度,进而提升了测试人员运用插件进行SQL注入检测的效率。
请参阅图4,图4是本发明实施例提供的另一种插件适配方法的流程示意图,如图所示,本实施例中的插件适配方法包括:
401、当接收到插件启动指令时,检测所述插件的编写语言是跨平台编写语言;
402、若是,则检测当前操作系统类型;
403、根据检测到的所述当前操作系统类型,启动对应的脚本运行环境;
404、启动所述插件,并根据所述插件的操作指令调用所述脚本运行环境的命令行;
405、若不是,则检测当前操作系统类型与所述插件是否适配;
406、若适配,则启动所述插件;
407、若不适配,则显示报错信息,所述报错信息用于提示所述插件与所述操作系统类型不适配;
可见,在本发明实施例中,首先检测插件的编写语言是否是跨平台编写语言,如果是,则检测当前操作系统类型,并进行插件和操作系统的适配,最后启动插件,如果不是,则检测当前插件的编写语言与操作系统是否适配,若适配,则启动插件,若不适配,则发出报错信息,提示当前插件与操作系统不适配。在这个过程中,为所有的插件与操作系统的适配都提供了处理方法,用于提示用户无法正确启动插件的原因,提升用户操作插件的效率,进一步提升用户采用插件进行注入检测的效率。
图5是本发明实施例提供的一种电子装置的结构示意图,如图5所示,该电子装置包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
当接收到插件启动指令时,检测当前操作系统类型;
根据检测到的所述当前操作系统类型,启动对应的脚本运行环境;
启动所述插件,并根据所述插件的操作指令调用所述脚本运行环境的命令行。
可以看出,本申请实施例中所描述的插件适配方法,当接收插件启动指令时,检测当前操作系统类型,然后根据检测到的当前操作系统类型,启动对应的脚本运行环境,最后启动插件,并根据插件的操作指令调用脚本运行环境的命令行。在这个过程中,根据当前操作系统类型启动对应的脚本运行环境,能够使插件兼容不同的操作系统,而启动不同的脚本运行环境可便于后续调用不同的脚本运行环境中命令行执行插件的操作指令。提升了插件的兼容性和可扩展度,进而提升了测试人员运用插件进行SQL注入检测的效率。
在一个可能的示例中,在所述根据检测到的所述当前操作系统类型,调用对应的脚本运行环境方面,所述程序包括用于执行以下步骤的指令:
当确定所述当前操作系统类型是Windows时,启动windows shell脚本运行环境;
当确定所述当前操作系统类型为Linux时,启动linux shell脚本运行环境;
当确定所述当前操作系统类型为MAC OS时,启动osascript脚本运行环境。
在一个可能的示例中,在所述检测当前操作系统类型方面,所述程序还包括用于执行以下步骤的指令:
确定用于获取操作系统名称的编程语言;
根据确定的所述编程语言,调用所述编程语言的内置函数获取当前操作系统信息;
根据所述操作系统信息确定所述操作系统类型。
在一个可能的示例中,所述插件为Sqlmap4burp插件,在根据所述插件的操作指令调用所述脚本运行环境的命令行方面,所述程序包括用于执行以下步骤的指令:
获取需要进行SQL注入检测的URL参数;
将所述URL参数发送到所述Sqlmap4burp工具中进行测试;
获取需要执行的所述Sqlmap4burp工具中的指令,作为目标指令;
从所述脚本运行环境调用用于处理所述作为目标指令的命令行。
在一个可能的示例中,在接收插件启动指令后,检测当前操作系统类型前,所述程序包括用于执行以下步骤的指令:
检测所述插件的编写语言是跨平台编写语言;
若不是,则检测当前操作系统类型与所述插件是否适配;
若适配,则启动所述插件;
若不适配,则显示报错信息,所述报错信息用于提示所述插件与所述操作系统类型不适配。
在一个可能的示例中,所述程序还包括用于执行以下步骤的指令:
在运行所述插件的过程中,监测所述操作系统的类型是否进行了切换;
若是,则检测切换的操作系统类型,并启动切换的操作系统对应的脚本运行环境;
根据所述切换的操作系统对应的脚本运行环境调用与所述插件当前运行指令对应的命令行,所述切换的操作系统对应的脚本运行环境与所述当前操作系统对应的脚本运行环境存在命令行映射关系,所述切换的操作系统对应的脚本运行环境的命令行可以根据所述命令行映射关系直接调用。
图6是本发明实施例中所涉及的插件适配装置600的功能单元组成框图。该插件适配装置600应用于电子装置,所述插件适配装置包括:
检测单元601,用于当接收插件启动指令时,检测当前操作系统类型;
启动单元602,用于根据检测到的所述当前操作系统类型,启动对应的脚本运行环境;
调用单元603,用于启动所述插件,并根据所述插件的操作指令调用所述脚本运行环境的命令行。
可以看出,在本发明实施例中,电子装置在接收插件启动指令时,检测当前操作系统类型,然后根据检测到的当前操作系统类型,启动对应的脚本运行环境,最后启动插件,并根据插件的操作指令调用所述脚本运行环境的命令行。在这个过程中,通过检测操作系统类型,并根据检测到的当前操作系统类型,启动对应的脚本运行环境,能够使插件兼容不同的操作系统,并调用不同的脚本运行环境,以便后续调用不同的脚本运行环境中命令执行插件中的指令。提升了插件的兼容性和可扩展度,进而提升了测试人员运用插件进行SQL注入检测的效率。
在可选情况下,所述启动单元602具体用于:
当检测到操作系统是Windows时,启动windows shell脚本运行环境;
当检测到操作系统为Linux时,启动linux shell脚本运行环境;
当检测到操作系统为MAC OS时,启动osascript脚本运行环境。
在可选情况下,在所述检测当前操作系统类型方面,所述检测单元601具体用于:
确定用于获取操作系统名称的编程语言;
根据确定的所述编程语言,调用所述编程语言的内置函数获取当前操作系统信息;
根据所述操作系统信息确定所述操作系统类型。
在可选情况下,所述插件为改进后的Sqlmap4burp插件,在根据所述插件的操作指令调用所述脚本运行环境的命令行方面,所述调用单元603具体用于:
获取需要进行SQL注入检测的URL参数;
将所述URL参数发送到所述Sqlmap4burp工具中进行测试;
获取需要执行的所述Sqlmap4burp工具中的指令,作为目标指令;
从所述脚本运行环境调用用于处理所述目标指令的命令行。
在可选情况下,所述插件适配装置还包括适配单元604,具体用于:
检测所述插件的编写语言是否是跨平台编写语言;
若不是,则检测当前操作系统类型与所述插件是否适配,若适配,则启动所述插件,若不适配,则显示报错信息,所述报错信息用于提示所述插件与所述操作系统类型不适配。
在可选情况下,所述插件适配装置还包括切换单元605,具体用于:
在运行所述插件的过程中,监测所述操作系统的类型是否进行了切换;
若是,则检测切换的操作系统类型,并启动切换的操作系统对应的脚本运行环境;
根据所述切换的操作系统对应的脚本运行环境调用与所述插件当前运行指令对应的命令行,所述切换的操作系统对应的脚本运行环境与所述当前操作系统对应的脚本运行环境存在命令行映射关系,所述切换的操作系统对应的脚本运行环境的命令行可以根据所述命令行映射关系直接调用。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括移动终端。
本发明实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括移动终端。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种插件适配方法,其特征在于,所述方法包括:
当接收到插件启动指令时,检测当前操作系统类型;
根据检测到的所述当前操作系统类型,启动对应的脚本运行环境;
启动所述插件,并根据所述插件的操作指令调用所述脚本运行环境的命令行。
2.根据权利要求1所述的方法,其特征在于,所述根据检测到的所述当前操作系统类型,启动对应的脚本运行环境,包括:
当确定所述当前操作系统类型是Windows时,启动windows shell脚本运行环境;
当确定所述当前操作系统类型为Linux时,启动linux shell脚本运行环境;
当确定所述当前操作系统类型为MAC OS时,启动osascript脚本运行环境。
3.根据权利要求2所述的方法,其特征在于,所述检测当前操作系统类型包括:
确定用于获取操作系统名称的编程语言;
根据确定的所述编程语言,调用所述编程语言的内置函数获取当前操作系统信息;
根据所述操作系统信息确定所述操作系统类型。
4.根据权利要求1-3所述的方法,其特征在于,所述插件为Sqlmap4burp插件,所述根据所述插件的操作指令调用所述脚本运行环境的命令行,包括:
获取需要进行SQL注入检测的URL参数;
将所述URL参数发送到所述Sqlmap4burp工具中进行测试;
获取需要执行的所述Sqlmap4burp工具中的指令,作为目标指令;
从所述脚本运行环境调用用于处理所述目标指令的命令行。
5.根据权利要求4所述的方法,其特征在于,在接收插件启动指令后,检测当前操作系统类型前,所述方法还包括:
检测所述插件的编写语言是跨平台编写语言;
若不是,则检测当前操作系统类型与所述插件是否适配;
若适配,则启动所述插件;
若不适配,则显示报错信息,所述报错信息用于提示所述插件与所述操作系统类型不适配。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在运行所述插件的过程中,监测所述操作系统的类型是否进行了切换;
若是,则检测切换的操作系统类型,并启动切换的操作系统对应的脚本运行环境;
根据所述切换的操作系统对应的脚本运行环境调用与所述插件当前运行指令对应的命令行,所述切换的操作系统对应的脚本运行环境与所述当前操作系统对应的脚本运行环境存在命令行映射关系,所述切换的操作系统对应的脚本运行环境的命令行可以根据所述命令行映射关系直接调用。
7.一种插件适配装置,其特征在于,所述插件适配装置包括:
检测单元,用于当接收插件启动指令时,检测当前操作系统类型;
启动单元,用于根据检测到的所述当前操作系统类型,启动对应的脚本运行环境;
调用单元,用于启动所述插件,并根据所述插件的操作指令调用所述脚本运行环境的命令行。
8.根据权利要求7所述的装置,其特征在于,所述调用单元具体用于:
当检测到操作系统是Windows时,启动windows shell脚本运行环境;
当检测到操作系统为Linux时,启动linux shell脚本运行环境;
当检测到操作系统为MAC OS时,启动osascript脚本运行环境。
9.一种电子装置,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行权利要求1-6任意方法中的步骤的指令。
10.一种计算机可读存储介质,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行权利要求1-6中任一方法所述的步骤的指令。
CN201811036877.0A 2018-09-06 2018-09-06 一种插件适配方法和装置 Active CN109284147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811036877.0A CN109284147B (zh) 2018-09-06 2018-09-06 一种插件适配方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811036877.0A CN109284147B (zh) 2018-09-06 2018-09-06 一种插件适配方法和装置

Publications (2)

Publication Number Publication Date
CN109284147A true CN109284147A (zh) 2019-01-29
CN109284147B CN109284147B (zh) 2024-02-09

Family

ID=65184168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811036877.0A Active CN109284147B (zh) 2018-09-06 2018-09-06 一种插件适配方法和装置

Country Status (1)

Country Link
CN (1) CN109284147B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782690A (zh) * 2019-04-04 2020-10-16 上海晶赞融宣科技有限公司 多源异构数据的汇聚方法及装置、存储介质、终端
CN111773733A (zh) * 2020-07-06 2020-10-16 北京思明启创科技有限公司 基于Arcade平台的编程方法、设备及存储介质
CN111913698A (zh) * 2020-08-13 2020-11-10 唐杰 一种跨平台通用型论坛社区程序的控制方法和系统
CN113050970A (zh) * 2021-04-13 2021-06-29 深圳市汉云科技有限公司 Sql数据库的插件更新方法、装置、设备及存储介质
CN113378180A (zh) * 2021-06-29 2021-09-10 平安健康保险股份有限公司 漏洞检测方法、装置、计算机设备及可读存储介质
CN113434213A (zh) * 2021-06-26 2021-09-24 赞同科技股份有限公司 一种终端的程序运行方法以及装置
JP7444728B2 (ja) 2020-08-11 2024-03-06 シャープ株式会社 電子機器、制御方法、及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779252A (zh) * 2012-06-29 2012-11-14 北京神州绿盟信息安全科技股份有限公司 漏洞扫描器及其插件调度方法
CN102830992A (zh) * 2012-07-31 2012-12-19 北京奇虎科技有限公司 插件加载方法及系统
US8650543B1 (en) * 2011-03-23 2014-02-11 Intuit Inc. Software compatibility checking
CN104391716A (zh) * 2014-11-14 2015-03-04 百度在线网络技术(北京)有限公司 基于插件的应用程序实现方法及装置
CN106155709A (zh) * 2015-03-25 2016-11-23 北京奇虎科技有限公司 插件加载方法、装置及设备
CN107944276A (zh) * 2017-10-09 2018-04-20 西安交大捷普网络科技有限公司 漏洞扫描器及其插件调度方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650543B1 (en) * 2011-03-23 2014-02-11 Intuit Inc. Software compatibility checking
CN102779252A (zh) * 2012-06-29 2012-11-14 北京神州绿盟信息安全科技股份有限公司 漏洞扫描器及其插件调度方法
CN102830992A (zh) * 2012-07-31 2012-12-19 北京奇虎科技有限公司 插件加载方法及系统
CN104391716A (zh) * 2014-11-14 2015-03-04 百度在线网络技术(北京)有限公司 基于插件的应用程序实现方法及装置
CN106155709A (zh) * 2015-03-25 2016-11-23 北京奇虎科技有限公司 插件加载方法、装置及设备
CN107944276A (zh) * 2017-10-09 2018-04-20 西安交大捷普网络科技有限公司 漏洞扫描器及其插件调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
瞿连政 等: "战术互联网中基于插件技术的设备监控方法", 计算机应用与软件, vol. 30, no. 01, pages 245 - 247 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782690A (zh) * 2019-04-04 2020-10-16 上海晶赞融宣科技有限公司 多源异构数据的汇聚方法及装置、存储介质、终端
CN111773733A (zh) * 2020-07-06 2020-10-16 北京思明启创科技有限公司 基于Arcade平台的编程方法、设备及存储介质
CN111773733B (zh) * 2020-07-06 2024-04-19 北京思明启创科技有限公司 基于Arcade平台的编程方法、设备及存储介质
JP7444728B2 (ja) 2020-08-11 2024-03-06 シャープ株式会社 電子機器、制御方法、及びプログラム
CN111913698A (zh) * 2020-08-13 2020-11-10 唐杰 一种跨平台通用型论坛社区程序的控制方法和系统
CN111913698B (zh) * 2020-08-13 2023-12-15 弗雷森斯(苏州)科技有限公司 一种跨平台通用型论坛社区程序的控制方法和系统
CN113050970A (zh) * 2021-04-13 2021-06-29 深圳市汉云科技有限公司 Sql数据库的插件更新方法、装置、设备及存储介质
CN113050970B (zh) * 2021-04-13 2023-03-10 深圳市汉云科技有限公司 Sql数据库的插件更新方法、装置、设备及存储介质
CN113434213A (zh) * 2021-06-26 2021-09-24 赞同科技股份有限公司 一种终端的程序运行方法以及装置
CN113434213B (zh) * 2021-06-26 2022-11-25 赞同科技股份有限公司 一种终端的程序运行方法以及装置
CN113378180A (zh) * 2021-06-29 2021-09-10 平安健康保险股份有限公司 漏洞检测方法、装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
CN109284147B (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
CN109284147A (zh) 一种插件适配方法和装置
CN105262627B (zh) 一种固件升级方法、装置及系统
CN107370740B (zh) 跳转拦截方法和装置
CN106294102B (zh) 应用程序的测试方法、客户端、服务器及系统
CN105808399B (zh) 一种远程调试的方法和装置
KR20080068385A (ko) 소프트웨어 테스트 시스템, 방법 및 그 방법을 실행하기위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
US20100125758A1 (en) Distributed system checker
CN109683997B (zh) 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备
KR20130108613A (ko) 프로세스 간 통신을 위한 방법, 장치 및 컴퓨터 기록 매체
CN110719199A (zh) 一种网络自动测试及故障定位方法及装置
CN105320595A (zh) 一种应用测试方法和装置
KR20160000758A (ko) 품질테스트장치 및 방법
CN105678164A (zh) 检测恶意软件的方法及装置
CN106294113A (zh) 一种基于可编程式测试服务的创建方法及装置
CN104936157A (zh) 一种手机号码绑定账号获取方法及系统
CN106203092B (zh) 一种拦截恶意程序关机的方法、装置及电子设备
CN112732587A (zh) 一种自动化测试日志的获取方法、装置、电子设备及存储介质
CN106997313B (zh) 一种应用程序的信号处理方法、系统及终端设备
US9170801B2 (en) Data card updating method, personal computer, and data card
CN109032705B (zh) 应用程序的执行方法、装置、电子设备及可读存储介质
CN105743725A (zh) 一种测试应用程序的方法和装置
CN104424098B (zh) 一种应用测试方法及装置
CN110825451A (zh) 一种小程序页面地址的配置、校验方法及装置
CN109582586B (zh) 应用程序提前联网测试方法、装置、服务器及存储介质
CN108920172B (zh) 用于语音对话平台的程序发布和调用方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant