Il blog del Poy

Sicurezza del linguaggio Javascript – strumenti di difesa

Pubblicato da: poyblog su: aprile 14, 2010

Come difendersi dalla tipologia di attacchi rappresentati nell’articolo: http://poyblog.wordpress.com/2010/04/14/sicurezza-del-linguaggio-javascript-metodologie-di-attacco/ ?

Dal punto di vista dell’utente finale le raccomandazioni più importanti sono:

  • non navigare contemporaneamente su più siti quando si è autenticati (il cookie rimane attivo)
  • Effettuare sempre il logout, infatti durante questa fase il cookie vine distrutto, in caso contrario rimane

Dal punto di vista dello sviluppatore è necessario validare tutte le variabili in input:

  • form
  • campi hidden
  • querystring

Per generare del buon codice Javascript è necessario gestire in modo molto accurato gli errori, e di conseguenza adottare delle valide metodologie di debugging.

Un costrutto molto efficace in questo caso è il classico blocco try-catch-finally. Con questo metodo il codice eseguito sta nella sezione try, mentre le eccezioni sollevate vengono gestire dalle sezioni catch. La sezione finally viene sempre eseguita, sia che l’esecuzione termini correttamente sia nel caso in cui si fermi anzitempo; solitamente questo blocco di codice serve per liberare risorse acquisite. Di seguito ecco un esempio di try-cath-finally:

<script type=”text/javascript”>
<!–
try{
document.write(10/0) ;
}
catch(e){

alert(e.message);
}
finally{

document.write(“questo codice viene eseguito comunque.”);
}
–>
</script>

Uno dei metodi migliori per validare i dati immessi dagli utenti è quello di utilizzare le espressioni regolari. Per chi volesse approfondire l’argomento suggerisco: http://it.wikipedia.org/wiki/Espressione_regolare

Sfruttando a dovere la potenza di questo strumento è possibile ridurre al minimo la possibilità di attacchi dato che tutte le stringhe in input sono controllate.

Comunque anche con l’ausilio delle espressioni regolari gli errori di programmazione exploitabili sono sempre possibili. Vale la pena utilizzare dei validi programmi di debug per ridurre al minimo queste probabilità. Ecco due dei maggiori strumenti di controllo:

1 Risposta to "Sicurezza del linguaggio Javascript – strumenti di difesa"

[...] metodologie di attacco via JavaScript, e un altro dedicato invece alle modalità principali di difesa da questi attacchi (sia da parte dell’utente che da parte del [...]

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s

Follow

Get every new post delivered to your Inbox.