[ Home | Liste | F.A.Q. | Risorse | Cerca... ]


[ Data: precedente | successivo | indice ] [ Argomento: precedente | successivo | indice ]


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