Verificar los Métodos HTTP

  • Posted on: 27 July 2020
  • By: ReYDeS

HTTP ofrece un número de métodos los cuales pueden ser utilizados para realizar acciones sobre el servidor web (el estándar HTTP 1.1 se refiere a estos como métodos, pero también son comúnmente descritos como verbos). Aunque GET y POST son los métodos más utilizado para acceder a información proporcionada por un servidor web, HTTP permite algunos otros métodos (siendo algunos métodos poco conocidos). Estos pueden ser utilizados para propósitos nefastos si el servidor web está mal configurado.

A continuación se exponen tres técnicas para evaluar los métodos HTTP.

Se ejecuta la herramienta de nombre “curl”. La opción “-i”, incluye las cabeceras de respuesta HTTP en la salida. Las cabeceras de respuesta puede incluir, el nombre del servidor, cookies, fecha del documento, versión HTTP y más. La opción “-X” específica un método personalizado de petición, el cual es utilizado cuando se realiza la comunicación con el servido HTTP.

# curl -i -X OPTIONS http://192. 168.0. 66

Se ejecuta la herramienta de nombre “nmap”. El script de nombre NSE “http-methods”, encuentra las opciones soportadas por el servidor HTTP, enviando una petición OPTIONS. Listando potencialmente los métodos riesgosos. El argumento del script “http-methods.url” define la ruta para realizar la petición.

# nmap -p80 –script http-methods –script-args http-methods.url=’/xvwa’ 192. 168.0. 66

Es factible también hacer las peticiones manualmente, para evaluar los diferentes métodos tales como GET, POST, PUT, DELETE, CONNECT, OPTIONS y TRACE. Siendo factible también utilizar la herramienta “curl”. A continuación un ejemplo con el método “POST”.

Se ejecuta la herramienta de nombre “curl”. Aparte de las opciones definidas y explicadas en el primer ejemplo, la opción “-d” envía los datos especificados en la petición POST hacia el servidor HTTP, de la misma manera hecha por el navegador cuando un usuario completa un formulario HTTP, y luego presiona un botón enviar.

# curl -i -X POST http://192. 168.0. 66/dvwa/index.php -d “username=user&password=user”

Fuentes:

https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Ap...
https://tools.ietf.org/html/rfc7231
https://curl.haxx.se/
https://nmap.org/nsedoc/scripts/http-methods.html

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: https://www.reydes.com/d/?q=node/1