Saltar al contenido

Prueba del método HTTP TRACE

Solución:

La forma más simple en la que puedo pensar es usando cURL (que es programable).

 curl -v -X TRACE http://www.yourserver.com

Ejecutarlo contra un servidor Apache con TraceEnable Off regresa correctamente HTTP/1.1 405 Method Not Allowed (recién probado en Apache 2.2.22)

Esto también funciona en sitios HTTPS, siempre que cURL tenga la información correcta suministrada a la capa SSL. Este es el cheque de Google del hombre perezoso

curl --insecure -v -X TRACE https://www.google.com/

… negocia la conexión (no verifica la cadena de certificados, pero ese no es el problema aquí ya que queremos verificar TRACE estado) y responde 405:

* Server certificate:
*        subject: C=US; ST=California; L=Mountain View; O=Google Inc; CN=www.google.com
*        start date: 2013-02-20 13:34:56 GMT
*        expire date: 2013-06-07 19:43:27 GMT
*        subjectAltName: www.google.com matched
*        issuer: C=US; O=Google Inc; CN=Google Internet Authority
*        SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
> TRACE / HTTP/1.1
> User-Agent: curl/7.25.0 (x86_64-suse-linux-gnu) libcurl/7.25.0 OpenSSL/1.0.1c zlib/1.2.7 libidn/1.25 libssh2/1.4.0
> Host: www.google.com
> Accept: */*

< HTTP/1.1 405 Method Not Allowed

Hay dos maneras:

PASO 1: openssl s_client -connect example.com:443

PASO 2 :

TRACE / HTTP/1.1
host: example.com

(presione enter dos veces)

o

OPTIONS / HTTP/1.1
host: example.com

(presione enter dos veces) (es posible que deba pegarlos rápidamente, así que cópielos y péguelos en lugar de escribirlos) PASO 3: Verifique si la salida debería dar el error 400 si no me equivoco.

Otra herramienta que puedes utilizar son los gnutls.

Podrías usar un apoderado, como Burp Suite o Zap, y siga algunos pasos sencillos:

  1. configure su navegador para que pase a través del proxy elegido;
  2. hacer una solicitud HTTP normal (p. ej. GET /index.php HTTP/1.1) e interceptarlo;
  3. cambie el método HTTP a TRACE y envíe la solicitud al servidor;
  4. verifique la respuesta HTTP.

Si la respuesta incluye toda la solicitud, TRACE está habilitado y funciona correctamente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *