Newsgroup: it.comp.www.asp
Titolo: Problema sicurezza con i form ed ASP (ne conoscete il nome?)

Nel giugno dell'anno scorso, avevo lanciato un thred
http://groups.google.com/groups?hl=it&threadm=3a51b2bb.11197531%40diesel.cu
.
mi.it
&rnum=7&prev=/groups%3Fq%3D%252Bglauco%2B%252Basp%2B%252Bform%26hl%3Dit
%26selm%3D3a51b2bb.11197531%
2540diesel.cu.mi.it
%26rnum%3D7
su un problema di sicurezza legato all'utilizzo di Form in ASP.
Sotto vi riporto una descrizione sintetica del problema.
Vi volevo chiedere se sappiate esistere un nome per questo tipo di hacking
(che va oltre il mondo ASP). Intendo, un nome o una locuzione tipo "session
hijacking" che permetta di identificare velocemente questo tipo di hacking
in un discorso e che mi permetta un po' di ricerche on line su questo
problema di sicurezza.
********  Descrizione del problema di sicurezza  ************
Il problema e' piuttosto semplice:
supponiamo che ci sia una pagina form.asp che visualizza un form, ed
una pagina formAction.asp che viene richiamata dal SUBMIT per la
gestione del form stesso.
Supponiamo che, nella pagina html prodotta da form.asp ci sia un campo
a tendina, con due opzioni tra cui scegliere.
Supponiamo che un utente furbetto, si scarichi la pagina html prodotta
sul desktop e la modifichi, aggiungendo una terza opzione che, io,
nella pagina form.asp avevo escluso per quell'utente.
Supponiamo poi che carichi nel suo browser la pagina cosi' modificata,
selezioni la terza opzione e poi spedisca il form.
Se la pagina formAction.asp non fa qualche controllo specifico,
fidandosi di quanto prodotto da form.asp, andra' ad aggiornare un
campo di database con un valore non ammesso.
Ogni tanto questo tipo di problema mi si propone e, di volta in volta,
risolvo aggiungendo controlli nella pagina di gestione dei dati del
form, ma questi (spesso pesanti) non sarebbero necessari se si avesse
la garanzia che l'utente non possa modificare il codice html prodotto.
Ho analizzato le server variables, ma quelle che potrei usare, si
basano sulle intestazioni http, che potrebbero essere
modificate da un utente sveglio (visto che partono dal browser).
--
VBSdb - VBScript for Database
http://www.vbsdb.com
VBSdb is an open source VBScript object for fast ASP development


Moderatore di it.comp.www.asp
http://www.aspitalia.com
 Enjoy the .NET community!
http://www.dev2dev.it
 La rete ha connesso nuove particelle!

 un utente piů che smaliziato...
Mi guardero' meglio il viewstate di 
ASP.NET
, ma il mio problema non e' tanto
quello dell'identificazione effettiva dell'utente (c'e', ma session
hijacking a parte si risolve bene), ma quello di verificare che, ad esempio,
non mi modifichi il set di dati ammissibili che gli metto in una tendina.
Io avevo pensato a crittografare i value delle tendine, ma ho visto che non
sarebbe granche' sicuro comunque (non sto a spiegare perche' per non
tediarvi).
Ho pensato ad una soluzione piu' drastica (ripeto la logica che mi aveva
fatto creare la tendina anche quando eseguo la action). Insomma, la
soluzione ce l'ho in mente, ma siccome vorrei spiegare questa modifica che
devo apportare VBSdb ai miei clienti, che sono a loro volta sviluppatori
ASP, vorrei presentare loro questo problema di hacking denominandolo.
Esiste un nome con cui viene identificato?
Glauco


 wrote in message
a4lapr$t2l$1...@ventolo.computerville.it...


 Esiste un nome con cui viene identificato?
puoi chiamarlo form spoofing, ma è una cosa che mi sono inventato.
è che il web è tutt'altro che un mondo sicuro, purtroppo :-(


 modificate da un utente sveglio (visto che partono dal browser).
Be'... se proprio non puoi fare a meno di questa eventualità, crea una
variabile session all'ingresso del sito, con un valore random che ogni
utente si porta dietro in ogni pagina (attraverso un campo hidden del form).
Metti un controllo di questo valore nella pagina che accetta il form
(se il valore di SESSION = valore passato con il FORM) ed
escludi, così, i valori dei form che NON provengono da una pagina
sul tuo server.
Credo che funzioni!... vero db [D2D001] ?
(che poi una buona volta ci spieghi che vuol dire db [D2D001] :-)) ?)

 ha scritto:
} Supponiamo poi che carichi nel suo browser la pagina cosi' modificata,
} selezioni la terza opzione e poi spedisca il form.
puoi controllare la pagina di provenienza con le variabili server, se è quella
giusta procedi altrimenti no...
Saluti. Carlo.
--
Per rispondere via e-mail
togliere TOGLIMI dall'indirizzo.
E-mail: 
carl...@tiscalinet.it
Foglio Excel sulle tariffe telefoniche
Web I : 
http://web.tiscalinet.it/carlonike
    II: 
http://dadacasa.supereva.it/carlo_nike/
Scrivi il senso dei tuoi messaggi già nell'oggetto,
sarà più facile ottenere le risposte che cerchi.

 (che poi una buona volta ci spieghi che vuol dire db [D2D001] :-)) ?)
l'ho spiegato su it.lavoro.professioni.webmaster.
vuol dire semplicemente particella 001 di dev2DEV.it :-)
