Come regola generale, le cose non dovrebbero essere rese accessibili in modi che non erano destinati o per ragioni che non erano intese. Il motivo migliore per seguire questo modello è perché non sai come potrebbe essere abusato. Solo perché non puoi pensare a una vulnerabilità non significa che nessun altro non può .
Ma in questo caso, ho visto questo pattern utilizzato contro il proprietario di un sito.
Ad esempio, le operazioni di hosting virtuale tipicamente eseguono il contenuto del sito Web sotto utenti isolati. Cioè, foo.com
viene eseguito come foo
dell'utente, mentre bar.com
viene eseguito come bar
dell'utente e nessuno dei due può accedere ai file dell'altro.
Tuttavia, una route secondaria per accedere al contenuto del sito, come 1.2.3.4/~foo/
, potrebbe eseguire foo.com
di contenuto utilizzando un contesto alternativo, ad esempio www-data
, ad esempio. In questo caso, foo.com/filemanager.php
è accessibile come 1.2.3.4/~foo/filemanager.php
, che consente al visitatore l'accesso attraverso il sito utilizzando un set di autorizzazioni diverso rispetto a quanto ritenuto dal proprietario del sito.
Ci sono anche altre potenziali vulnerabilità che posso fare - cose che riguardano le differenze di configurazione, le differenze di percorso, il controllo dell'accesso e altri dettagli simili. Tutto ciò dipende in qualche modo dall'installazione, ma il potenziale è lì.