SSI Injection

SSI Injection (Server-Side Include) è una tecnica lato server che consente ad un hacker di inviare codice “ad hoc” ad una web application, che verrà poi eseguito localmente sul server. Questo attacco sfrutta l’incapacità di una web application nel “ripulire” i dati forniti dall’utente prima di essere inseriti in un file interpretato successivamente dal server

L’attacco è usato per compromettere siti web che contengono dichiarazioni di tipo SSI (Server-Side include). Queste dichiarazioni non sono altro che particolari TAG usati per esempio da file di ambienti CGI (Common gateway interface), per inserire la data dell’ultima modifica di un file HTML prima che esse venga mandata al richiedente, sostituendo questo valore li dove appare il TAG SSI. In una SSI Injection questi valori variabili vengono modificati da un attaccante esterno. Questo permette all’attaccante di aggiungere, alterare o eliminare file HTML sul server. Rende anche possibile per l’hacker avere l’accesso a tutte le risorse del server.

In sostanza, gli attacchi SSI consentono di sfruttare un’applicazione web iniettando script in pagine HTML o eseguendo il codice in remoto arbitrariamente. Si possono sfruttare queste vulnerabilità manipolando le applicazioni server che includono dei file (SSI).

 

Un esempio:

Il seguente tag SSI permette all’attaccante di ottenere la lista dei file della directory di root su un sistema basato su UNIX.

< !–#exec cmd=”/bin/ls /” — >

 

Per proteggere l’integrità del nostro sito web, gli esperti consigliano al solito di filtrare determinati caratteri nei form di input. Di controllare inoltre il tipo e il numero di caratteri che il server accetta dagli utenti.

Torna all'inizio