La modalità 'view-source' del browser evita gli attacchi di scripting?

29

Diciamo che c'è un URL www.badjs.com che non è affidabile e potrebbe contenere script non validi.

Intuitivamente, una navigazione view-source a quell'URL non esegue alcun script quindi dovrebbe essere sicuro. Mi permetterebbe almeno di ispezionare la fonte in sicurezza.

Ma l'intuizione è un modo terribile per trarre conclusioni sui problemi di sicurezza, quindi la mia domanda è:

View-source è un modo sicuro per guardare un sito web da una prospettiva di js script injection?

    
posta tohster 29.03.2015 - 18:29
fonte

3 risposte

34

Sì, è assolutamente sicuro (in Google Chrome) aprire un sito Web non sicuro in modalità view-source . Il punto chiave da notare qui è che dovresti "aprire" la pagina in modalità view-source , il che significa che non dovrebbe consentire il verificarsi di alcun rendering normalmente caricando prima la pagina Web e quindi visualizzando la fonte.

Un esempio in Google Chrome sarebbe view-source:http://www.badjs.com/

In base alla progettazione, Google Chrome avvierà una nuova richiesta GET al server e fornirà al browser client la versione non modificata della pagina Web quando si trova in modalità view-source .

Potresti anche utilizzare un'estensione o un componente aggiuntivo No-Script per il tuo browser specifico per impedire attacchi di script.

    
risposta data 29.03.2015 - 18:40
fonte
22

Anche se è attualmente sicuro su Chrome, non dovresti basare i controlli futuri su questo. Le cose possono cambiare in qualsiasi momento e non ho visto la mancanza di rendering come una funzionalità specificatamente documentata.

Se vuoi vedere il codice, è molto meglio scaricare la pagina tramite uno strumento da riga di comando ( curl per istanza) e analizzare cosa è stato caricato e salvato in un file. Questo ha anche il valore aggiunto di testare facilmente varie pagine che potrebbero essere eventualmente servite in risposta a diversi User-Agent.

    
risposta data 30.03.2015 - 12:23
fonte
0

Anche se non c'è niente di sbagliato con le altre risposte che dicono che al momento è al sicuro, c'è un potenziale malinteso in corso. Hai detto che volevi usarlo per verificare se un sito è sicuro, quindi presumibilmente caricheresti una pagina normalmente dopo che non hai trovato alcun contenuto dannoso durante la visualizzazione della fonte. Se questo è vero, allora devi essere consapevole che i siti web sono in grado di rilevare (o almeno dedurre) che stai usando view-source: . Non solo, almeno su Firefox, non utilizza la cache, il che comporta il caricamento della pagina una seconda volta, ma non carica altre risorse. Se un sito vede una persona con un normale agente utente del browser connettersi ma non caricare altre risorse, può dedurre che l'utente sta controllando la fonte. È semplice automatizzare questo rilevamento e pubblicare solo JavaScript dannoso da una risorsa nel caso in cui venga caricato insieme a tutto il resto della pagina. Ciò nasconderebbe la sua presenza dall'ispezione dell'origine, nonostante il sito Web continui a fornire all'utente codice JavaScript dannoso.

Una possibile soluzione sarebbe usare Inspect Element, che guarda la pagina attualmente aperta e consente di leggere la fonte. Questo è molto più difficile da rilevare (anche se non impossibile, dato che i CSS possono determinare le dimensioni della finestra del browser, che si restringe di una quantità specifica quando l'elemento inspect è aperto). Ispezionare l'elemento è più complesso e potrebbe essere più sfruttabile di view-source: , quindi è necessario applicare la modellazione delle minacce in questa situazione.

    
risposta data 21.12.2017 - 07:00
fonte

Leggi altre domande sui tag