Vulnerabilità tipiche di interpreti e script



Una delle caratteristiche più interessanti dei server web è rappresentata dalla loro capacità di interagire con gli utenti attraverso l'elaborazione dell'input per mezzo di appositi script CGI, ASP, PHP, e così via che, a loro volta, sono interpretati da altri programmi esterni detti appunto interpreti.

Purtroppo il prezzo da pagare a fronte dell'esistenza di queste funzionalità aggiuntive è una diminuzione intrinseca dei livelli di sicurezza del server derivante dalla introduzione di meccanismi il cui funzionamento si inserisce all'interno dei normali processi che gestiscono il servizio http.

Infatti la presenza di malfunzionamenti, generalmente imputabile ad imperfezioni del codice, introduce dei punti deboli nel funzionamento di questi meccanismi che possono essere sfruttati da un aggressore per tentare di eseguire localmente sul server determinati comandi.

Il risultato di queste azioni è in genere molto variabile da caso a caso ma in alcuni ipotesi è addirittura costituito dalla fuoriuscita all'esterno di informazioni sensibili, dall'invio tramite e-mail del file delle password (Unix), dalla modifica o dalla cancellazione di informazioni del registro (Windows NT/2000) fino ad arrivare, nei casi più gravi, alla installazione di vere e proprie backdoors ed all'acquisizione del controllo completo dell'host da parte dell'aggressore.

Di regola la gravità delle conseguenze che scaturiscono da queste anomalie è tanto più grave quanto più elevati sono i privilegi nel contesto dei quali avviene l'esecuzione di questi script o dei processi software che li interpretano.
In ogni caso non è corretto pensare che questo tipo di attacchi possa essere evitato dalla semplice circostanza che i parametri per l'invocazione degli script vengono normalmente veicolati da una form html sotto forma di una sequenza del tipo parametro1=valore1&parametro2=valore2... poiché questa rappresenta una ipotesi di corretto utilizzo che, peraltro, non esclude affatto la possibilità di abusi.
Nulla vieta infatti ad un aggressore di costruirsi manualmente una stringa URL che tenti di alterare il normale flusso di esecuzione dello script o dell'interprete sfruttando alcune tecniche particolari quali:

  • l'abuso dei metacaratteri e/o delle sequenze di escape con conseguente encoding della URL (peraltro questa tecnica è anche utile per bypassare quei meccanismi di scoperta delle intrusioni basati sulle cosiddette "signatures");
  • l'overflow del buffer di input e l'induzione all'esecuzione di porzioni di codice arbitrario attraverso tecniche cosiddette di "code injection";
  • l'esecuzione e/o l'invocazione non controllata di particolari funzioni di sistema;

Ad aggravare questa situazione la circostanza che la scoperta e lo sfruttamento di questo genere di vulnerabilità sono oggi alla portata di chiunque, considerata non soltanto l'abbondanza di informazioni al riguardo, ma anche l'enorme disponibilità di strumenti in grado di rilevare l'esistenza di questi punti deboli ed automatizzare completamente la fase dell'attacco verso un qualsiasi server Web.

Vediamo quindi nel dettaglio alcuni degli exploit più pericolosi che in passato, e tutt'oggi, costituiscono la spina nel fianco di molti server Web suddividendoli di due categorie fondamentali:

  1. exploit severi che espongono il sistema ad un elevato rischio di compromissione;
  2. exploit minori che producono conseguenze molto meno negative dei primi (come ad esempio una eccessiva fuga di informazioni all'esterno);

Ultimi articoli Sicurezza

Nmap: tecniche per evadere un firewall

Vediamo come sfuggire ai controlli di un firewall utilizzando Nmap.

Sfruttare vulnerabilità XSS con BeEF

Usiamo BeEF per automatizzare lo sfruttamento di vulnerabilità Cross...

Trojan Flashback: rimuoverlo da Mac OS X

Individuiamo e rimuoviamo il trojan Flashback da Mac OS X

Individuare vulnerabilità in Joomla con JoomScan

Usiamo JoomScan per verificare la sicurezza di Joomla e la presenza...

XSS: attacchi avanzati

Approfondiamo le vulnerabilità Cross Site Scripting analizzando...

Altri articoli

Guide Sicurezza

Guida SQL Injection con Sqlmap

Scopriamo se le nostre applicazioni web sono vulnerabili alle SQL...

Guida sicurezza applicazioni Web

Le tecniche di attacco più comuni, i metodi per verificare la...

Guida Sicurezza wireless

Quali sono i pericoli di sicurezza di una rete senza filo e quali...

Altre guide

Newsletter @Sicurezza

Ogni lunedì, direttamente nella tua e-mail: approfondimenti e bollettini su virus, vulnerabilità e sicurezza informatica.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto