Questo passaggio nel Guida al test dell'OWASP (v4) mostra come farlo in dettaglio usando netcat originale :
$ nc www.victim.com 80
OPTIONS / HTTP/1.1
Host: www.victim.com
HTTP/1.1 200 OK
[...]
Allow: GET,HEAD,POST,OPTIONS,TRACE
Questo dipende dal server che supporta OPTIONS
, e riporta l'elenco supportato - questo non è sempre il caso (come stai per scoprirlo), ma dovrebbe funzionare bene con un Apache non indurito. Uno potrebbe "indurire" un server web in modo errato rimuovendo il metodo OPTIONS
e nient'altro, e la maggior parte degli scanner non noterà il problema.
Potresti anche usare GNU netcat
(vecchio e non più mantenuto ora), o meglio ancora nmap ncat
che supporta SSL / TLS: ncat --ssl www.victim.com 443
.
È anche possibile utilizzare lo script nmap
link , ma questo è davvero utile solo per i test in anticipo (poiché rifiuta di procedere se OPTIONS
non fornisce un elenco di metodi):
nmap -vvv --script=http-methods.nse \
--script-args http-methods.retest=1 -p 80,443 www.victim.com
Dato che stai usando Apache httpd (incluso con XAMPP), in alternativa a mod_rewrite
puoi anche usare il core LimitExcept
direttiva per fornire un filtro simile dei metodi di richiesta. Notare che disabilitare TRACE
potrebbe rendere il server HTTP non conforme alla specifica (sebbene si debba essere OK se si restituisce "Metodo 405 non consentito" come si sta facendo, o "501 Non implementato"). GET
e HEAD
sono gli unici due metodi di richiesta obbligatoria per un server "general-purpose".
Se hai perl con lwp e il comando GET
è installato puoi enumerare
questi te stesso senza fare affidamento su OPTIONS
:
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
Dovrai ispezionare il codice HTTP per ciascuno, 405 e 406 sono indicatori di un metodo che non è permesso.
La precedente lista di metodi è incompleta, WebDAV aggiunge molti altri metodi e vedi anche il registro dei metodi HTTP IANA (ce ne sono anche di proprietari, c'era almeno un metodo con prefisso X-MS-
nelle vecchie versioni di MS-Exchange).
Infine, c'è uno strumento online utile che esplora da remoto il tuo sito web e produce un rapporto dettagliato qui: link . Anche questo utilizza solo il metodo OPTIONS
.