电子邮件正文中是否存在注射漏洞?

Bre*_*ett 15 php code-injection

AFAIK在使用用户数据时,电子邮件的HEADERS中只有一个漏洞吗?

我使用下面的函数来清理我的数据,但是我在页面上有一些textarea字段,因此这些字段可能包含换行符..所以想知道这个用户数据是否只会放在电子邮件的正文中,可以吗没有被消毒的麻烦 - 除了剥离HTML当然?

这是功能:

function is_injected($str) {

    $injections = array('(\n+)',
    '(\r+)',
    '(\t+)',
    '(%0A+)',
    '(%0D+)',
    '(%08+)',
    '(%09+)'
    );

    $inject = join('|', $injections);
    $inject = "/$inject/i";

    if (preg_match($inject,$str)) {
        return true;
    } else {
        return false;
    }

}
Run Code Online (Sandbox Code Playgroud)

作为旁注,令人惊讶的是目前没有邮件注入/电子邮件注入的标签.

Aln*_*tak 11

如果您正在向邮件服务器说出本机SMTP,则可能会在正文中注入.

单个单独.终止SMTP中的当前正文,因此理论上您可以使用用户提供的输入,如下所示:

some body text
.
MAIL FROM: <...>
RCPT TO: <...>
DATA
Subject: here's some spam

here's a new body
Run Code Online (Sandbox Code Playgroud)

并且SMTP服务器可能允许第二条消息通过.

某些SMTP服务器可以配置为通过不允许SMTP命令进行流水线操作来防止这种情况(即要求客户端在允许下一个命令之前读取响应).