10 tipi di attacchi web

Da premettere che le tematiche trattate sfruttano delle falle datate… E’ però disarmante vedere la facilità con cui queste tipologie di attacchi vengono portate a termine. Durante la lettura fate riferimento al link che trovate in fondo all’articolo che vi mostrerà visivamente gli attacchi in questione:

 

1) Hidden Manipulation

L’esempio si riferisce ad un negozio online. I campi nascosti sono spesso usati per conservare le informazioni sulla sessione del cliente, eliminando così la necessità di gestire un complesso database sul lato server (vale a dire del negozio). Nell’esempio vediamo come, modificando il codice html di un campo nascosto, si riesca a pagare un articolo presente in un negozio online ad un prezzo da noi impostato. Basta visualizzare il sorgente della pagina web tramite il proprio browser internet, trovare il campo “hidden” (semplicemente usando la funzione “cerca”), modificare l’ammontare di “value” a proprio piacimento, salvare il sorgente sul proprio computer con estensione html, aprire il file che abbiamo appena salvato, procedere al pagamento dell’articolo come di consueto.

2) Cookie Poisoning

Diverse applicazioni web utilizzano i cookie per conservare svariate informazioni (nome utente, ultima data di accesso al sito, ecc). I cookie sono ovviamente salvati sul computer dell’utente (lato client). Le informazioni registrate nei cookie sono in genere cifrate. Non sempre però il tipo di cifratura utilizzato è dei più validi… In questi casi è facile modificare le informazioni contenute in tali file. L’esempio mostra appunto una modifica di un cookie con lo scopo di assumere l’identità di un altro cliente all’interno di un negozio online.

3) Backdoor & Debug Option

In alcuni siti web può accadere che siano lasciate aperte, consapevolmente o per dimenticanza (si spera per dimenticanza!), le “debugging options”. Queste vengono utilizzate dagli sviluppatori del sito per effettuare appunto un “debug” durante la fase di sviluppo dell’interfaccia web. Una volta ultimata la fase di sviluppo le debug options non dovrebbero più essere attive in quanto possono essere richiamate da chiunque (ovviamente anche da chi non è amministratore del sito): nell’esempio vediamo che sono richiamate tramite il comando “debug=on” che viene inserito direttamente nell’URL. Diventa quindi possibile andare a modificare il sito o addirittura eseguire del codice sul lato server. Nell’esempio (per fortuna praticamente impossibile che si verifichi nella realtà!!!) si vede come un malintenzionato possa sfruttare questa falla per operare un trasferimento di fondi fraudolento tra due conti bancari.

4) Buffer Overflow

Il Buffer Overflow è una tecnica che può paralizzare l’intero sistema. Può persino essere utilizzato in modo da far “cadere” un server per prenderne successivamente il controllo. L’esempio proposto spiega con estrema chiarezza come viene causato un buffer overflow. C’è un form da compilare: visualizzando il codice sorgente della pagina notiamo che, in uno di questi campi, è previsto che vengano digitati dall’utente un massimo di 30 caratteri. I caratteri che digitiamo, una volta inviati al server, vengono “immagazzinati” in uno spazio detto buffer. I buffer hanno una lunghezza prestabilita: cosa succede se l’utente immette più dati di quanti il buffer possa contenerne? Esatto: un buffer overflow. Nell’esempio si ottiene l’overflow andando a modificare il codice html relativo al campo “maxsize” che indica appunto la lunghezza massima di caratteri utilizzabili: viene variato da 30 a 10.000 con la conseguenza che il buffer non riesce ad immagazzinare tutti questi dati.
Ma il pericolo potrebbe anche essere maggiore! Gli hacker spesso inviano un blocco di dati suddiviso in due parti: una, contenente dati inutili, ha il solo scopo di saturare il buffer; l’altra parte, non potendo essere contenuta nel buffer, verrà scritta in una porzione di memoria adiacente. Su questa seconda parte di dati non viene in genere effettuata alcuna verifica: l’hacker può quindi scrivere del codice pericoloso grazie al quale può persino prendere il controllo dell’host vittima.
Vi sono comunque diversi modi per evitare un buffer overflow: uno potrebbe consistere nell’implementare un controllo sull’input immesso dall’utente.

5) Stealth Commanding

L’esempio si riferisce ad un sito web da cui è possibile organizzare dei viaggi calcolando i percorsi da un punto ad un altro. Il campo utilizzato per raccogliere le informazioni riguardanti gli indirizzi è potenzialmente pericoloso. In questo caso il malintenzionato vede che il sito web permette l’esecuzione di codice eseguibile. Inserendo un comando che va ad agire sul lato server nel campo teoricamente riservato all’indirizzo stradale, l’hacker riesce a chiedere al server di mostrare la chiave di cifratura utilizzata dal Secure Sockets Layer (SSL).

