HTTP offers a number of methods that can be used to perform actions on the
web server. Many of theses methods are designed to aid developers in
deploying and testing HTTP applications. These HTTP methods can be used for
nefarious purposes if the web server is misconfigured. Additionally, Cross
Site Tracing (XST), a form of cross site scripting using the server's HTTP
TRACE method, is examined.
Short Description of the Issue

While GET and POST are by far the most common methods that are used to
access information provided by a web server, the Hypertext Transfer Protocol
(HTTP) allows several other (and somewhat less known) methods. RFC
2616<http://tools.ietf.org/html/rfc2616>(which describes HTTP version
1.1 which is the today standard) defines the
following eight methods:

   - HEAD
   - GET
   - POST
   - PUT
   - DELETE
   - TRACE
   - OPTIONS
   - CONNECT

Some of these methods can potentially pose a security risk for a web
application, as they allow an attacker to modify the files stored on the web
server and, in some scenarios, steal the credentials of legitimate users.
More specifically, the methods that should be disabled are the following:

   - PUT: This method allows a client to upload new files on the web server.
   An attacker can exploit it by uploading malicious files (e.g.: an asp file
   that executes commands by invoking cmd.exe), or by simply using the victim's
   server as a file repository
   - DELETE: This method allows a client to delete a file on the web server.
   An attacker can exploit it as a very simple and direct way to deface a web
   site or to mount a DoS attack
   - CONNECT: This method could allow a client to use the web server as a
   proxy
   - TRACE: This method simply echoes back to the client whatever string has
   been sent to the server, and is used mainly for debugging purposes. This
   method, originally assumed harmless, can be used to mount an attack known as
   Cross Site Tracing, which has been discovered by Jeremiah Grossman (see
   links at the bottom of the page)

If an application needs one or more of these methods, such as REST Web
Services (which may require PUT or DELETE), it is important to check that
their usage is properly limited to trusted users and safe conditions.
For more information on performing blackbox testing of HTTP Methods:
http://www.owasp.org/index.php/Testing_for_HTTP_Methods_and_XST_(OWASP-CM-008
)



Regards
Sandeep Thakur

-- 
You received this message because you are subscribed to the Google Groups 
"nforceit" group.
To post to this group, send an email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nforceit?hl=en-GB.

Reply via email to