Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Vulnerabilità tipiche di interpreti e script

Le più tipiche delle vulnerabilità: gli interpreti e gli script
Le più tipiche delle vulnerabilità: gli interpreti e gli script
Link copiato negli appunti

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¶metro2=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);

Ti consigliamo anche