CN108520179B - 一种webview漏洞的处理方法和装置 - Google Patents

一种webview漏洞的处理方法和装置 Download PDF

Info

Publication number
CN108520179B
CN108520179B CN201810310764.9A CN201810310764A CN108520179B CN 108520179 B CN108520179 B CN 108520179B CN 201810310764 A CN201810310764 A CN 201810310764A CN 108520179 B CN108520179 B CN 108520179B
Authority
CN
China
Prior art keywords
target
local
protocol
callback
interface
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
Application number
CN201810310764.9A
Other languages
English (en)
Other versions
CN108520179A (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.)
Fujian Cnfol Information Technology Co Ltd
Original Assignee
Fujian Cnfol Information Technology 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 Fujian Cnfol Information Technology Co Ltd filed Critical Fujian Cnfol Information Technology Co Ltd
Priority to CN201810310764.9A priority Critical patent/CN108520179B/zh
Publication of CN108520179A publication Critical patent/CN108520179A/zh
Application granted granted Critical
Publication of CN108520179B publication Critical patent/CN108520179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种webview漏洞的处理方法和装置,涉及计算机的技术领域,包括在进行访问本地方法时,通过目标回调接口拦截目标URL;解析目标URL的协议,得到解析协议;将解析协议与预设协议进行对比,得到对比结果;在对比结果为解析协议与预设协议一致的情况下,基于目标URL调用目标本地方法,本发明缓解了现有的安卓系统的webview中的JS访问本地方法是安全性较低的技术问题。

Description