6) 3rd Party Misconfiguration

Errori di configurazione in prodotti di terze parti (come software, database e server web) possono essere sfruttati per attaccare un sito. Per esempio, se mal configurato, “newdsn.exe” potrebbe essere utilizzato da un hacker per scrivere un file dovunque nel disco sul quale è presente il sito web.

7) Know Vulnerabilities

Sfruttare delle vulnerabilità già note è uno dei metodi più semplici per portare a termine un attacco. In rete esistono diversi siti web che si occupano di diffondere informazioni relative alla scoperta di nuove vulnerabilità. Tanto per citarne due:
http://www.securityfocus.com/
http://www.milw0rm.com/
L’esempio si riferisce ad una vecchia vulnerabilità di ASP (Active Server Page). In numerosi siti web è presente un link dal quale l’amministratore può fare il login per poter così accedere velocemente alla gestione del sito stesso. Il malintenzionato apre questo link ed aggiunge semplicemente “::$DATA” alla fine dell’URL. Dopo aver fatto un refresh l’hacker riesce a scaricare sul proprio computer il codice sorgente riferito al login. Aprendo questo file col comune block notes riesce a vedere nome utente e password dell’amministratore: a questo punto ha l’accesso completo al sito web.
La vulnerabilità presa ad esempio è datata ed ormai quasi tutti i siti internet che utilizzano la tecnologia “asp” dovrebbero aver posto rimedio alla falla. Però ogni giorno vengono scoperte nuove vulnerabilità, ci sono sempre tanti bug da correggere e patch da applicare: riuscire a trovare una vulnerabilità da sfruttare non è quindi un’impresa difficile.

8 ) Parameter Tampering

Come abbiamo già avuto modo di vedere, alterando alcuni parametri all’interno dell’URL, possiamo avere accesso a diverse informazioni. Questo esempio si riferisce ad un negozio online (per la precisione una farmacia). All’interno di questo negozio ogni utente, identificandosi con username e password, può accedere ad una sezione personale in cui ha la possibilità di creare un proprio profilo o comunque di immettere informazioni riservate. Se facciamo il login a tale sito possiamo vedere che nell’URL compare il nostro nome (o quantomeno un numero identificativo che ci contraddistingue univocamente da qualsiasi altro utente): ad esempio alla fine dell’URL possiamo notare una stringa del tipo “id=950865”. Cosa succede se sostituiamo un asterisco al nostro numero identificativo (“id=*”)? Riusciamo ad avere accesso ai profili personali di tutti gli utenti registrati al negozio online.

9) Cross Site Scripting

L’esempio si basa nuovamente sulla modifica di codice html contenuto all’interno di un campo nascosto. In questo caso la falla viene però utilizzata per defacciare il sito web. Per prima cosa l’hacker modifica la posizione in cui verranno salvati i commenti: a “value” viene sostituito il riferimento al file di testo “comments.txt” con un altro file con estensione html (DemoMain.html). In seguito l’hacker, invece di lasciare un classico commento testuale, scrive all’interno del form un vero e proprio script: nell’esempio si tratta di un codice Javascript che andrà a modificare l’homepage del sito web.

10) Forceful Browsing

L’esempio fa riferimento ad un sito web che fornisce gratuitamente materiale con il quale far divertire i propri bambini. L’unica condizione per poter aver accesso al materiale gratuito è di inserire qualche informazione relativa appunto ai nostri bambini. Se analizziamo il codice sorgente della pagina web vediamo che il programmatore ha fatto in modo che l’utente non possa avere accesso diretto al database. Le eventuali informazioni sui bambini che vengono inserite non saranno quindi immesse direttamente nel database: saranno invece salvate in un file temporaneo che, una volta al giorno, sarà poi aggiunto al database presente sul lato server. Sicuramente una buona misura di sicurezza. Peccato che il programmatore abbia anche indicato il percorso esatto in cui si trova questo database: “/private/kids.cvs”. Aggiungendo “/private/kids.cvs” alla fine dell’URL possiamo così avere accesso all’intero database.

Eccovi il link del filmato:
http://www.usechi.net/docus/Hackers_Final_Web_v7.swf

~ di 2BFree su aprile 9, 2007.

2 Risposte to “10 tipi di attacchi web”

  1. hehe ke tajo regà

  2. non funge kuella di scrivere ::$DATA alla fine del link

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: