CN107798244A - 一种检测远程代码执行漏洞的方法及装置 - Google Patents

一种检测远程代码执行漏洞的方法及装置 Download PDF

Info

Publication number
CN107798244A
CN107798244A CN201610808032.3A CN201610808032A CN107798244A CN 107798244 A CN107798244 A CN 107798244A CN 201610808032 A CN201610808032 A CN 201610808032A CN 107798244 A CN107798244 A CN 107798244A
Authority
CN
China
Prior art keywords
destination application
installation directory
default file
present
interfaces
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
CN201610808032.3A
Other languages
English (en)
Other versions
CN107798244B (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.)
Hangzhou fluorite Network Co.,Ltd.
Original Assignee
Hangzhou Ezviz Network 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 Hangzhou Ezviz Network Co Ltd filed Critical Hangzhou Ezviz Network Co Ltd
Priority to CN201610808032.3A priority Critical patent/CN107798244B/zh
Publication of CN107798244A publication Critical patent/CN107798244A/zh
Application granted granted Critical
Publication of CN107798244B publication Critical patent/CN107798244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

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命令删除所述目标应用程序的安装目录中存在的所述预设文件。
CN201610808032.3A 2016-09-07 2016-09-07 一种检测远程代码执行漏洞的方法及装置 Active CN107798244B (zh)

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 true CN107798244A (zh) 2018-03-13
CN107798244B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804882A (zh) * 2018-06-11 2018-11-13 北京北信源信息安全技术有限公司 一种正版软件检测处理方法和系统
CN108900482A (zh) * 2018-06-13 2018-11-27 平安科技(深圳)有限公司 脚本的执行方法、服务器管理系统及存储介质
CN114598524A (zh) * 2022-03-07 2022-06-07 北京百度网讯科技有限公司 检测代理工具的方法、装置、设备以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
FEIZHIXUAN46789: "WebView 远程代码执行漏洞浅析", 《HTTPS://BLOG.CSDN.NET/FEIZHIXUAN46789/ARTICLE/DETAILS/49155369》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804882A (zh) * 2018-06-11 2018-11-13 北京北信源信息安全技术有限公司 一种正版软件检测处理方法和系统
CN108900482A (zh) * 2018-06-13 2018-11-27 平安科技(深圳)有限公司 脚本的执行方法、服务器管理系统及存储介质
CN108900482B (zh) * 2018-06-13 2021-04-16 平安科技(深圳)有限公司 脚本的执行方法、服务器管理系统及存储介质
CN114598524A (zh) * 2022-03-07 2022-06-07 北京百度网讯科技有限公司 检测代理工具的方法、装置、设备以及存储介质
CN114598524B (zh) * 2022-03-07 2023-11-17 北京百度网讯科技有限公司 检测代理工具的方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN107798244B (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
CN106055980B (zh) 一种基于规则的JavaScript安全性检测方法
CN104834859B (zh) 一种Android应用中恶意行为的动态检测方法
WO2017049800A1 (zh) 检测应用漏洞代码的方法和装置
WO2013026320A1 (zh) 一种网页挂马检测方法及系统
US20090158385A1 (en) Apparatus and method for automatically generating SELinux security policy based on selt
CN105117645A (zh) 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法
CN103577324A (zh) 移动应用中隐私信息泄露的静态检测方法
CN105844157A (zh) 一种针对Android系统App行为的监控方法
RU2697950C2 (ru) Система и способ выявления скрытого поведения расширения браузера
CN104298534B (zh) 基于Lua语言的编程方法和装置
CN108959071B (zh) 一种基于RASP的PHP变形webshell的检测方法及系统
CN104268473B (zh) 应用程序检测方法和装置
CN105224869A (zh) 组件测试方法和装置
CN110728575A (zh) 一种电力交易平台web安全深度监控方法
CN104899016A (zh) 调用堆栈关系获取方法及装置
CN105550581A (zh) 一种恶意代码检测方法及装置
CN107577944A (zh) 基于代码语法分析器的网站恶意代码检测方法及装置
CN107798244A (zh) 一种检测远程代码执行漏洞的方法及装置
CN107103243B (zh) 漏洞的检测方法及装置
CN105760761A (zh) 软件行为分析方法和装置
CN112422581B (zh) JVM中的Webshell网页检测方法、装置及设备
CN107463485A (zh) 基于方法栈的日志获取方法、装置和终端
CN110427757A (zh) 一种Android漏洞检测方法、系统及相关装置
CN102156650A (zh) 一种实现补丁自动分析的方法及装置
CN112632547A (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
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.