一种webview漏洞的处理方法和装置
技术领域
本发明涉及计算机的技术领域,尤其是涉及一种webview漏洞的处理方法和装置。
背景技术
在Android系统中webView漏洞的导致主要是因为webView中的JS访问本地方法存在缺陷。Android中的交互方式是通过WebView的一个方法:addJavascriptInterface(newJSObject(),"myObj");两个参数,其实就是一个映射关系,把android中的本地对象和JS中对象相关联。就意味着JS中拿到这个对象,就可以调用这个对象中所有的方法,而我们知道Android中的对象有一个公共的方法getClass()方法,而这个方法可以获取到当前类类型Class,而这个类型有一个很关键的方法就是Class.forName,这个方法可以加载一个类,这里可以加载java.lang.Runtime这个类,而这个类就可以执行本地命令了,那么就会发生危险了,比如这里可以执行命令获取本地设备的SD卡中的文件等信息,非常危险的。
发明内容
有鉴于此,本发明的目的在于提供一种webview漏洞的处理方法和装置,以缓解了现有的安卓系统的webview中的JS访问本地方法是安全性较低的技术问题。
第一方面,本发明实施例提供了一种webview漏洞的处理方法,包括:在进行访问本地方法时,通过目标回调接口拦截目标URL;解析所述目标URL的协议,得到解析协议;将所述解析协议与预设协议进行对比,得到对比结果;在对比结果为所述解析协议与所述预设协议一致的情况下,基于所述目标URL调用目标本地方法。
进一步地,所述目标回调接口包括webviewclient回调接口,通过目标回调接口拦截目标URL包括:通过所述webviewclient回调接口中的shoudoverrideURLloading回调方法拦截目标URL。
进一步地,所述目标回调接口包括webchromeclient回调接口,通过目标回调接口拦截目标URL包括:通过所述webchromeclient回调接口中的回调方法拦截目标URL。
进一步地,基于所述目标URL调用目标本地方法包括:对所述目标URL进行解析,得到解析参数;基于所述解析参数查找所述目标本地方法,并调用所述目标本地方法。
进一步地,所述方法还包括:对webview包装器中的addjavascriptinterface方法进行重新写入操作,并维护对应映射关系map,所述addjavascriptinterface方法用于实现本地java和javascript之间的交互;在webview加载页面的方法中构造本地javascript代码;控制所述本地javascript代码调用javascript方法中的prompt方法,以获取所述prompt方法传递的所述本地javascript代码中信息;将所述prompt方法传递的所述本地javascript代码中信息进行处理,得到目标文本,其中,所述目标文本中包括:预设标识信息,方法名称,方法参数;通过所述prompt方法将所述本地java的方法返回给本地javascript代码。
第二方面,本发明实施例提供了一种webview漏洞的处理装置,包括:拦截单元,用于在进行访问本地装置时,通过目标回调接口拦截目标URL;解析单元,用于解析所述目标URL的协议,得到解析协议;对比单元,用于将所述解析协议与预设协议进行对比,得到对比结果;调用单元,用于在对比结果为所述解析协议与所述预设协议一致的情况下,基于所述目标URL调用目标本地装置。
进一步地,所述目标回调接口包括webviewclient回调接口,所述拦截单元用于:通过所述webviewclient回调接口中的shoudoverrideURLloading回调装置拦截目标URL。
进一步地,所述目标回调接口包括webchromeclient回调接口,所述拦截单元还用于:通过所述webchromeclient回调接口中的回调装置拦截目标URL。
进一步地,所述调用单元用于:对所述目标URL进行解析,得到解析参数;基于所述解析参数查找所述目标本地装置,并调用所述目标本地装置。
进一步地,所述装置还用于:对webview包装器中的addjavascriptinterface装置进行重新写入操作,并维护对应映射关系map,所述addjavascriptinterface装置用于实现本地java和javascript之间的交互;在webview加载页面的装置中构造本地javascript代码;控制所述本地javascript代码调用javascript装置中的prompt装置,以获取所述prompt装置传递的所述本地javascript代码中信息;将所述prompt装置传递的所述本地javascript代码中信息进行处理,得到目标文本,其中,所述目标文本中包括:预设标识信息,装置名称,装置参数;通过所述prompt装置将所述本地java的装置返回给本地javascript代码。
在本发明实施例中,在进行访问本地方法时,通过目标回调接口拦截目标URL;首先,解析所述目标URL的协议,得到解析协议;然后,将所述解析协议与预设协议进行对比,得到对比结果;最后,在对比结果为所述解析协议与所述预设协议一致的情况下,基于所述目标URL调用目标本地方法。在本发明实施例中,通过拦截来防止触发本地的非法访问的方式,具有一定的安全性,能够缓解了现有的安卓系统的webview中的JS访问本地方法是安全性较低的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种webview漏洞的处理方法的流程图;
图2是根据本发明实施例的一种本地javascript代码的示意图;
图3是根据本发明实施例的一种webview漏洞的处理装置的示意图;
图4是根据本发明实施例的另一种webview漏洞的处理装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
根据本发明实施例,提供了一种webview漏洞的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种webview漏洞的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,在进行访问本地方法时,通过目标回调接口拦截目标URL;
步骤S104,解析所述目标URL的协议,得到解析协议;
步骤S106,将所述解析协议与预设协议进行对比,得到对比结果;
步骤S108,在对比结果为所述解析协议与所述预设协议一致的情况下,基于所述目标URL调用目标本地方法。
在本发明实施例中,在进行访问本地方法时,通过目标回调接口拦截目标URL;首先,解析所述目标URL的协议,得到解析协议;然后,将所述解析协议与预设协议进行对比,得到对比结果;最后,在对比结果为所述解析协议与所述预设协议一致的情况下,基于所述目标URL调用目标本地方法。在本发明实施例中,通过拦截来防止触发本地的非法访问的方式,具有一定的安全性,能够缓解了现有的安卓系统的webview中的JS访问本地方法是安全性较低的技术问题。
在webView的JS代码和本地代码的交互方式中,主要包括3种交互方式,分别为以下几种:
第一种,通过addJavascriptInterface方法进行添加对象映射来实现webView的JS代码和本地代码的交互,该方法是Android中最常用的方式,但是这种方式会存在风险就是背景技术中描述的漏洞问题。
第二种,利用WebViewClient接口回调方法拦截URL。
第三种,利用WebChromeClient回调接口的三个方法拦截消息。
下面将介绍上述第二种和第三种方式。
在一个可选的实施例中,如果所述目标回调接口包括webviewclient回调接口,则通过目标回调接口拦截目标URL包括如下步骤:
通过所述webviewclient回调接口中的shoudoverrideURLloading回调方法拦截目标URL。
在本发明实施例中,可以利用WebViewClient接口回调方法拦截URL(即,上述目标URL),具体地,首先添加WebViewClient回调接口,然后,在shouldOverrideURLLoading回调方法中拦截URL(即,上述目标URL),然后解析这个URL(即,上述目标URL)的协议,得到解析协议。然后,将解析协议与预设协议进行对比,如果发现是我们约定好的协议(即,预设协议),则基于所述目标URL调用目标本地方法。
在一个可选的实施例中,基于所述目标URL调用目标本地方法包括:
对所述目标URL进行解析,得到解析参数;然后,基于所述解析参数查找所述目标本地方法,并调用所述目标本地方法。
在本发明实施例中,如果确定出解析协议是预设协议,则对目标URL进行解析,得到解析参数,并基于解析参数执行具体逻辑,调用目标本地方法。
在一个可选的实施例中,如果所述目标回调接口包括webchromeclient回调接口,通过目标回调接口拦截目标URL包括如下步骤:
通过所述webchromeclient回调接口中的回调方法拦截目标URL。
在本发明实施例中,可以利用webchromeclient回调接口中的回调方法拦截URL(即,上述目标URL),具体地,首先添加webchromeclient回调接口,然后,在webchromeclient回调方法中拦截URL(即,上述目标URL),然后解析这个URL(即,上述目标URL)的协议,得到解析协议。然后,将解析协议与预设协议进行对比,如果发现是我们约定好的协议(即,预设协议),则基于所述目标URL调用目标本地方法。
在一个可选的实施例中,基于所述目标URL调用目标本地方法包括:
对所述目标URL进行解析,得到解析参数;然后,基于所述解析参数查找所述目标本地方法,并调用所述目标本地方法。
在本发明实施例中,如果确定出解析协议是预设协议,则对目标URL进行解析,得到解析参数,并基于解析参数执行具体逻辑,调用目标本地方法。
在本发明实施例中,在对webview漏洞进行分析之后,还需要对webview漏洞进行修复,具体的,修复过程描述如下:
首先,对webview包装器中的addjavascriptinterface方法进行重新写入操作,并维护对应映射关系map,所述addjavascriptinterface方法用于实现本地java和javascript之间的交互;
然后,在webview加载页面的方法中构造本地javascript代码;
接下来,控制所述本地javascript代码调用javascript方法中的prompt方法,以获取所述prompt方法传递的所述本地javascript代码中信息;
再者,将所述prompt方法传递的所述本地javascript代码中信息进行处理,得到目标文本,其中,所述目标文本中包括:预设标识信息,方法名称,方法参数;
最后,通过所述prompt方法将所述本地java的方法返回给本地javascript代码。
具体地,首先显示一个WebView的包装器,然后,重写WebView的包装器中的addJavascriptInterface方法,接下来,在内部自己维护一个对象映射关系Map,所述addjavascriptinterface方法用于实现本地java和javascript之间的交互。
然后,在WebView加载页面的方法中构造一段本地javascript代码,如图2所示。
关于这段JS代码的含义:
1、代码中的jsInterface就是要注册的对象名,它注册了两个方法,onButtonClick(arg0)和onImageClick(arg0,arg1,arg2),如果有返回值,就添加上return。
2、prompt中是约定的字符串,它包含特定的标识符MyApp:,后面包含了一串JSON字符串,它包含了方法名,参数,对象名等。
3、当JS调用onButtonClick或onImageClick时,就会回调到Java层中的onJsPrompt方法,我们再解析出方法名,参数,对象名,再反射调用方法。
4、window.jsInterface这表示在window上声明了一个Js对象,声明方法的形式是:方法名:function(参数1,参数2)。
刚开始时在当WebView正常加载URL后去加载javascript,但发现会存在问题,如果当WebView跳转到下一个页面时,之前加载的javascript就可能无效了,所以需要再次加载。这个问题经过尝试,需要在以下几个方法中加载javascript,它们是WebChromeClient和WebViewClient的方法:onLoadResource,doUpdateVisitedHistory,onPageStarted,onPageFinished,onReceivedTitle,onProgressChanged。
接下来,让本地javascript代码调用一个Javascript方法中的prompt方法,以获取所述prompt方法传递的所述本地javascript代码中信息。再者,将所述prompt方法传递的所述本地javascript代码中信息进行处理,得到目标文本,其中,所述目标文本中包括:预设标识信息,方法名称,方法参数。在Prompt方法中,我们去解析传递过来的文本,得到方法名,参数等,再通过反射机制,调用指定的方法,从而调用到Java对象的方法。
最后,可以通过prompt方法将本地java的方法返回给本地javascript代码。
通过这几步,就可以简单的修复漏洞问题,但是还是需要注意几个问题:
第一、需要过滤掉Object类的方法由于通过反射的形式来得到指定对象的方法,他会把基类的方法也会得到,最顶层的基类就是Object,所以我们为了不把getClass方法注入到Js中,所以我们需要把Object的公有方法过滤掉。这里严格说来,应该有一个需要过滤方法的列表。目前我的实现中,需要过滤的方法有:
"getClass","hashCode","notify","notifyAll","equals","toString","wait"。
第二、在Android 3.0以下,系统自己添加了一个叫searchBoxJavaBridge_的Js接口,要解决这个安全问题,我们也需要把这个接口删除,调用removeJavascriptInterface方法。这个searchBoxJavaBridge_好像是跟google的搜索框相关的。
第三、在实现过程中,需要判断系统版本是否在4.2以下,因为在4.2以上,Android修复了这个安全问题。我们只是需要针对4.2以下的系统作修复。
实施例二:
本发明实施例还提供了一种webview漏洞的处理装置,该webview漏洞的处理装置主要用于执行本发明实施例上述内容所提供的webview漏洞的处理方法,以下对本发明实施例提供的webview漏洞的处理装置做具体介绍。
图3是根据本发明实施例的一种webview漏洞的处理装置的示意图,如图3所示,该webview漏洞的处理装置主要包括拦截单元10,解析单元20,对比单元30和调用单元,其中:
拦截单元10,用于在进行访问本地装置时,通过目标回调接口拦截目标URL;
解析单元20,用于解析所述目标URL的协议,得到解析协议;
对比单元30,用于将所述解析协议与预设协议进行对比,得到对比结果;
调用单元40,用于在对比结果为所述解析协议与所述预设协议一致的情况下,基于所述目标URL调用目标本地装置。
在本发明实施例中,在进行访问本地方法时,通过目标回调接口拦截目标URL;首先,解析所述目标URL的协议,得到解析协议;然后,将所述解析协议与预设协议进行对比,得到对比结果;最后,在对比结果为所述解析协议与所述预设协议一致的情况下,基于所述目标URL调用目标本地方法。在本发明实施例中,通过拦截来防止触发本地的非法访问的方式,具有一定的安全性,能够缓解了现有的安卓系统的webview中的JS访问本地方法是安全性较低的技术问题。
可选地,所述目标回调接口包括webviewclient回调接口,所述拦截单元用于:通过所述webviewclient回调接口中的shoudoverrideURLloading回调装置拦截目标URL。
可选地,所述目标回调接口包括webchromeclient回调接口,所述拦截单元还用于:通过所述webchromeclient回调接口中的回调装置拦截目标URL。
可选地,所述调用单元用于:对所述目标URL进行解析,得到解析参数;基于所述解析参数查找所述目标本地装置,并调用所述目标本地装置。
可选地,如图4所示,所述装置还包括:重写单元41,用于对webview包装器中的addjavascriptinterface装置进行重新写入操作,并维护对应映射关系map,所述addjavascriptinterface装置用于实现本地java和javascript之间的交互;构造单元42,用于在webview加载页面的装置中构造本地javascript代码;控制单元43,用于控制所述本地javascript代码调用javascript装置中的prompt装置,以获取所述prompt装置传递的所述本地javascript代码中信息;处理单元44,用于将所述prompt装置传递的所述本地javascript代码中信息进行处理,得到目标文本,其中,所述目标文本中包括:预设标识信息,装置名称,装置参数;返回单元45,用于通过所述prompt装置将所述本地java的装置返回给本地javascript代码。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明实施例所提供的一种webview漏洞的处理方法和装置的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (6)

