it-swarm-eu.dev

Perché curl / wget nella casella di ricerca di ebay mi dà un errore di accesso negato?

Ho appena copiato per errore un comando wget nella casella di ricerca di eBay e ho ricevuto il seguente errore:

ebay error

Succede con wget http://google.com o curl http://google.com o qualsiasi altro URL ...

Sembra disinfettare l'input e rimuovere le barre se inserisci semplicemente un URL ma non se lo precedi con wget o arricciatura. Che cosa potrebbero forse fare che fa sì che un comando wget o curl ignori la loro sanificazione e produca un risultato diverso?

30
Pancakes

I presumo che ebay.com abbia installato un Web Application Firewall, che riconosce la tua richiesta come un possibile attacco. Pertanto, la tua richiesta viene annullata e ricevi un HTTP 403 - Access Denied. Il mod_security WAF per Apache, nginx e IIS si comporta in modo simile: se è in modalità prevenzione, risponderà anche con HTTP 403 per impostazione predefinita [1].

La maggior parte dei WAF ha una sorta di set di regole. Controllano se la tua richiesta corrisponde a una delle loro regole, magari con espressioni regolari. Suppongo inoltre che una di quelle regole assomigli a (wget|curl) (http|https)://.* [2]. La "sanificazione" delle doppie barre in avanti nell'URL avviene molto probabilmente a livello di applicazione. Stringhe come asdf// verrà anche abbreviato in asdf.

[1] https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#secdefaultaction

[2] Evita la fuga di barre in avanti per motivi di leggibilità

35
Stefan Braun