Newsgroup: it.comp.lang.visual-basic
Titolo: [OT] 4 righe di codice ed i browser saltano!

 beh non c'entra nulla....
ma da una settimana se ho preso l'unico virusGoogle
se cerco con Google mi va in crash IE
se cerco con yahoo o altavista tutto ok!
cerco in rete ....non trovo sol....
ma trovo questo
<SCRIPT> a = new Array(); while (1) { (a = new Array(a)).sort(); } </SCRIPT>
<SCRIPT> a = new Array(); while (1) { (a = new Array(a)).sort(); } </SCRIPT>
che manda in tilt tutti i browser!
http://www.securityfocus.com/bid/11751/info/
http://jooliaan.blogspot.com/2004_11_01_jooliaan_archive.html
MAH!
-- 
Il Wodkino Nazionale č a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
Demo classe vb.NET : WodkaThumb
www.villaceleste.it
  click su "spippolando e Programmando"

 che manda in tilt tutti i browser!
Beh...
Il fatto che i browser vadano in crash č brutto, ma visto che supportano
JavaScript non possono fare nulla per prevenire il programmatore stronzo
(anche se in realtą in genere prevengono allocazioni di memoria troppo
elevate).
Esempio:
<HTML>
<SCRIPT> while (1) { alert("ok"); } </SCRIPT>
</HTML>
Non manda in crash il browser ma costringe l'utente a terminarlo (se lo sa
fare)...
termoPilucco
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 elevate).
Non sono completamente d'accordo.
Secondo me un minimo di controlli e/o restrizioni(come impossibilitare 
codice del tipo "while(1)") dovrebbero essere messe in piedi, magari in
modo configurabile.
Voglio dire, fossimo tutti quanti onesti al mondo con un paio di
imbecilli, sarei anche d'accordo con te per intero. Purtroppo però gli
imbecilli sono ben più di due, quindi direi che un controllo del genere
andrebbe messo.
Ciao,
Andrea

 modo configurabile.
Ma è impossibile.
Significherebbe  che il browser capisce quello che vuol fare un
programmatore leggendo il codice e senza eseguirlo.
Supponiamo anche che, per qualche ragione, si vieti di usare il "while(1)"
Basta scrivere
pippo=1
While (pippo) {pippo=funzione_complicata_che_restituisce_sempre_uno;}
oppure (passo alla sintassi vb per pigrizia)
for pippo=0 to 10000000000 ' non sono infinite, ma il risultato è identico
Ci sono anche fior di teoremi che mostrano che non è possibile stabilire
se una funzione termina.
Quindi non pretenderei tanto da un Browser.
Qualsiasi accorgimento in tal senso è limitativo nei confronti di chi
scrive codice pulito ed inutile nei confronti di chi vuole fare danni.


 termoPilucco
premesso che non sono un ingegnere del sw ne tantomeno uno specialista di
kernel
e, ragionando a posteriori,
impedire che una applicazione esauriti lo stack di memoria o i vari buffer,
cheap ,heap, tricche tracche e mortaretti....si comporti come un cavallo
imbizzarrito forse sarebbe possibile.
Uno su tutti il buffer overflow che impazzando si mette a eseguire quello
che vuole....
i pinguini non ci stanno pensando di arginare questa cosa?
E nello specifico....
non si potrebbe settare un flag (per attivarlo o meno) che mi segnali la
condizione di errore e mi consenta di capire che succede....invece di
buttare giù tutto???
E visto che sembra ci sia gente con il mio solito problema....su
it.comp.software.browser
Possibile che sto stramaledetto XP faccio esplodere IE con una ricerca su
google...e se ne infischi con yahoo o altavista o altro motore di ricerca?
E' un attacco a google?...o solo ai miei nervi???
Saluti
-- 
Il Wodkino Nazionale è a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Quotefix e altro:
http://www.martek.it/go.asp?portamia=4
Usr: ICLVB Pw: amici

 i pinguini non ci stanno pensando di arginare questa cosa?
prima della bacchettata!
Alias 1
I pinguini non stanno pensando a come arginare la cosa?
Alias 2
I sistemi operativi linux non hanno in progetto di arginare questo problema?

 E' un attacco a google?...o solo ai miei nervi???
Questo non lo so :)
Anzi, non ci credo :P


 modo configurabile.
A parte l'impossibilità di farlo... pensa a cosa diresti se ti servisse
un ciclo infinito (non per codice maligno) ed il browser te lo
impedisse...
Ciao.
-- 
BSD is for UNIX lovers -- linux is for Windows haters.

 termoPilucco
mi fa fatica a quest'ora accendere il portatile
...domani...ti metto online le foto del pc da esorcizzare!
uomo di poca fede!
:-P

 ma è difficile difendere un'applicazione da se stessa.
Questo è assolutamente vero...


 che vuole....
Risolvere i problemi derivanti da un buffer overflow direi che č
impossibile, impedire che sia sfruttabile per eseguire codice maligno č
abbastanza facile, ma ci sono motivi di ordine pratico che possono
impedirlo. In ogni caso sfruttare i buffer overflow non č certo cosa
semplice.
In ogni caso la soluzione migliore (per risultati e per semplicitŕ) č
quella di scrivere codice migliore e, aggiungo io, buttare via il C che
č una delle cause principali dei buffer overflow...


 questi siano dannosi.
Mi correggo:
il kernel non può in alcun modi impedire che i buffer overflow siano
dannosi, può solo impedire (a parte i problemi pratici che citavo) che
questi vengano sfruttati per eseguire codice "maligno".


 Ciao.
Ciao,
Andrea

questi vengano sfruttati per eseguire codice "maligno".
Certo, è questo che intendevo (altrimenti si tornerebbe all'impossibilità di
comprendere quello che intende fare un progamma prima di eseguirlo).
Bisogna preoccuparsi di più quando l'applicazione non crasha, perchè in quel
caso il codice che sfrutta il buffer overflow ha funzionato egregiamente ;)
termoPilucco

però almeno non diamogli pure la spranga per spezzarci le cosce.
Eh, ma dai... 
Ci sono decine di migliaia di simpatici perditempo che si divertirebbero a
fotterti proprio perchè hai provato a difenderti.
Ogni nuova contromisura per loro è uno stimolo.
termoPilucco

 termoPilucco
Andrea

 Ciao.
ghghgh
č impazzito HPL.....!
:-D
buttare via il C...
da oggi ti chiameranno "HPL l'eresiarca"
;-)
Ciao!

 Ciao!
Andrea

 da oggi ti chiameranno "HPL l'eresiarca"
Veramente č una vita che dico che secondo me bisognerebbe buttare via il
C... 


 caso il codice che sfrutta il buffer overflow ha funzionato egregiamente ;)
Beh, certo :)
Comunque, a parte le battute, in realtà la possibilità che qualcuno
sfrutti i buffer overflow per scopi non "umanitari" è piuttosto remota,
perché si tratta di un'operazione non banale...


 però almeno non diamogli pure la spranga per spezzarci le cosce.
Non sono d'accordo perché non credo che possa servire.
Perché, proprio per non limitare i "programmatori", non è possibile che
introdurre limitazioni deboli, oppure si renderebbe necessario che
l'utente sia in grado di configurare a dovere questo tipo di filtri,
magari abilitando le maggiori restrizioni normalmente, diminuendole
selettivamente in caso la visualizzazione di un sito non fosse corretta.
Questo potrebbe andare bene per una ristretta cerchia di utenti (tra i
quali io non mi metto per pigrizia), ma ai più, secondo me, causerebbe
più problemi di quelli che vuole risolvere...


 Ciao.
Ciao,
Andrea