Métodos de los protocolos web y hacking

 Ya sabes que tu user’s agent puede usar el protocolo HTTP para hacer una solicitud a un servidor (request), y que éste nos facilitará una respuesta adecuada a dicha solicitud (response). A continuación te presentaré los métodos que usa tu user´s agent para realizar diferentes solicitudes al servidor, pero antes debes conocer un detalle, existen actualmente cuatro versiones del protocolo HTTP, y en las más antiguas no están disponible todos los métodos te paso a presentar.

  GET: Se usa para solicitar datos al servidor, y debido a que usa la URL, no debes tenerlo en cuenta para programar el envío de solicitudes que conlleven la ejecución de acciones, pues un hacker podría manipular con facilidad, y de un modo malicioso, los parámetros enviados a tu aplicación en el servidor. Un ejemplo de este método: GET /iconos/logo.gif HTTP/1.1

  HEAD: Este método funciona de un modo similar a GET, pero con la salvedad de que facilita únicamente meta-información, es decir, datos sobre la cabecera HTML, sobre la respuesta del servidor y sobre el mismo servidor. Muy usado por hackers para obtener información acerca de las propiedades del servidor, y para probarlo puedes teclear lo siguiente es una línea de comandos:

 telnet www.cortinasdeducha.com 80

 Una vez conectado hacemos una solicitud HTTP como esta que sigue, y pulsamos intro un par de veces:

 HEAD / HTTP/1.0.

 Finalmente, entre los datos que recibiremos se encuentra una información como la que sigue:

 Server: Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_perl/2.0.5 Perl/v5.8 

 POST: También es similar a GET, pero con estas salvedades: No usa la URL, estando así menos expuesto a ataques web que el método GET, y normalmente solicita una acción en el servidor mediante CGI, por tanto, deberá aportar los parámetros para realizarla

 PUT: Es el mejor método para solicitar al servidor que almacene datos, puesto que POST utiliza un mensaje que el servidor debe decodificar, pero el método PUT establece directamente una conexión socket con el servidor. Como punto negativo, debes saber que los servidores de hosting compartido no tienen habilitado este método. 

 DELETE: Borra el recurso especificado.

 TRACE: Es usado para realizar comprobaciones y diagnósticos, pues solicita un mensaje de tipo loopback que en la sesión de datos únicamente contiene una réplica de la solicitud realizada.

 OPTIONS: Es muy útil para un hacker, que podrá usarlo para obtener información sobre las funcionalidades de un servidor web, ya que informa sobre los métodos http que este soporta para una URL especifica.

 CONNECT: Se utiliza con proxy para saber si éste nos permite el acceso a un host determinado bajo condiciones especiales como un flujo de datos encriptados, ya que tiene la característica de cambiar de forma dinámica a modo túnel (SSL tunneling).