Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #20977
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Newsgroups | it.comp.www.php |
| Subject | Re: istruzione eval() |
| Date | 2016-06-22 11:27 +0100 |
| Message-ID | <dsv7h4Fo85sU1@mid.individual.net> (permalink) |
| References | <nkb8rb$2mab$1@adenine.netfront.net> <ccqimb9kv225d5h78motmcsqrli4tvo165@L.Serni> <nkc0jp$27el$1@adenine.netfront.net> <h3jjmb91pm79gubcvfpvv67fm050usf4r2@L.Serni> <nkdmnm$234d$1@adenine.netfront.net> |
On 22/06/2016 10:45, Alex wrote: > Leonardo Serni scriveva il 22/06/2016 : >> Se hai del codice scritto male, dove eval() può fare dei danni, allora >> tappare le porte a eval() non ottiene assolutamente niente. Perché per >> poter funzionare, una sequenza come "eval" deve essere _ESEGUITA_. > Per essere eseguita, basta chiamarla per nome ... Il punto è: chi la chiama per nome? Se è il tuo codice a farlo, vuol dire che tu stai usando eval per eseguire qualcosa che l'utente ti ha mandato, e qui il problema è tuo. Se viene eseguito perchè permetti all'utente di scrivere nello spazio pubblico del sito (upload area o simile), allora gli basta caricare un file .php e andarci subito dopo. Non gli serve eval(). Praticamente tutti gli altri casi ricadono in queste due casistiche e nella loro combinazione. Se usi un motore di templating, tipo twig, che usa eval per motivi prestazionali, e gli passi roba creata dall'utente, ricadi nel primo caso. Se, sempre in twig, disabiliti l'escaping sull'output di una variabile caricata dall'utente, e lui carica php, ricadi nel secondo caso (ma può caricare anche codice js per CSRF e simile). Se stai usando plugin joomla che usano male eval, non usarli. O non usare joomla. :) Insomma, come dice Leonardo, intercettare eval è forse l'ultimo dei tuoi problemi di sicurezza. Bye.
Back to it.comp.www.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
istruzione eval() Alex <tommaso5ita@yahoo.it> - 2016-06-21 13:36 +0200
Re: istruzione eval() Leonardo Serni <lserni@gmail.com> - 2016-06-21 18:31 +0200
Re: istruzione eval() Alex <tommaso5ita@yahoo.it> - 2016-06-21 20:21 +0200
Re: istruzione eval() fmassei@gmail.com - 2016-06-21 12:00 -0700
Re: istruzione eval() Leonardo Serni <lserni@gmail.com> - 2016-06-22 01:37 +0200
Re: istruzione eval() Alex <tommaso5ita@yahoo.it> - 2016-06-22 11:45 +0200
Re: istruzione eval() Alessandro Pellizzari <shuriken@amiran.it> - 2016-06-22 11:27 +0100
Re: istruzione eval() Alex <tommaso5ita@yahoo.it> - 2016-06-22 14:06 +0200
Re: istruzione eval() Leonardo Serni <lserni@gmail.com> - 2016-06-22 15:44 +0200
Re: istruzione eval() Alex <tommaso5ita@yahoo.it> - 2016-06-22 19:41 +0200
Re: istruzione eval() fmassei@gmail.com - 2016-06-21 09:35 -0700
Re: istruzione eval() Alex <tommaso5ita@yahoo.it> - 2016-06-21 20:24 +0200
csiph-web