CAPEC-500

WebView Injection
2014-06-23
00h00 +00:00
Draft
2023-01-24
00h00 +00:00
指定 CAPEC 提醒
随时了解指定 CAPEC 的变更。
管理通知

CAPEC 描述

An adversary, through a previously installed malicious application, injects code into the context of a web page displayed by a WebView component. Through the injected code, an adversary is able to manipulate the DOM tree and cookies of the page, expose sensitive information, and can launch attacks against the web application from within the web page.

CAPEC 信息

执行流程

1) Explore

[Determine target web application] An adversary first needs to determine what web application they wish to target.

技术手段
  • Target web applications that require users to enter sensitive information.
  • Target web applications that an adversary wishes to operate on behalf of a logged in user.
2) Experiment

[Create malicious application] An adversary creates an application, often mobile, that incorporates a WebView component to display the targeted web application. This malicious application needs to downloaded by a user, so adversaries will make this application useful in some way.

技术手段
  • Create a 3rd party application that adds useful functionality to the targeted web application. Victims will download the application as a means of using the targeted web application.
  • Create a fun game that at some point directs a user to the targeted web application. For example, prompt the user to buy in game currency by directing them to PayPal.
3) Experiment

[Get the victim to download and run the application] An adversary needs to get the victim to willingly download and run the application.

技术手段
  • Pay for App Store advertisements
  • Promote the application on social media, either through accounts made by the adversary or by paying for other accounts to advertise.
4) Exploit

[Inject malicious code] Once the victim runs the malicious application and views the targeted web page in the WebView component, the malicious application will inject malicious JavaScript code into the web application. This is done by using WebView's loadURL() API, which can inject arbitrary JavaScript code into pages loaded by the WebView component with the same privileges. This is often done by adding a script tag to the document body with a src destination to a remote location that serves malicious JavaScript code.

技术手段
  • Execute operations on the targeted web page on behalf of an authenticated user.
  • Steal cookie information from the victim.
  • Add in extra fields to the DOM in an attempt to get a user to divulge sensitive information.

前提条件

An adversary must be able install a purpose built malicious application onto the device and convince the user to execute it. The malicious application is designed to target a specific web application and is used to load the target web pages via the WebView component. For example, an adversary may develop an application that interacts with Facebook via WebView and adds a new feature that a user desires. The user would install this 3rd party app instead of the Facebook app.

缓解措施

The only known mitigation to this type of attack is to keep the malicious application off the system. There is nothing that can be done to the target application to protect itself from a malicious application that has been installed and executed.

相关弱点

CWE-ID 弱点名称

CWE-749

Exposed Dangerous Method or Function
The product provides an Applications Programming Interface (API) or similar interface for interaction with external actors, but the interface includes a dangerous method or function that is not properly restricted.

CWE-940

Improper Verification of Source of a Communication Channel
The product establishes a communication channel to handle an incoming request that has been initiated by an actor, but it does not properly verify that the request is coming from the expected origin.

参考资料

REF-430

Attacks on WebView in the Android System
Tongbo Luo, Hao Hao, Wenliang Du, Yifei Wang, Heng Yin.
http://www.cis.syr.edu/~wedu/Research/paper/webview_acsac2011.pdf

提交记录

名称 组织 日期 发布日期
CAPEC Content Team The MITRE Corporation 2014-06-23 +00:00

修改记录

名称 组织 日期 备注
CAPEC Content Team The MITRE Corporation 2021-10-21 +00:00 Updated Execution_Flow
CAPEC Content Team The MITRE Corporation 2023-01-24 +00:00 Updated Related_Weaknesses