Disparidad de resultados entre nmap y curl / nc para el método TRACE

1

Al usar nc o curl, obtengo el código de estado HTTP 405 para las solicitudes TRACE, pero si escaneo mi sitio con NMAP, parece que TRACE está habilitado. ¿Podría alguien explicarme si TRACE está correctamente desactivado o no?

NC

nc hd1.aon.it 443
TRACE /js/jquery.cookie.js?param=1 HTTP/1.1
Host: hd1.aon.it
X-Wind: custom

HTTP/1.1 405 Method Not Allowed
Content-Length: 83
Content-Type: text/html
Date: Thu, 12 Jan 2017 12:59:04 GMT
Via: HTTP/1.1 sophos.http.proxy:3128
Connection: keep-alive

Error405 - Method Not Allowed

NMAP

nmap -p 443 --script http-methods hd1.aon.it

Starting Nmap 6.46 ( http://nmap.org ) at 2017-01-12 13:41 CET
Nmap scan report for hd1.aon.it (93.63.129.73)
Host is up (0.00026s latency).
rDNS record for 93.63.129.73: 93-63-129-73.ip27.fastwebnet.it
PORT    STATE SERVICE
443/tcp open  https
| http-methods: GET HEAD POST TRACE OPTIONS
| Potentially risky methods: TRACE
|_See http://nmap.org/nsedoc/scripts/http-methods.html

Nmap done: 1 IP address (1 host up) scanned in 2.19 seconds
    
pregunta Chris 12.01.2017 - 14:32
fuente

1 respuesta

2

La secuencia de comandos http-methods solo emite solicitudes de opciones y, si esto devuelve métodos Allow, confía en esta información. Solo intente una solicitud de OPCIONES y obtendrá la siguiente respuesta:

> OPTIONS / HTTP/1.0

< HTTP/1.1 500 Internal Server Error
< Allow: GET, HEAD, POST, TRACE, OPTIONS
...

Por lo tanto, las OPCIONES solicitan que se informe que TRACE es compatible. Y, de hecho, el método es compatible con el servidor:

> TRACE / HTTP/1.0

< HTTP/1.1 405 Method Not Allowed
< ...

Esto significa que el servidor admite este método, pero se niega activamente a usarlo, al menos con URL específicas. Los métodos no compatibles darían como resultado un tipo de respuesta diferente:

> FOO / HTTP/1.0 

< HTTP/1.0 501 Not Implemented
< ...
  

... parece que TRACE está habilitado

nmap no verifica si está habilitado o no, comprueba si es compatible (es decir, implementado y permitido de acuerdo con las OPCIONES) o no. Negar activamente el uso del método en recursos específicos no significa que la opción no sea compatible, es decir, implementada en el servidor y tal vez esté disponible para recursos específicos.

    
respondido por el Steffen Ullrich 12.01.2017 - 14:59
fuente

Lea otras preguntas en las etiquetas