1.一种webview漏洞的处理方法,其特征在于,包括:
在进行访问本地方法时,通过目标回调接口拦截目标URL;
解析所述目标URL的协议,得到解析协议;
将所述解析协议与预设协议进行对比,得到对比结果;
在对比结果为所述解析协议与所述预设协议一致的情况下,基于所述目标URL调用目标本地方法;
其中,基于所述目标URL调用目标本地方法包括:
对所述目标URL进行解析,得到解析参数;
基于所述解析参数查找所述目标本地方法,并调用所述目标本地方法;
其中,所述方法还包括:
对webview包装器中的addjavascriptinterface方法进行重新写入操作,并维护对应映射关系map,所述addjavascriptinterface方法用于实现本地java和javascript之间的交互;
在webview加载页面的方法中构造本地javascript代码;
控制所述本地javascript代码调用javascript方法中的prompt方法,以获取所述prompt方法传递的所述本地javascript代码中信息;
将所述prompt方法传递的所述本地javascript代码中信息进行处理,得到目标文本,其中,所述目标文本中包括:预设标识信息,方法名称,方法参数;
通过所述prompt方法将所述本地java的方法返回给本地javascript代码。
2.根据权利要求1所述的方法,其特征在于,所述目标回调接口包括webviewclient回调接口,通过目标回调接口拦截目标URL包括:
通过所述webviewclient回调接口中的shoudoverrideURLloading回调方法拦截目标URL。
3.根据权利要求1所述的方法,其特征在于,所述目标回调接口包括webchromeclient回调接口,通过目标回调接口拦截目标URL包括:
通过所述webchromeclient回调接口中的回调方法拦截目标URL。
4.一种webview漏洞的处理装置,其特征在于,包括:
拦截单元,用于在进行访问本地装置时,通过目标回调接口拦截目标URL;
解析单元,用于解析所述目标URL的协议,得到解析协议;
对比单元,用于将所述解析协议与预设协议进行对比,得到对比结果;
调用单元,用于在对比结果为所述解析协议与所述预设协议一致的情况下,基于所述目标URL调用目标本地装置;
其中,所述调用单元用于:
对所述目标URL进行解析,得到解析参数;
基于所述解析参数查找所述目标本地装置,并调用所述目标本地装置;
其中,所述装置还用于:
对webview包装器中的addjavascriptinterface装置进行重新写入操作,并维护对应映射关系map,所述addjavascriptinterface装置用于实现本地java和javascript之间的交互;
在webview加载页面的装置中构造本地javascript代码;
控制所述本地javascript代码调用javascript装置中的prompt装置,以获取所述prompt装置传递的所述本地javascript代码中信息;
将所述prompt装置传递的所述本地javascript代码中信息进行处理,得到目标文本,其中,所述目标文本中包括:预设标识信息,装置名称,装置参数;
通过所述prompt装置将所述本地java的装置返回给本地javascript代码。
5.根据权利要求4所述的装置,其特征在于,所述目标回调接口包括webviewclient回调接口,所述拦截单元用于:
通过所述webviewclient回调接口中的shoudoverrideURLloading回调装置拦截目标URL。
6.根据权利要求4所述的装置,其特征在于,所述目标回调接口包括webchromeclient回调接口,所述拦截单元还用于:
通过所述webchromeclient回调接口中的回调装置拦截目标URL。
CN201810310764.9A 2018-04-09 2018-04-09 一种webview漏洞的处理方法和装置 Active CN108520179B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810310764.9A CN108520179B (zh) 2018-04-09 2018-04-09 一种webview漏洞的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810310764.9A CN108520179B (zh) 2018-04-09 2018-04-09 一种webview漏洞的处理方法和装置

