Este paso en el OWASP Guía de prueba (v4) muestra cómo hacer esto en detalle utilizando la netcat original :
$ nc www.victim.com 80
OPTIONS / HTTP/1.1
Host: www.victim.com
HTTP/1.1 200 OK
[...]
Allow: GET,HEAD,POST,OPTIONS,TRACE
Esto se basa en el servidor que soporta OPTIONS
, y en el informe de la lista compatible, no siempre es así (como está a punto de descubrir), pero debería funcionar bien con un Apache no endurecido. Uno podría "endurecer" incorrectamente un servidor web eliminando el método OPTIONS
y nada más, y la mayoría de los escáneres no notarán el problema.
También puede usar netcat
de GNU (antiguo y sin mantenimiento ahora), o mejor aún, ncat
que admite SSL / TLS: ncat --ssl www.victim.com 443
.
También es posible usar el script nmap
enlace , pero esto solo es realmente útil para realizar pruebas de antemano (ya que se niega a continuar si OPTIONS
no proporciona una lista de métodos):
nmap -vvv --script=http-methods.nse \
--script-args http-methods.retest=1 -p 80,443 www.victim.com
Ya que está usando Apache httpd (incluido con XAMPP), como alternativa a mod_rewrite
también puede usar el núcleo LimitExcept
para proporcionar un filtrado similar de los métodos de solicitud. Tenga en cuenta que deshabilitar TRACE
puede hacer que el servidor HTTP no cumpla con la especificación (aunque debería estar bien si devuelve "405 Método no permitido" como lo está haciendo, o "501 No implementado"). GET
y HEAD
son los únicos dos métodos de solicitud obligatorios para un Servidor "de propósito general".
Si tiene perl con lwp, y el comando GET
está instalado, puede enumerar
estos usted mismo sin depender de OPTIONS
en absoluto:
for mm in GET HEAD PUT POST DELETE OPTIONS PATCH TRACK TRACE PATCH; do
printf "\n\n$mm\n======\n"
GET -USf -m $mm http://www.victim.com/does/not/exist/OTQ4NzEzMzgxNTg3NzE3NTg1MzA2MzkK
done
Necesitará inspeccionar el código HTTP para cada uno, 405 y 406 son indicadores de que un método no está permitido.
La lista de métodos anterior está incompleta, WebDAV agrega muchos más métodos y vea también el registro de métodos HTTP de la IANA (también existen los propietarios, hubo al menos un método con prefijo X-MS-
en las versiones anteriores de MS-Exchange).
Finalmente, hay una herramienta en línea útil que escanea de forma remota su sitio web y produce un informe detallado aquí: enlace . Esto también solo utiliza el método OPTIONS
.