CN107798244B - 一种检测远程代码执行漏洞的方法及装置 - Google Patents
一种检测远程代码执行漏洞的方法及装置 Download PDFInfo
- Publication number
- CN107798244B CN107798244B CN201610808032.3A CN201610808032A CN107798244B CN 107798244 B CN107798244 B CN 107798244B CN 201610808032 A CN201610808032 A CN 201610808032A CN 107798244 B CN107798244 B CN 107798244B
- Authority
- CN
- China
- Prior art keywords
- target application
- application program
- installation directory
- webview component
- module
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种检测远程代码执行漏洞的方法及装置,方法包括:针对目标应用程序,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数;根据所述参数,启动所述Webview组件,以通过预设代理服务器访问并接收目标网页;执行所述目标网页包含的Java脚本代码;检测所述目标应用程序的安装目录中是否存在所述预设文件,如果存在,表示所述目标应用程序存在远程代码执行漏洞。应用本发明实施例,无需人为的检测远程代码执行漏洞,自动的对远程代码执行漏洞进行检测,提高了检测效率。
Description
技术领域
本发明涉及漏洞检测技术领域,特别涉及一种检测远程代码执行漏洞的方法及装置。
背景技术
漏洞是指在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,攻击者能够在未被授权的情况下通过漏洞访问或破坏系统。
远程代码执行漏洞也称远程执行代码漏洞,在用户运行应用程序时,攻击者可能会利用该远程代码执行漏洞通过远程调用的方式执行恶意程序来攻击或控制设备。
目前,针对远程代码执行漏洞的检测,主要通过人工的方式进行检测,但是通过人工检测远程代码执行漏洞,效率较低。
发明内容
本发明实施例的目的在于提供一种检测远程代码执行漏洞的方法及装置,以自动的检测远程代码执行漏洞,提高检测效率。
为达到上述目的,本发明实施例公开了一种检测远程代码执行漏洞的方法,包括:
针对目标应用程序,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数;
根据所述参数,启动所述Webview组件,以通过预设代理服务器访问并接收目标网页,其中,所述目标网页中包含所述代理服务器写入的用于向所述目标应用程序的安装目录中写入预设文件的Java脚本代码;
执行所述目标网页包含的Java脚本代码;
检测所述目标应用程序的安装目录中是否存在所述预设文件,如果存在,表示所述目标应用程序存在远程代码执行漏洞。
可选的,所述针对目标应用程序,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数,包括:
利用反编译工具将所述目标应用程序反编译成smali汇编代码文件;
解析所述smali汇编代码文件,生成程序控制流图;
对所述程序控制流图进行符号执行处理,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数。
可选的,所述反编译工具为:
APKTool。
可选的,所述根据所述参数,启动所述Webview组件,包括:
根据所述参数,调用adb shell命令启动所述Webview组件。
可选的,所述检测所述目标应用程序的安装目录中是否存在所述预设文件,包括:
调用adb shell cat命令获得所述目标应用程序的安装目录中的所有文件的文件信息;
判断所获得所有文件的文件信息中是否存在所述预设文件对应的文件信息,如果存在,表示所述目标应用程序的安装目录中存在所述预设文件。
可选的,在所述目标应用程序的安装目录中存在所述预设文件的情况下,所述方法还包括:
删除所述目标应用程序的安装目录中存在的所述预设文件。
可选的,所述删除所述目标应用程序的安装目录中存在的所述预设文件,包括:
调用adb shell rm命令删除所述目标应用程序的安装目录中存在的所述预设文件。
为达到上述目的,本发明实施例公开了一种检测远程代码执行漏洞的装置,包括:获得模块、启动模块、执行模块和检测模块,其中,
所述获得模块,用于针对目标应用程序,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数;
所述启动模块,用于根据所述获得模块获得的参数,启动所述获得模块获得的所述Webview组件,以通过预设代理服务器访问并接收目标网页,其中,所述目标网页中包含所述代理服务器写入的用于向所述目标应用程序的安装目录中写入预设文件的Java脚本代码;
所述执行模块,用于执行所述目标网页包含的Java脚本代码;
所述检测模块,用于检测所述目标应用程序的安装目录中是否存在所述预设文件,如果存在,表示所述目标应用程序存在远程代码执行漏洞。
可选的,所述获得模块,具体用于:
利用反编译工具将所述目标应用程序反编译成smali汇编代码文件;
解析所述smali汇编代码文件,生成程序控制流图;
对所述程序控制流图进行符号执行处理,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数。
可选的,所述反编译工具为:
APKTool。
可选的,所述启动模块,具体用于:
根据所述参数,调用adb shell命令启动所述Webview组件。
可选的,所述检测模块,具体用于:
调用adb shell cat命令获得所述目标应用程序的安装目录中的所有文件的文件信息;
判断所获得所有文件的文件信息中是否存在所述预设文件对应的文件信息,如果存在,表示所述目标应用程序的安装目录中存在所述预设文件。
可选的,所述装置还包括:删除模块,
所述删除模块,用于在所述目标应用程序的安装目录中存在所述预设文件的情况下,删除所述目标应用程序的安装目录中存在的所述预设文件。
可选的,所述删除模块,具体用于:
在所述目标应用程序的安装目录中存在所述预设文件的情况下,调用adb shellrm命令删除所述目标应用程序的安装目录中存在的所述预设文件。
由上述的技术方案可见,本发明实施例提供了一种检测远程代码执行漏洞的方法及装置,方法包括:针对目标应用程序,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数;根据所述参数,启动所述Webview组件,以通过预设代理服务器访问并接收目标网页,其中,所述目标网页中包含所述代理服务器写入的用于向所述目标应用程序的安装目录中写入预设文件的Java脚本代码;执行所述目标网页包含的Java脚本代码;检测所述目标应用程序的安装目录中是否存在所述预设文件,如果存在,表示所述目标应用程序存在远程代码执行漏洞。
应用本发明实施例所提供的技术方案,无需人为的检测远程代码执行漏洞,自动的对远程代码执行漏洞进行检测,提高了检测效率,并且在检测的过程中获得了启动Webview组件的参数,根据启动Webview组件的参数,启动Webview组件,保证了Webview组件的正常启动,减少了远程代码执行漏洞的漏检率。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的检测远程代码执行漏洞的方法的第一种流程示意图;
图2为本发明实施例提供的检测远程代码执行漏洞的方法的第二种流程示意图;
图3为本发明实施例提供的检测远程代码执行漏洞的装置的第一种结构示意图;
图4为本发明实施例提供的检测远程代码执行漏洞的装置的第二种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术问题,本发明实施例提供了一种检测远程代码执行漏洞的方法及装置。下面首先对本发明实施例所提供的一种检测远程代码执行漏洞的方法进行介绍。
图1为本发明实施例提供的检测远程代码执行漏洞的方法的第一种流程示意图;可以包括:
S101:针对目标应用程序,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数;
S102:根据所述参数,启动所述Webview组件,以通过预设代理服务器访问并接收目标网页;
其中,所述目标网页中包含所述代理服务器写入的用于向所述目标应用程序的安装目录中写入预设文件的Java脚本代码;
S103:执行所述目标网页包含的Java脚本代码;
S104:检测所述目标应用程序的安装目录中是否存在所述预设文件,如果存在,表示所述目标应用程序存在远程代码执行漏洞。
需要说明的是,本发明实施例优选实用于用于检测远程代码执行漏洞的计算机。
示例性的,假设目标应用程序为A,针对目标应用程序A获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数,可以利用反编译工具将目标应用程序A反编译成smali汇编代码文件;解析所述smali汇编代码文件,生成程序控制流图;对所述程序控制流图进行符号执行处理,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数。
具体的,在实际应用中,应用程序也即为APK(AndroidPackage,安卓安装包),该反编译工具可以为APKTool,其中,APKTool是谷歌公司提供的APK编译工具,能够反编译及回编译apk。解析smali汇编代码文件,生成程序控制流图可以使用smali语法对smali汇编代码文件进行解析生成程序控制流图,其中,控制流图CFG(Control flow graph)是用在编译器中的一个抽象数据结构。它是一个过程或程序的抽象表现,由编译器在内部维护。符号执行是使用符号值代替真实值执行的一种技术,目前符号执行可以分为传统的符号执行、动态符号执行和选择性符号执行。其中,传统的符号执行并不真实的执行,而是通过解析程序通过符号值模拟执行。动态符号执行结合了真实执行和传统符号执行技术的优点,在真实执行的过程中同时进行符号执行。选择性符号执行可以对程序员感兴趣的部分进行符号执行,其它的部分使用真实值执行。其中,对程序控制流图进行符号执行处理,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数为现有技术,本发明实施例在此不对其进行赘述。
在获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数后,可以根据所获得的参数,调用adb shell命令启动所述Webview组件。具体的,在实际应用中,可以利用漏洞检测引擎控制器调用adb shell命令启动所述Webview组件。
具体的,调用adb shell命令启动所述Webview组件命令如下:
adb shell启动所述Webview组件所需的参数。
在实际应用中,可以将计算机中安装的安卓模拟器的网络设置为代理服务器,通过代理服务器访问并接收目标网页,此时代理服务器通常被称为“中间人”,通过中间人攻击技术代理服务器获得目标网页,并在目标网页中写入可供JAVA脚本调用的JAVA对象以及用于向目标应用程序A的安装目录中写入预设文件的Java脚本代码。再将写入JAVA对象和JAVA脚本代码的代码反馈给计算机,计算机在接收到目标网页后,通过Webview组件对目标网页进行渲染,判断该目标网页中是否存在有可供JAVA脚本调用的JAVA对象,如果有,则执行用于向目标应用程序A的安装目录中写入预设文件的Java脚本代码。假设预设文件为名称为x的txt文件(简称为x),则检测目标应用程序A的安装目录中是否存在预设文件x,如果有,表示目标应用程序A存在远程代码执行漏洞。
具体的,在实际应用中,检测目标应用程序的安装目录中是否存在预设文件,可以调用adb shell cat命令获得所述目标应用程序的安装目录中的所有文件的文件信息;判断所获得所有文件的文件信息中是否存在所述预设文件对应的文件信息,如果存在,表示所述目标应用程序的安装目录中存在所述预设文件。
示例性的,调用adb shell cat命令获得所述目标应用程序的安装目录中的所有文件的文件信息命令如下:
adb shell cat目标应用程序的安装目录。
在实际应用中,文件信息可以为文件名称及类型等等。
假设调用adb shell cat命令获得目标应用程序A的安装目录中的所有文件的文件信息分别为:名称为x的txt文件、名称为y的DLL文件、名称为z的jpg文件。
则判断出所获得的所有文件的文件信息中存在预设文件x对应的文件信息,表示目标应用程序A的安装目录中存在预设文件x,进一步表示目标应用程序A存在远程代码执行漏洞。
具体的,在实际应用中,上述针对目标应用程序,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数也被称为称为静态分析过程。上述启动Webview组件、执行目标网页中的JAVA脚本代码以及检测目标应用程序的安装目录中是否存在预设文件也被称为称为动态分析过程。
需要说明的是,上述以目标应用程序A、预设文件x为例进行说明,仅为本发明的一具体实例,并不够成对本发明的限定。
应用本发明图1所示实施例,无需人为的检测远程代码执行漏洞,自动的对远程代码执行漏洞进行检测,提高了检测效率,并且在检测的过程中获得了启动Webview组件的参数,根据启动Webview组件的参数,启动Webview组件,保证了Webview组件的正常启动,减少了远程代码执行漏洞的漏检率。
图2为本发明实施例提供的检测远程代码执行漏洞的方法的第二种流程示意图;本发明图2所示实施例在图1所示实施例的基础上,增加S105:在所述目标应用程序的安装目录中存在所述预设文件的情况下,删除所述目标应用程序的安装目录中存在的所述预设文件。
示例性的,还以上述目标应用程序A、预设文件x为例进行说明。
在目标应用程序A的安装目录中存在预设文件x的情况下,删除目标应用程序A的安装目录中存在的预设文件x。
具体的,删除目标应用程序A的安装目录中存在的预设文件x,可以调用adb shellrm命令删除目标应用程序A的安装目录中存在的预设文件x。
示例性的,调用adb shell rm命令删除目标应用程序A的安装目录中存在的预设文件x如下:
adb shell
cd目标应用程序A的安装目录
rm x。
需要说明的是,上述以目标应用程序A、预设文件x为例进行说明,仅为本发明的一具体实例,并不够成对本发明的限定。
应用本发明图2所示实施例,无需人为的检测远程代码执行漏洞,自动的对远程代码执行漏洞进行检测,提高了检测效率,并且在检测的过程中获得了启动Webview组件的参数,根据启动Webview组件的参数,启动Webview组件,保证了Webview组件的正常启动,减少了远程代码执行漏洞的漏检率。并且在目标应用程序的安装目录中存在预设文件的情况下,将预设文件删除,节省了存储空间的占用,并且当程序人员对目标应用程序进行修改后,可再次对远程代码执行漏洞进行检测,避免了目标应用程序的安装目录中存在预设文件,影响再次的检测结果。
与上述的方法实施例相对应,本发明实施例还提供一种检测远程代码执行漏洞的装置。
图3为本发明实施例提供的检测远程代码执行漏洞的装置的第一种结构示意图;可以包括:获得模块201、启动模块202、执行模块203和检测模块204,其中,
获得模块201,用于针对目标应用程序,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数;
在实际应用中,本发明实施例所示的获得模块201,具体可以用于:
利用反编译工具将所述目标应用程序反编译成smali汇编代码文件;
解析所述smali汇编代码文件,生成程序控制流图;
对所述程序控制流图进行符号执行处理,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数。
具体的,在实际应用中,所述反编译工具可以为:APKTool。
启动模块202,用于根据获得模块201获得的参数,启动获得模块201获得的所述Webview组件,以通过预设代理服务器访问并接收目标网页,其中,所述目标网页中包含所述代理服务器写入的用于向所述目标应用程序的安装目录中写入预设文件的Java脚本代码;
在实际应用中,本发明实施例所示的启动模块202,具体可以用于:
根据获得模块201获得的参数,调用adb shell命令启动获得模块201获得的所述Webview组件。
执行模块203,用于执行所述目标网页包含的Java脚本代码;
检测模块204,用于检测所述目标应用程序的安装目录中是否存在所述预设文件,如果存在,表示所述目标应用程序存在远程代码执行漏洞。
在实际应用中,本发明实施例所示的检测模块204,具体可以用于:
调用adb shell cat命令获得所述目标应用程序的安装目录中的所有文件的文件信息;
判断所获得所有文件的文件信息中是否存在所述预设文件对应的文件信息,如果存在,表示所述目标应用程序的安装目录中存在所述预设文件。
应用本发明图3所示实施例,无需人为的检测远程代码执行漏洞,自动的对远程代码执行漏洞进行检测,提高了检测效率,并且在检测的过程中获得了启动Webview组件的参数,根据启动Webview组件的参数,启动Webview组件,保证了Webview组件的正常启动,减少了远程代码执行漏洞的漏检率。
图4为本发明实施例提供的检测远程代码执行漏洞的装置的第二种结构示意图,本发明图4所示实施例在图3所示实施例的基础上,增加删除模块205,其中,
删除模块205,用于在所述目标应用程序的安装目录中存在所述预设文件的情况下,删除所述目标应用程序的安装目录中存在的所述预设文件。
在实际应用中,本发明实施例所示的删除模块205,具体可以用于:
在所述目标应用程序的安装目录中存在所述预设文件的情况下,调用adb shellrm命令删除所述目标应用程序的安装目录中存在的所述预设文件。
应用本发明图4所示实施例,无需人为的检测远程代码执行漏洞,自动的对远程代码执行漏洞进行检测,提高了检测效率,并且在检测的过程中获得了启动Webview组件的参数,根据启动Webview组件的参数,启动Webview组件,保证了Webview组件的正常启动,减少了远程代码执行漏洞的漏检率。并且在目标应用程序的安装目录中存在预设文件的情况下,将预设文件删除,节省了存储空间的占用,并且当程序人员对目标应用程序进行修改后,可再次对远程代码执行漏洞进行检测,避免了目标应用程序的安装目录中存在预设文件,影响再次的检测结果。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种检测远程代码执行漏洞的方法,其特征在于,包括:
针对目标应用程序,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数;
根据所述参数,启动所述Webview组件,以通过预设代理服务器访问并接收目标网页,其中,所述目标网页中包含所述代理服务器写入的用于向所述目标应用程序的安装目录中写入预设文件的Java脚本代码;
执行所述目标网页包含的Java脚本代码;
检测所述目标应用程序的安装目录中是否存在所述预设文件,如果存在,表示所述目标应用程序存在远程代码执行漏洞。
2.根据权利要求1所述的方法,其特征在于,所述针对目标应用程序,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数,包括:
利用反编译工具将所述目标应用程序反编译成smali汇编代码文件;
解析所述smali汇编代码文件,生成程序控制流图;
对所述程序控制流图进行符号执行处理,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数。
3.根据权利要求2所述的方法,其特征在于,所述反编译工具为:
APKTool。
4.根据权利要求1所述的方法,其特征在于,所述根据所述参数,启动所述Webview组件,包括:
根据所述参数,调用adb shell命令启动所述Webview组件。
5.根据权利要求1所述的方法,其特征在于,所述检测所述目标应用程序的安装目录中是否存在所述预设文件,包括:
调用adb shell cat命令获得所述目标应用程序的安装目录中的所有文件的文件信息;
判断所获得所有文件的文件信息中是否存在所述预设文件对应的文件信息,如果存在,表示所述目标应用程序的安装目录中存在所述预设文件。
6.根据权利要求1至5任意一项所述的方法,其特征在于,在所述目标应用程序的安装目录中存在所述预设文件的情况下,所述方法还包括:
删除所述目标应用程序的安装目录中存在的所述预设文件。
7.根据权利要求6所述的方法,其特征在于,所述删除所述目标应用程序的安装目录中存在的所述预设文件,包括:
调用adb shell rm命令删除所述目标应用程序的安装目录中存在的所述预设文件。
8.一种检测远程代码执行漏洞的装置,其特征在于,包括:获得模块、启动模块、执行模块和检测模块,其中,
所述获得模块,用于针对目标应用程序,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数;
所述启动模块,用于根据所述获得模块获得的参数,启动所述获得模块获得的所述Webview组件,以通过预设代理服务器访问并接收目标网页,其中,所述目标网页中包含所述代理服务器写入的用于向所述目标应用程序的安装目录中写入预设文件的Java脚本代码;
所述执行模块,用于执行所述目标网页包含的Java脚本代码;
所述检测模块,用于检测所述目标应用程序的安装目录中是否存在所述预设文件,如果存在,表示所述目标应用程序存在远程代码执行漏洞。
9.根据权利要求8所述的装置,其特征在于,所述获得模块,具体用于:
利用反编译工具将所述目标应用程序反编译成smali汇编代码文件;
解析所述smali汇编代码文件,生成程序控制流图;
对所述程序控制流图进行符号执行处理,获得调用addJavascriptInterface接口或未调用removeJavascriptInterface接口的Webview组件以及启动所述Webview组件所需的参数。
10.根据权利要求9所述的装置,其特征在于,所述反编译工具为:
APKTool。
11.根据权利要求8所述的装置,其特征在于,所述启动模块,具体用于:
根据所述参数,调用adb shell命令启动所述Webview组件。
12.根据权利要求8所述的装置,其特征在于,所述检测模块,具体用于:
调用adb shell cat命令获得所述目标应用程序的安装目录中的所有文件的文件信息;
判断所获得所有文件的文件信息中是否存在所述预设文件对应的文件信息,如果存在,表示所述目标应用程序的安装目录中存在所述预设文件。
13.根据权利要求8至12任意一项所述的装置,其特征在于,所述装置还包括:删除模块,
所述删除模块,用于在所述目标应用程序的安装目录中存在所述预设文件的情况下,删除所述目标应用程序的安装目录中存在的所述预设文件。
14.根据权利要求13所述的装置,其特征在于,所述删除模块,具体用于:
在所述目标应用程序的安装目录中存在所述预设文件的情况下,调用adb shell rm命令删除所述目标应用程序的安装目录中存在的所述预设文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610808032.3A CN107798244B (zh) | 2016-09-07 | 2016-09-07 | 一种检测远程代码执行漏洞的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610808032.3A CN107798244B (zh) | 2016-09-07 | 2016-09-07 | 一种检测远程代码执行漏洞的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107798244A CN107798244A (zh) | 2018-03-13 |
CN107798244B true CN107798244B (zh) | 2020-09-04 |
Family
ID=61529962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610808032.3A Active CN107798244B (zh) | 2016-09-07 | 2016-09-07 | 一种检测远程代码执行漏洞的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107798244B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804882A (zh) * | 2018-06-11 | 2018-11-13 | 北京北信源信息安全技术有限公司 | 一种正版软件检测处理方法和系统 |
CN108900482B (zh) * | 2018-06-13 | 2021-04-16 | 平安科技(深圳)有限公司 | 脚本的执行方法、服务器管理系统及存储介质 |
CN114598524B (zh) * | 2022-03-07 | 2023-11-17 | 北京百度网讯科技有限公司 | 检测代理工具的方法、装置、设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793650A (zh) * | 2013-12-02 | 2014-05-14 | 北京邮电大学 | Android应用程序的静态分析方法及装置 |
CN104239784A (zh) * | 2014-09-09 | 2014-12-24 | 北京奇虎科技有限公司 | 检测系统中已安装应用的方法和客户端 |
CN104484607A (zh) * | 2014-12-16 | 2015-04-01 | 上海交通大学 | Android应用程序安全性测试的通用方法及系统 |
CN104700031A (zh) * | 2013-12-06 | 2015-06-10 | 腾讯科技(深圳)有限公司 | 防止应用操作中远程代码被执行的方法、装置及系统 |
CN105095090A (zh) * | 2015-09-16 | 2015-11-25 | 北京奇虎科技有限公司 | 应用安装包的测试方法及装置 |
US9348980B2 (en) * | 2014-07-10 | 2016-05-24 | Paul Fergus Walsh | Methods, systems and application programmable interface for verifying the security level of universal resource identifiers embedded within a mobile application |
-
2016
- 2016-09-07 CN CN201610808032.3A patent/CN107798244B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793650A (zh) * | 2013-12-02 | 2014-05-14 | 北京邮电大学 | Android应用程序的静态分析方法及装置 |
CN104700031A (zh) * | 2013-12-06 | 2015-06-10 | 腾讯科技(深圳)有限公司 | 防止应用操作中远程代码被执行的方法、装置及系统 |
US9348980B2 (en) * | 2014-07-10 | 2016-05-24 | Paul Fergus Walsh | Methods, systems and application programmable interface for verifying the security level of universal resource identifiers embedded within a mobile application |
CN104239784A (zh) * | 2014-09-09 | 2014-12-24 | 北京奇虎科技有限公司 | 检测系统中已安装应用的方法和客户端 |
CN104484607A (zh) * | 2014-12-16 | 2015-04-01 | 上海交通大学 | Android应用程序安全性测试的通用方法及系统 |
CN105095090A (zh) * | 2015-09-16 | 2015-11-25 | 北京奇虎科技有限公司 | 应用安装包的测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
WebView 远程代码执行漏洞浅析;feizhixuan46789;《https://blog.csdn.net/feizhixuan46789/article/details/49155369》;20151015;正文第1页第1段-第3页最后1段 * |
Also Published As
Publication number | Publication date |
---|---|
CN107798244A (zh) | 2018-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552610B1 (en) | Adaptive virtual machine snapshot update framework for malware behavioral analysis | |
US10397261B2 (en) | Identifying device, identifying method and identifying program | |
WO2017049800A1 (zh) | 检测应用漏洞代码的方法和装置 | |
CN105786538B (zh) | 基于安卓系统的软件升级方法和装置 | |
US11714663B2 (en) | Application environment that implements native code functionality in progressive web applications | |
WO2016019893A1 (zh) | 应用安装的方法和装置 | |
CN103778373A (zh) | 病毒检测方法及装置 | |
CN107798244B (zh) | 一种检测远程代码执行漏洞的方法及装置 | |
US8904492B2 (en) | Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus | |
US10372908B2 (en) | System and method for detecting malware in a stream of bytes | |
CN109446801B (zh) | 检测模拟器访问的方法、装置、服务器及存储介质 | |
CN114065196A (zh) | Java内存马检测方法、装置、电子设备与存储介质 | |
KR20080096518A (ko) | 해석가능한 코드를 실행시키는 것과 연관된 위험의 사정을용이하게 하는 컴퓨터 구현 방법, 컴퓨터 프로그램 제품,및 컴퓨팅 시스템 | |
CN103390129B (zh) | 检测统一资源定位符安全性的方法和装置 | |
KR102156340B1 (ko) | 웹 페이지 공격 차단 방법 및 장치 | |
US10275596B1 (en) | Activating malicious actions within electronic documents | |
KR20160001046A (ko) | 전자 장치의 악성 코드 방지 방법 및 이를 지원하는 장치 | |
KR101842263B1 (ko) | 어플리케이션에 대한 역공학 차단 방법 및 장치 | |
KR101234592B1 (ko) | 안드로이드가 탑재된 휴대 단말기에서의 웹브라우저 백신 구동 방법 | |
KR20110057297A (ko) | 악성 봇 동적 분석 시스템 및 방법 | |
CN111475763B (zh) | 网页运行方法、装置、存储介质及设备 | |
CN105653948B (zh) | 一种阻止恶意操作的方法及装置 | |
CN111382416B (zh) | 应用程序的运行识别方法、装置,终端设备及存储介质 | |
CN108664253B (zh) | 应用替换方法、装置、存储介质及电子设备 | |
CN114490103A (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 | ||
CP03 | Change of name, title or address |
Address after: 310051 Room 301, building B, building 2, No. 399, Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou fluorite Network Co.,Ltd. Address before: 7 / F, building 1, No. 700, Dongliu Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province 310000 Patentee before: HANGZHOU EZVIZ NETWORK Co.,Ltd. |
|
CP03 | Change of name, title or address |