Name |
HTTP Verb Tampering |
|
Likelyhood of attack |
Typical severity |
Low |
Medium |
|
Summary |
An attacker modifies the HTTP Verb (e.g. GET, PUT, TRACE, etc.) in order to bypass access restrictions. Some web environments allow administrators to restrict access based on the HTTP Verb used with requests. However, attackers can often provide a different HTTP Verb, or even provide a random string as a verb in order to bypass these protections. This allows the attacker to access data that should otherwise be protected. |
Prerequisites |
The targeted system must attempt to filter access based on the HTTP verb used in requests. |
Solutions | Design: Ensure that only legitimate HTTP verbs are allowed. Design: Do not use HTTP verbs as factors in access decisions. |
Related Weaknesses |
CWE ID
|
Description
|
CWE-302 |
Authentication Bypass by Assumed-Immutable Data |
CWE-654 |
Reliance on a Single Factor in a Security Decision |
|
Related CAPECS |
CAPEC ID
|
Description
|
CAPEC-220 |
An adversary takes advantage of weaknesses in the protocol by which a client and server are communicating to perform unexpected actions. Communication protocols are necessary to transfer messages between client and server applications. Moreover, different protocols may be used for different types of interactions. For example, an authentication protocol might be used to establish the identities of the server and client while a separate messaging protocol might be used to exchange data. If there is a weakness in a protocol used by the client and server, an attacker might take advantage of this to perform various types of attacks. For example, if the attacker is able to manipulate an authentication protocol, the attacker may be able spoof other clients or servers. If the attacker is able to manipulate a messaging protocol, the may be able to read sensitive information or modify message contents. This attack is often made easier by the fact that many clients and servers support multiple protocols to perform similar roles. For example, a server might support several different authentication protocols in order to support a wide range of clients, including legacy clients. Some of the older protocols may have vulnerabilities that allow an attacker to manipulate client-server interactions. |
|