Publications (2)

Publication Number Publication Date
CN108520179A CN108520179A (zh) 2018-09-11
CN108520179B true CN108520179B (zh) 2021-01-15

Family

ID=63432236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810310764.9A Active CN108520179B (zh) 2018-04-09 2018-04-09 一种webview漏洞的处理方法和装置

Country Status (1)

Country Link
CN (1) CN108520179B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888906A (zh) * 2019-11-22 2020-03-17 成都市映潮科技股份有限公司 一种自动识别webview中广告的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102436391A (zh) * 2010-09-29 2012-05-02 卓望数码技术(深圳)有限公司 Android WebKit的控制方法及系统
CN103095681A (zh) * 2012-12-03 2013-05-08 微梦创科网络科技(中国)有限公司 一种检测漏洞的方法及装置
CN104484607A (zh) * 2014-12-16 2015-04-01 上海交通大学 Android应用程序安全性测试的通用方法及系统
CN104933362A (zh) * 2015-06-15 2015-09-23 福州大学 Android应用软件API误用类漏洞自动化检测方法
CN105260424A (zh) * 2015-09-28 2016-01-20 北京奇虎科技有限公司 用户浏览网页历史记录和最常访问的处理方法及装置
CN107392031A (zh) * 2017-08-04 2017-11-24 杭州安恒信息技术有限公司 漏洞的扫描方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102436391A (zh) * 2010-09-29 2012-05-02 卓望数码技术(深圳)有限公司 Android WebKit的控制方法及系统
CN103095681A (zh) * 2012-12-03 2013-05-08 微梦创科网络科技(中国)有限公司 一种检测漏洞的方法及装置
CN104484607A (zh) * 2014-12-16 2015-04-01 上海交通大学 Android应用程序安全性测试的通用方法及系统
CN104933362A (zh) * 2015-06-15 2015-09-23 福州大学 Android应用软件API误用类漏洞自动化检测方法
CN105260424A (zh) * 2015-09-28 2016-01-20 北京奇虎科技有限公司 用户浏览网页历史记录和最常访问的处理方法及装置
CN107392031A (zh) * 2017-08-04 2017-11-24 杭州安恒信息技术有限公司 漏洞的扫描方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
android WebView详解,常见漏洞详解和安全源码;laughingQing;《博客园》;20170213;正文第1页第1段-第13页第1段 *

