CAPEC-170 Metadata
Likelihood of Attack
High
Typical Severity
Low
Overview
Summary
An attacker sends a series of probes to a web application in order to elicit version-dependent and type-dependent behavior that assists in identifying the target. An attacker could learn information such as software versions, error pages, and response headers, variations in implementations of the HTTP protocol, directory structures, and other similar information about the targeted service. This information can then be used by an attacker to formulate a targeted attack plan. While web application fingerprinting is not intended to be damaging (although certain activities, such as network scans, can sometimes cause disruptions to vulnerable applications inadvertently) it may often pave the way for more damaging attacks.
Prerequisites
Any web application can be fingerprinted. However, some configuration choices can limit the useful information an attacker may collect during a fingerprinting attack.
Execution Flow
Step | Phase | Description | Techniques |
---|---|---|---|
1 | Explore | [Request fingerprinting] Use automated tools or send web server specific commands to web server and wait for server's response. |
|
2 | Experiment | [Increase the accuracy of server fingerprinting of Web servers] Attacker usually needs to send several different commands to accurately identify the web server. Attacker can also use automated tools to send requests to the server. The responses of the server may be different in terms of protocol behavior. |
|
3 | Experiment | [Identify Web Application Software] After the web server platform software has been identified, the attacker start to identify web application technologies such as ASP, .NET, PHP and Java on the server. |
|
4 | Experiment | [Identify Backend Database Version] Determining the database engine type can assist attackers' attempt to successfully execute SQL injection. Some database API such as ODBC will show a database type as part of the driver information when reporting an error. |
|
Potential Solutions / Mitigations
Implementation: Obfuscate server fields of HTTP response. Implementation: Hide inner ordering of HTTP response header. Implementation: Customizing HTTP error codes such as 404 or 500. Implementation: Hide URL file extension. Implementation: Hide HTTP response header software information filed. Implementation: Hide cookie's software information filed. Implementation: Appropriately deal with error messages. Implementation: Obfuscate database type in Database API's error message.
Related Weaknesses (CWE)
CWE ID | Description |
---|---|
CWE-497 | Exposure of Sensitive System Information to an Unauthorized Control Sphere |
Related CAPECs
CAPEC ID | Description |
---|---|
CAPEC-541 | An adversary engages in fingerprinting activities to determine the type or version of an application installed on a remote target. |
Stay Ahead of Attack Patterns
Understanding CAPEC patterns helps security professionals anticipate and thwart potential attacks. Leverage these insights to enhance threat modeling, strengthen your software development lifecycle, and train your security teams effectively.