42 messaggi dal 24 maggio 2001
Cari "colleghi",

ho una grave situazione da farVi presente.

Su di un mio sito, il cui accesso è consentito a soli utenti registrati, viene eseguito pure un controllo "case sensitive".

Poi ieri su di una MailingList, della quale non faccio nomi per motivi ben ovvi e per il diritto alla privacy, ha cominciato a girare un msg nel quale dicevano che le login via ASP, e relative query su MDB, non erano sicure.

Si parla di un "trucco" con gli apici e doppie virgolette.
Incredulo del tutto ho scritto direttamente all'autore del msg x dirgli che secondo me la cosa non fosse possibile, invitandolo sul mio sito a tentare la forzatura del sistema.

Beh, non chiedetemi come ma ieri sera, visto che io al mio sito non mi sono collegato, mi sono ritrovato nel LOG del sistema un collegamento con la mia UserID e Password, ricevendo successivamente una mail dall'individuo il quale mi scrive "vedi che è possibile?? :-) Ti conviene aggiornare tutto" indicandomi pure il numero IP, che corrispondeva, che aveva ieri sera...

Ragazzi AIUTO!!!! c'è qualcuno che sa darmi una spiegazione??
E' impossibile che la persona sia venuta a conoscenza della mia userid e password visto che non la sa nessuno e successivamente la password la cambio ogni 2 giorni.

Sono nelle vostre mani.

$aRtO

spiega meglio questa storia, cmq, ti basta fare un controllo (se sono gli apici che danno fastidio) ed eliminarli, eventualmente, con un Replace...

--
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
42 messaggi dal 24 maggio 2001
<b>Daniele Bochicchio ha scritto:</b>
<BLOCKQUOTE id=quote><font size=1 face="Arial" id=quote>quote:<hr height=1 noshade id=quote>
spiega meglio questa storia, cmq, ti basta fare un controllo (se sono gli apici che danno fastidio) ed eliminarli, eventualmente, con un Replace...

--
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
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Arial" size=2 id=quote>

il fatto è che nenach'io so come diamine abbia fatto.

Lui mi ha detto che è un trucco con gli apici e virgolette... è questo che vorrei sapere per poter modificare il sorgente.

Io faccio semplicemente una query:

Select * from utenti where id='nomeutente' and pswd='password'


vi prego, ho dovuto chiudere il sito per questo!!!!

$aRtO



40 messaggi dal 14 marzo 2001
Guarda anke sul mio sito ho avuto un problema analogo ...
Un mio amico è riuscito ad entare in aree riservate a me grazie ad un semplice trucco ... ti spiego:

Lui potrebbe inserire al posto del nome utente o della password un pezzo di query in modo tale che la query si comporti a suo piacimento ...

Io ho risolto il problema in questo modo .. non so se c'è un modo migliore ma adesso (per il momento ) va tuto ok

if ( (nickname.indexOf("%") != -1) ||
(nickname.indexOf("'") != -1) ||
(nickname.indexOf("password") != -1) ||
(nickname.indexOf("nickname") != -1) ||
(password.indexOf("%") != -1) ||
(password.indexOf("'") != -1) ||
(password.indexOf("password") != -1) ||
(password.indexOf("nickname") != -1) )

Non so se è la stessa cosa anke per te .. ma ti ho dato un'idea .


|-------------------------------------------------|
RedFox78
"Non può piovere per sempre"
|-------------------------------------------------|

|-------------------------------------------------|
RedFox78
"Non può piovere per sempre"
|-------------------------------------------------|
902 messaggi dal 19 aprile 2001
in effetti togliendo gli ' e gli % e direi anche gli = (per evitare che infili un mezzo una query del tipo 'or 5=5 not')
Proporrei un brainstorming per tirare fuori tutte le possibili quer che possono crackare il modulo.

*****************************
Traspi.net - magazine on line
http://www.traspi.net
Da Torino al mondo Internet il nuovo magazine on line di cultura, creatività, informazione e servizi.
mailto:webmaster@traspi.net
*****************************

Traspi.net
Da Torino al mondo Internet il magazine di cultura, creatività e informazione.
www.traspi.net
Mauro Tortone
webmaster@traspi.net
153 messaggi dal 20 aprile 2001
Non ditemi che prima di passare i parametri nella clausola SQL non raddoppiate gli apici!
E' una norma banale in tutte le clausole SQL, che consente di trattare correttamente le stringhe con gli apici. Analogamente si sostituiscono, nelle clausole SQL, gli % con [%] e gli * con [*], in modo da poterli cercare come caratteri, non come caratteri jolly.

Poi:
Potete impostare dei criteri tipo:
1. Caratteri consentiti e non consentiti:
Apici, doppi apici, tag html, spazi e comandi vari, %, *, ecc

2. Lunghezza minima e massima delle parole.

3. Parole proibite (tipo black list) fra cui un po' di istruzioni SQL, comandi S.O., ecc.

4. Numero massimo di tentativi per registrarsi, tenendo conto che l'utente potrebbe aver disattivato i cookies e quindi le variabili di sessione non funzionerebbero.

5. Spaventatelo avvisandolo di aver generato un "<b>hacking report</b>" in cui siano state registrati tutti i suoi dati e che questi sono stati immediatamente inviati al webmaster, sia al suo provider (magari bleffando).

6. Usate i cookie per registrarlo o individuare se era già stato registrato (non si sa mai ma i furbi non sono mai troppo furbi).

7. Disattivate (temporaneamente) il suo indirizzo IP.

8. Fate un piccolo script per codificare/decodificare le password e nomi utente nel db, in modo che se qualcuno apre il db o esegue un semplice SELECT * FROM users... al massimo recupera dei codici inutilizzabili.

Poi vediamo se ci vengono in mente altre idee...

HD
____________
Posso indicarti la strada, ma poi devi seguirla da te.
fai un bel controllo con reg exp...

a-zA-z0-9

tutti i numeri e le lettere dell'alfabeto, maiuscole e minuscole ed escludi tutti gli altri caratteri. così stai già a posto.

oppure, puoi anche usare un Server.HTMLEncode...

cmq, credo che il metodo che abbia usato per "craccare" il sistema sia stato quello di usare un ' come nome utente, ricevendo un errore che gli ha mostrato magari la posizione di un include e ricavandosi automaticamente la posizione del db access. una volta scaricato si è copiato user/pass ed ha fatto l'eroe

--
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
41 messaggi dal 01 giugno 2001
ho appena provato con un mio sito
ma usando gli alias ODBC
è possibile lo stesso scaricare il db che oltretutto non sta neanche nella root del sito stesso !?

grazie
Jerry

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.