Execution Flow
1) Explore
[Survey the application for IP addresses as user input] Using a browser, an automated tool or by inspecting the application, an adversary records all entry points to the application where IP addresses are used.
Technique
- Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
- Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.
- Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.
- Manually inspect the application to find entry points.
2) Experiment
[Probe entry points to locate vulnerabilities] The adversary uses the entry points gathered in the "Explore" phase as a target list and attempts alternate IP address encodings, observing application behavior. The adversary will also attempt to access the application through an alternate IP address encoding to see if access control changes
Technique
- Instead of using a URL, use the IP address that the URL resolves to
- Specify a port directly to a URL input
- Omit or add "http://" or "https://" to a URL to see if the application behaves differently
3) Exploit
[Bypass access control] Using an alternate IP address encoding, the adversary will either access the application or give the alternate encoding as input, bypassing access control restrictions.
Prerequisites
The target software must fail to anticipate all of the possible valid encodings of an IP/web address.
The adversary must have the ability to communicate with the server.
Skills Required
The adversary has only to try IP address format combinations.
Resources Required
The adversary needs to have knowledge of an alternative IP address encoding that bypasses the access control policy of an application. Alternatively, the adversary can simply try to brute-force various encoding possibilities.
Mitigations
Design: Default deny access control policies
Design: Input validation routines should check and enforce both input data types and content against a positive specification. In regards to IP addresses, this should include the authorized manner for the application to represent IP addresses and not accept user specified IP addresses and IP address formats (such as ranges)
Implementation: Perform input validation for all remote content.
Related Weaknesses
CWE-ID |
Weakness Name |
|
Reliance on IP Address for Authentication The product uses an IP address for authentication. |
|
Improper Handling of Alternate Encoding The product does not properly handle when an input uses an alternate encoding that is valid for the control sphere to which the input is being sent. |
References
REF-1
Exploiting Software: How to Break Code
G. Hoglund, G. McGraw.
Submission
Name |
Organization |
Date |
Date release |
CAPEC Content Team |
The MITRE Corporation |
2014-06-23 +00:00 |
|
Modifications
Name |
Organization |
Date |
Comment |
CAPEC Content Team |
The MITRE Corporation |
2017-08-04 +00:00 |
Updated Attack_Prerequisites, Attacker_Skills_or_Knowledge_Required, Description Summary, Examples-Instances, Resources_Required |
CAPEC Content Team |
The MITRE Corporation |
2019-04-04 +00:00 |
Updated Related_Weaknesses |
CAPEC Content Team |
The MITRE Corporation |
2022-02-22 +00:00 |
Updated Description, Execution_Flow |