è più difficile sapere il percorso reale del database, ma se riescono ad installarti una specie di esplora risorse via web, sfruttando qualche falla, arrivano anche a quello...

niente è sicuro al 100%, se sta collegato alla rete...

--
Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>
http://store.aspitalia.com/scheda.asp?codice=255 ASP 3 per esempi - il mio libro

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
153 messaggi dal 20 aprile 2001
In parole povere, occorre scrivere codice che non solo "funzionicchi", ma sia in grado di reagire di fronte a situazioni non previste. Ed anche una gestione degli errori sarebbe da implementare sempre (cosa che si fa obbligatoriamente in altri linguaggi).


HD
____________
Posso indicarti la strada, ma poi devi seguirla da te.
42 messaggi dal 24 maggio 2001
<b>HelpDesk ha scritto:</b>
<BLOCKQUOTE id=quote><font size=1 face="Arial" id=quote>quote:<hr height=1 noshade id=quote>
In parole povere, occorre scrivere codice che non solo "funzionicchi", ma sia in grado di reagire di fronte a situazioni non previste. Ed anche una gestione degli errori sarebbe da implementare sempre (cosa che si fa obbligatoriamente in altri linguaggi).


<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Arial" size=2 id=quote>

Ok, ringrazio per tutte le vostre risposte, ma il problema mi persiste.

Con quale stringa può essere forzato il sistema??

Devo prevedere ovviamente, come da voi descritto, l'impossibilità d'inserimento dei caratteri "jolly" e degli apici...

ma come diamine ha fatto??

Non mi serve per Hackare dei siti, ma bensì per poter testare se le modifiche al mio codice hanno avuto successo o meno.

Grazie, $aRtO



153 messaggi dal 20 aprile 2001
In una situazione reale bisogna tenere conto, specie queando si gestiscono delle stringhe prelevate dall'utente ed utilizzate per generare dei comandi, che non contengano elementi che potrebbero mandare in crisi il comando e fare anche dei danni.
Di solito non è la bravura dell'utente, ma una dimenticanza (magari inesperienza) del programmatore. Ma cio' non vale solo nei confronti di utenti "maliziosi", ma nei confronti di tutti.

Ad esempio se il carattere apice viene interpretato come "delimitatore di una stringa" in SQL, occorre modificarlo in modo che sia innocuo, ma che un utente possa tranquillamente usarlo, magari quando scrive un nome, come ad esempio "D'Agostino".
Se lo script fallisce in una situazione simile, non c'e' dubbio: il problema è del programmatore, non dell'utente.
E un utente malizioso potrebbe, scoperto il buco, provare a scrivere un pezzo di clausola sql, che funzioni in quel contesto.

Idem per i simboli speciali come il % ed il *
il carattere apice, in SQL e' rappresentato da due apici.
il carattere * e % devono essere inseriti tra parentesi quadre e non fanno più danni.

<b>
stringa=request.form("casella")
stringa=replace(stringa,"'","''")
stringa=replace(stringa,"*","[*]")
stringa=replace(stringa,"*"," ")
sql=SELECT * FROM Parole WHERE parola = '& Stringa & '
b</b>
non farà piu danni.
Ovviamente se quei caratteri non sono ammessi in un nome utente o in una password, basta fare un controllo aggiuntivo.

Se usi javascript, tra l'altro, occorre tenere conto dei caratteri speciali.



HD
____________
Posso indicarti la strada, ma poi devi seguirla da te.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.