Quali minacce provengono da CRLF nella generazione di e-mail?

14

Ho un'applicazione in cui uno scanner di codici ha identificato le possibilità di iniezione CRLF in alcune classi relative alla generazione di e-mail.

Comprendo in che modo l'iniezione di CRLF potrebbe essere utilizzata contro di me in caso di attacchi basati su URL, ma Google è rimasto piuttosto in silenzio sulle minacce provenienti dalla posta elettronica. Siamo preoccupati di iniettare indirizzi diversi nelle conversazioni SMTP come questa:

link

O qualcos'altro?

    
posta avgvstvs 25.03.2014 - 16:46
fonte

2 risposte

12

A seconda di come l'applicazione crea la richiesta email RAW effettiva, potrebbe essere possibile inserire feed di riga per modificare i destinatari, CC, BCC ecc.

Dai un'occhiata a questo esempio :

In this context, the target is to be able to send anonymous emails to other recipients. There are numerous additional fields that can be specified in the mail headers (see [ RFC 822 ]). For example 'Cc' (Carbon Copy), which sends a copy of the message to the email addresses given as arguments. A better choice is to use the 'Bcc' (Blind Carbon Copy) which sends a carbon copy of the message just like with the 'Cc' header, except that the recipiends email addresses given as arguments are not shown to the multiple recipients' headers. As specified in the [ RFC 822 ], one must add a line feed for every header. The (line feed) char has a hexadecimal value of 0x0A.

  Sender: "[email protected]%0ACc:[email protected]%0ABcc:[email protected],[email protected]"

  Subject: ahem
  Message: "My Message"

genererà

 To: [email protected] 
 Subject: ahem
 From: [email protected]
 Cc:[email protected]
 Bcc:[email protected],[email protected]

 My Message...

Inoltre, consulta alcuni OWASP Guidance e alcuni esempi sotto CWE-93 .

    
risposta data 25.03.2014 - 17:00
fonte
8

Ecco un esempio di uno script di generazione di posta PHP che è vulnerabile a un attacco di iniezione CRLF . In sostanza, il codice problematico era:

$email=$_POST['email'];
$headers="From: {$email}\r\nReply-To: {$email}"; //create headers
mail('[email protected]',$subject,$content,$headers); //mails it

In tal caso, un'API PHP mal progettata era difficile da utilizzare correttamente. Di conseguenza, un modulo di contatto basato sul Web potrebbe essere utilizzato per inviare spam arbitrario, se un utente malintenzionato ha eseguito una richiesta POST il cui parametro email è terminato con un CR LF % % co_de.

Ti invito a inviare il tuo codice alla revisione del codice , dove possiamo esaminare tutti gli aspetti del tuo codice, compresi potenziali problemi di sicurezza come come iniezione CRLF.

    
risposta data 25.03.2014 - 21:02
fonte

Leggi altre domande sui tag