HTTP Method Enumeration is a type of security testing that involves identifying the HTTP methods (also known as HTTP verbs) supported by a web server and checking for any unexpected or potentially dangerous methods. The most commonly used HTTP methods are GET, POST, PUT, PATCH, DELETE, and HEAD. However, some web servers may support additional methods, such as TRACE, OPTIONS, or CONNECT, which can be exploited by attackers to carry out various types of attacks, such as cross-site scripting (XSS), cross-site request forgery (CSRF), or denial-of-service (DoS) attacks.

HTTP Method Enumeration is an important step in penetration testing and web application security assessments, as it helps security professionals to understand the level of risk associated with a web application and to identify potential vulnerabilities that need to be addressed.

HTTP Method Enumeration Via Curl Command

The curl command is a powerful tool for making HTTP requests from the command line. You can use it to perform various HTTP methods, including GET, POST, PUT, DELETE, HEAD, and others. Here’s how you can perform each of these methods using curl:

GET:

curl -X GET http://example.com

POST:

curl -X POST -d "param1=value1&param2=value2" http://example.com

PUT:

curl -X PUT -d "param1=value1&param2=value2" http://example.com

DELETE:

curl -X DELETE http://example.com

HEAD:

curl -I http://example.com

Note that you need to replace http://example.com with the actual URL you want to make a request to. Additionally, the parameters passed in the request body (e.g., -d "param1=value1&param2=value2") may vary depending on the specific API you are using.

Uploading Files via PUT method using Curl

Step 1: Checking the content of /uploads directory.​

Step 2: Sending OPTIONS request to /uploads directory.​

Commands:

curl -X OPTIONS example.com/uploads/

curl -X OPTIONS example.com/uploads/ -v

The Webdav module is enabled on the Apache Server, Webdav module allows file upload via PUT method. 

Step 3: Uploading a file with PUT method.​

Commands:

echo “Hello World” > hello.txt curl example.com/uploads/ –upload-file hello.txt 

Step 4: Checking content of /uploads directory.​         

The file “hello.txt” was uploaded successfully.

Impact

A remote code execution (RCE) impact can occur when an attacker is able to execute arbitrary code on a vulnerable system through an HTTP PUT method. This is often the result of a flaw in the web application, such as an improper input validation or a misconfigured server that allows the attacker to upload malicious code onto the target system. If successful, the attacker can gain full control over the affected system and carry out actions such as data theft, server compromise, or further spreading of malware.

To prevent RCE impacts through HTTP PUT methods, it’s important to follow best practices for web application security, such as properly validating user input, sanitizing data, and implementing access controls to prevent unauthorized uploads. Additionally, it’s recommended to regularly update the software and systems being used, as well as keeping the software patched with the latest security fixes.

If you are searching for Account takeover labs that are free, then you can visit our website. We have beautiful Account takeover Labs in which you can gain good experience while completing the labs.

Account Takeover Labs Link:   https://bepractical.tech/account-takeover-labs/

Join our telegram channel over here and stay updated with the latest trends going in cybersecurity.