Nelle mie applicazioni Web .NET solitamente ho una cartella Script che contiene tutti i miei file JavaScript - jQuery per lo più in questi giorni, con la libreria JavaScript occasionale di qualche tipo o altro.La cartella degli script è vulnerabile?
Sto eseguendo scansioni di vulnerabilità su uno dei miei siti Web tramite uno scanner chiamato Nexpose e mi ha informato che la cartella Scripts è aperta al mondo - il che significa che gli utenti non autenticati possono scaricare i file JavaScript contenuti nella cartella e che questo è una vulnerabilità critica. Secondo Nexpose, la cartella Script dovrebbe essere ristretta per consentire solo agli utenti autenticati di accedervi. Il che mi porta alla mia prima domanda.
Come limitare la cartella Script solo agli utenti autenticati? Ho provato a inserire un file web.config nella cartella Scripts e a negare l'accesso a tutti gli utenti non autenticati in quel modo, ma non ha funzionato. Sono stato in grado di determinarlo da solo, ma andando alla pagina di accesso del mio sito web, ma non effettuando l'accesso, e quindi digitando https://mywebsite/scripts/menubar.js e abbastanza sicuro mi ha permesso di scaricare il file menubar.js.
Seconda domanda - Perché è considerata una vulnerabilità? Ho provato a ragionare attraverso le possibilità qui, ma non sono riuscito a inventare molte cose. È una vulnerabilità semplicemente perché Joe the l33t h4x0r è in grado di capire le varie librerie che sto usando e quindi forse usare exploit noti contro di loro?
Aggiornamento
stragrande maggioranza la risposta sembra essere che in nessun modo dovrebbe esistere una vulnerabilità solo perché un file .js può essere aperto e letto sul browser del client. L'unica vulnerabilità che potrebbe esistere sarebbe se lo sviluppatore stesse usando il file .js in un modo insicuro di qualche tipo (che io non sono).
concordato. * Nexpose * è difficilmente l'autorità finale su tali argomenti. –
Questo non è necessariamente vero, l'ultimo pezzo su nulla di cui preoccuparsi. Se il tuo server web ha accesso in scrittura alla directory e io lo faccio scrivere il file Javascript personalizzato di Woot4Moo nessuno sarà felice, o ancora più importante qualsiasi file che possa ingannare il server nella scrittura. – Woot4Moo
Qui sta il problema - Nexpose mi sta dicendo che è una vulnerabilità. Si potrebbe pensare che uno strumento di scansione delle vulnerabilità potrebbe sapere se qualcosa fosse veramente una vulnerabilità o meno. Tuttavia ho capito che questo potrebbe non essere il caso (il che significa che potrebbe non essere una vulnerabilità) e ho pensato che avrei fatto un buon post su StackOverflow su di esso. – Jagd