Also Published As

Publication number Publication date
CN108520179A (zh) 2018-09-11

Similar Documents

Publication Publication Date Title
US10699061B2 (en) Application page quick access
US10834102B2 (en) Client-side attack detection in web applications
CN110020323B (zh) 混合应用的页面切换方法、系统、计算机设备及存储介质
US20080301766A1 (en) Content processing system, method and program
AU2021206497B2 (en) Method and apparatus for authority control, computer device and storage medium
US10831892B2 (en) Web browser script monitoring
US20070169065A1 (en) Computer program with metadata management function
CN107835228B (zh) 一种基于动态广义路由的指令处理方法及装置
CN106326735B (zh) 防注入的方法和装置
CN104268475A (zh) 一种运行应用程序的系统
CN107103243B (zh) 漏洞的检测方法及装置
CN113535587B (zh) 目标应用检测方法、装置及计算机设备
CN107332805B (zh) 检测漏洞的方法、装置和系统
CN108520179B (zh) 一种webview漏洞的处理方法和装置
CN106203121B (zh) 内核地址防止恶意修改方法、装置以及终端
CN109492144B (zh) 软件系统的关联关系分析方法、装置和存储介质
CN108509228B (zh) 加载页面的方法、终端设备及计算机可读存储介质
CN107506474B (zh) 基于对象映射的数据库操作方法及装置
CN115859280A (zh) 内存马的检测方法、装置、设备及存储介质
CN110708270A (zh) 异常链接检测方法以及装置
US11736512B1 (en) Methods for automatically preventing data exfiltration and devices thereof
CN115455414A (zh) 一种安全检测方法和装置
CN107103242B (zh) 数据的获取方法及装置
CN113709154B (zh) 浏览器安全处理方法、装置、计算机设备及存储介质
CN110806860B (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