
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
Archivio: Novembre 2006 ml@sikurezza.org Soggetto: Re: [ml] Header forgiati nelle mail spedite da PHP Mittente: Stefano Di Paola Data: Sat, 4 Nov 2006 15:36:05 +0100 (CET)
Ciao Marco,
On ven, 2006-11-03 at 12:25 +0100, Marco Bertorello wrote:
> In pratica, qualcuno riesce a fare una specie di "code-injection" su
> alcuni campi del form e forgiare l'header come vuole, per esempio
> inserendo un bcc con svariati indirizzi email.
Questo attacco e' chiamato Email/SMTP/IMAP Injection.
Con buone probabilita' il _cattivone_ aggiunge dei CRLF (%0a%0d) o sue
varianti nel campo Oggetto o in altri campi del form..
Leggiti questo per meglio capire il problema:
http://www.securephpwiki.com/index.php/Email_Injection
Sicuramente un modo e' validare laddove l'input va validato.
(bello eh?=)
In generale questo vuol dire che devi eliminare tutti i \n e i \r
presenti negli header che l'utente spammatore puo' controllare:
supponiamo sia il "from":
$from = urldecode($from); // decodifichi l'input url encodato.
if (eregi("\r",$from) || eregi("\n",$from))
{
audit(); //<- qui logghi l'ip e allerti le autorita' :)
die('doh');
}
O qualcosa del genere.
Occhio ad eventuali double encodings del tipo %250a etc che a seconda di
come viene trattato l'input potrebbero scatenare nuovi attacchi...ma per
questa evenienza puoi fare un po' di test.
...e non fare affidamento agli hidden value nei form (consiglio ovvio ma
non sempre seguito :)
Ciao
Stefano
> grazie mille,
>
> ________________________________________________________
> http://www.sikurezza.org - Italian Security Mailing List
--
...oOOo...oOOo....
Stefano Di Paola
Software & Security Engineer
Web: www.wisec.it
..................
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005