SCW Icons
hero bg no divider
Blog

程序员征服安全:分享与学习系列-电子邮件标题注入

Jaap Karan Singh
Published Mar 21, 2019
Last updated on Mar 09, 2026

如今,网站和应用程序通常允许用户使用电子邮件通过应用程序发送反馈、预约提醒和其他各种信息。通常,这个过程是相当温和的,大多数人甚至没有从潜在的安全风险的角度来考虑。

但是,与任何其他允许用户输入的设计元素一样,如果配置不当,这些看似无关紧要的功能可能会被恶意用户出于恶意目的操纵。它所需要的只是让用户能够在输入字段中输入代码,然后服务器会错误地处理这些代码。突然之间,电子邮件应用程序可能会被武器化。

在本集中,我们将学习:

  • 攻击者如何触发电子邮件标题注入
  • 为什么注入电子邮件标题很危险
  • 可以修复此漏洞的技术。

攻击者如何触发电子邮件标题注入?

尽管通常不认为它是可编程的,但大多数电子邮件联系人应用程序或网站或应用程序中的功能都可以接受改变查询性质的输入。这通常是在用户在合同字段中输入其信息(例如电子邮件地址)后由服务器自动完成的。然后,该程序配置消息,添加相应的收件人,并使用其默认电子邮件服务器将消息发送出去。

典型的电子邮件 POST 请求可能如下所示:

POST /contact.php HTTP/1.1
主持人:www.example.com

并在用户输入信息后生成如下所示的代码:

name=realname&replyto= RealName@ValidServer.com &message=你的预约提醒

当黑客开始向流程中注入代码而不仅仅是他们的联系信息时,就会出现问题。这与 SQL 注入式攻击没什么不同,而是针对电子邮件应用程序进行的。改为将垃圾邮件从您的应用程序发送给目标用户的操纵查询的示例可能如下所示:

name=fakeName\n bcc:SpammedVictim@TargetAddress.com &replyTo= FakeName@ValidServer.com &message=SpamMed 消息

为什么电子邮件标题注入有危险?

根据恶意用户的技能及其意图,电子邮件标头注入攻击的严重程度可以从简单令人讨厌的攻击到非常危险的范围不等。在严重程度等级的低端,他们可能能够将他们的联系信息插入发送到贵公司内部秘密或未公开邮箱的外发邮件的 “密件抄送” 字段中,从而将其泄露给黑客。

更令人担忧的是,它可能允许他们完全控制你的电子邮件服务器,从你的组织发送垃圾邮件、网络钓鱼或其他攻击电子邮件。他们无需试图伪造电子邮件来自您的内部服务器的事实,因为它实际上是源自您的内部服务器。而且,如果您不监视该活动,他们甚至可以自动执行该流程,使用您组织的服务器发送成百上千封电子邮件,而且看起来像您实际上是在煽动该活动。

消除电子邮件标题注入问题

一如既往 SQL 注入 以及其他此类攻击,消除恶意用户利用电子邮件标题漏洞的可能性的关键是永远不要信任用户的输入。如果用户能够输入信息,即使这看起来像是一个简单的过程,例如输入他们的电子邮件地址,你也必须假设最坏的情况。或者至少假设最坏的情况是可能的。

应对所有参数进行输入验证,包括在向应用程序或网站添加电子邮件联系功能时。白名单可用于专门启用您认为有效的流程和字段,同时拒绝其他所有流程和字段。实际上,大多数框架都有可用的库,可以用来帮助将函数锁定为仅需要的函数。这样做将防止恶意用户输入的任何代码或命令被您的服务器识别和处理。

有关电子邮件标题注入的更多信息

要进一步阅读,你可以看看OWASP是怎么说的 电子邮件标题注入。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客

认为你现在准备好查找和修复电子邮件注入问题了吗?前往平台测试你的技能: [从这里开始]

查看资源
查看资源

网站和应用程序通常允许用户使用电子邮件通过应用程序发送反馈和其他各种信息。而且大多数人甚至没有从潜在的安全风险的角度来考虑这个问题。

对更多感兴趣?

Jaap Karan Singh is a Secure Coding Evangelist, Chief Singh and co-founder of Secure Code Warrior.

learn more

Secure Code Warrior可以帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全放在首位的文化。无论您是 AppSec 经理、开发人员、首席信息安全官还是任何与安全相关的人,我们都可以帮助您的组织降低与不安全代码相关的风险。

预订演示
分享到:
linkedin brandsSocialx logo
作者
Jaap Karan Singh
Published Mar 21, 2019

Jaap Karan Singh is a Secure Coding Evangelist, Chief Singh and co-founder of Secure Code Warrior.

分享到:
linkedin brandsSocialx logo

如今,网站和应用程序通常允许用户使用电子邮件通过应用程序发送反馈、预约提醒和其他各种信息。通常,这个过程是相当温和的,大多数人甚至没有从潜在的安全风险的角度来考虑。

但是,与任何其他允许用户输入的设计元素一样,如果配置不当,这些看似无关紧要的功能可能会被恶意用户出于恶意目的操纵。它所需要的只是让用户能够在输入字段中输入代码,然后服务器会错误地处理这些代码。突然之间,电子邮件应用程序可能会被武器化。

在本集中,我们将学习:

  • 攻击者如何触发电子邮件标题注入
  • 为什么注入电子邮件标题很危险
  • 可以修复此漏洞的技术。

攻击者如何触发电子邮件标题注入?

尽管通常不认为它是可编程的,但大多数电子邮件联系人应用程序或网站或应用程序中的功能都可以接受改变查询性质的输入。这通常是在用户在合同字段中输入其信息(例如电子邮件地址)后由服务器自动完成的。然后,该程序配置消息,添加相应的收件人,并使用其默认电子邮件服务器将消息发送出去。

典型的电子邮件 POST 请求可能如下所示:

POST /contact.php HTTP/1.1
主持人:www.example.com

并在用户输入信息后生成如下所示的代码:

name=realname&replyto= RealName@ValidServer.com &message=你的预约提醒

当黑客开始向流程中注入代码而不仅仅是他们的联系信息时,就会出现问题。这与 SQL 注入式攻击没什么不同,而是针对电子邮件应用程序进行的。改为将垃圾邮件从您的应用程序发送给目标用户的操纵查询的示例可能如下所示:

name=fakeName\n bcc:SpammedVictim@TargetAddress.com &replyTo= FakeName@ValidServer.com &message=SpamMed 消息

为什么电子邮件标题注入有危险?

根据恶意用户的技能及其意图,电子邮件标头注入攻击的严重程度可以从简单令人讨厌的攻击到非常危险的范围不等。在严重程度等级的低端,他们可能能够将他们的联系信息插入发送到贵公司内部秘密或未公开邮箱的外发邮件的 “密件抄送” 字段中,从而将其泄露给黑客。

更令人担忧的是,它可能允许他们完全控制你的电子邮件服务器,从你的组织发送垃圾邮件、网络钓鱼或其他攻击电子邮件。他们无需试图伪造电子邮件来自您的内部服务器的事实,因为它实际上是源自您的内部服务器。而且,如果您不监视该活动,他们甚至可以自动执行该流程,使用您组织的服务器发送成百上千封电子邮件,而且看起来像您实际上是在煽动该活动。

消除电子邮件标题注入问题

一如既往 SQL 注入 以及其他此类攻击,消除恶意用户利用电子邮件标题漏洞的可能性的关键是永远不要信任用户的输入。如果用户能够输入信息,即使这看起来像是一个简单的过程,例如输入他们的电子邮件地址,你也必须假设最坏的情况。或者至少假设最坏的情况是可能的。

应对所有参数进行输入验证,包括在向应用程序或网站添加电子邮件联系功能时。白名单可用于专门启用您认为有效的流程和字段,同时拒绝其他所有流程和字段。实际上,大多数框架都有可用的库,可以用来帮助将函数锁定为仅需要的函数。这样做将防止恶意用户输入的任何代码或命令被您的服务器识别和处理。

有关电子邮件标题注入的更多信息

要进一步阅读,你可以看看OWASP是怎么说的 电子邮件标题注入。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客

认为你现在准备好查找和修复电子邮件注入问题了吗?前往平台测试你的技能: [从这里开始]

查看资源
查看资源

填写下面的表格下载报告

我们希望获得您的许可,以便向您发送有关我们的产品和/或相关安全编码主题的信息。我们将始终非常谨慎地对待您的个人信息,绝不会出于营销目的将其出售给其他公司。

提交
scw success icon
scw error icon
要提交表单,请启用 “分析” Cookie。完成后,可以随意再次禁用它们。

如今,网站和应用程序通常允许用户使用电子邮件通过应用程序发送反馈、预约提醒和其他各种信息。通常,这个过程是相当温和的,大多数人甚至没有从潜在的安全风险的角度来考虑。

但是,与任何其他允许用户输入的设计元素一样,如果配置不当,这些看似无关紧要的功能可能会被恶意用户出于恶意目的操纵。它所需要的只是让用户能够在输入字段中输入代码,然后服务器会错误地处理这些代码。突然之间,电子邮件应用程序可能会被武器化。

在本集中,我们将学习:

  • 攻击者如何触发电子邮件标题注入
  • 为什么注入电子邮件标题很危险
  • 可以修复此漏洞的技术。

攻击者如何触发电子邮件标题注入?

尽管通常不认为它是可编程的,但大多数电子邮件联系人应用程序或网站或应用程序中的功能都可以接受改变查询性质的输入。这通常是在用户在合同字段中输入其信息(例如电子邮件地址)后由服务器自动完成的。然后,该程序配置消息,添加相应的收件人,并使用其默认电子邮件服务器将消息发送出去。

典型的电子邮件 POST 请求可能如下所示:

POST /contact.php HTTP/1.1
主持人:www.example.com

并在用户输入信息后生成如下所示的代码:

name=realname&replyto= RealName@ValidServer.com &message=你的预约提醒

当黑客开始向流程中注入代码而不仅仅是他们的联系信息时,就会出现问题。这与 SQL 注入式攻击没什么不同,而是针对电子邮件应用程序进行的。改为将垃圾邮件从您的应用程序发送给目标用户的操纵查询的示例可能如下所示:

name=fakeName\n bcc:SpammedVictim@TargetAddress.com &replyTo= FakeName@ValidServer.com &message=SpamMed 消息

为什么电子邮件标题注入有危险?

根据恶意用户的技能及其意图,电子邮件标头注入攻击的严重程度可以从简单令人讨厌的攻击到非常危险的范围不等。在严重程度等级的低端,他们可能能够将他们的联系信息插入发送到贵公司内部秘密或未公开邮箱的外发邮件的 “密件抄送” 字段中,从而将其泄露给黑客。

更令人担忧的是,它可能允许他们完全控制你的电子邮件服务器,从你的组织发送垃圾邮件、网络钓鱼或其他攻击电子邮件。他们无需试图伪造电子邮件来自您的内部服务器的事实,因为它实际上是源自您的内部服务器。而且,如果您不监视该活动,他们甚至可以自动执行该流程,使用您组织的服务器发送成百上千封电子邮件,而且看起来像您实际上是在煽动该活动。

消除电子邮件标题注入问题

一如既往 SQL 注入 以及其他此类攻击,消除恶意用户利用电子邮件标题漏洞的可能性的关键是永远不要信任用户的输入。如果用户能够输入信息,即使这看起来像是一个简单的过程,例如输入他们的电子邮件地址,你也必须假设最坏的情况。或者至少假设最坏的情况是可能的。

应对所有参数进行输入验证,包括在向应用程序或网站添加电子邮件联系功能时。白名单可用于专门启用您认为有效的流程和字段,同时拒绝其他所有流程和字段。实际上,大多数框架都有可用的库,可以用来帮助将函数锁定为仅需要的函数。这样做将防止恶意用户输入的任何代码或命令被您的服务器识别和处理。

有关电子邮件标题注入的更多信息

要进一步阅读,你可以看看OWASP是怎么说的 电子邮件标题注入。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客

认为你现在准备好查找和修复电子邮件注入问题了吗?前往平台测试你的技能: [从这里开始]

观看网络研讨会
开始吧
learn more

点击下面的链接并下载此资源的PDF。

Secure Code Warrior可以帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全放在首位的文化。无论您是 AppSec 经理、开发人员、首席信息安全官还是任何与安全相关的人,我们都可以帮助您的组织降低与不安全代码相关的风险。

查看报告预订演示
查看资源
分享到:
linkedin brandsSocialx logo
对更多感兴趣?

分享到:
linkedin brandsSocialx logo
作者
Jaap Karan Singh
Published Mar 21, 2019

Jaap Karan Singh is a Secure Coding Evangelist, Chief Singh and co-founder of Secure Code Warrior.

分享到:
linkedin brandsSocialx logo

如今,网站和应用程序通常允许用户使用电子邮件通过应用程序发送反馈、预约提醒和其他各种信息。通常,这个过程是相当温和的,大多数人甚至没有从潜在的安全风险的角度来考虑。

但是,与任何其他允许用户输入的设计元素一样,如果配置不当,这些看似无关紧要的功能可能会被恶意用户出于恶意目的操纵。它所需要的只是让用户能够在输入字段中输入代码,然后服务器会错误地处理这些代码。突然之间,电子邮件应用程序可能会被武器化。

在本集中,我们将学习:

  • 攻击者如何触发电子邮件标题注入
  • 为什么注入电子邮件标题很危险
  • 可以修复此漏洞的技术。

攻击者如何触发电子邮件标题注入?

尽管通常不认为它是可编程的,但大多数电子邮件联系人应用程序或网站或应用程序中的功能都可以接受改变查询性质的输入。这通常是在用户在合同字段中输入其信息(例如电子邮件地址)后由服务器自动完成的。然后,该程序配置消息,添加相应的收件人,并使用其默认电子邮件服务器将消息发送出去。

典型的电子邮件 POST 请求可能如下所示:

POST /contact.php HTTP/1.1
主持人:www.example.com

并在用户输入信息后生成如下所示的代码:

name=realname&replyto= RealName@ValidServer.com &message=你的预约提醒

当黑客开始向流程中注入代码而不仅仅是他们的联系信息时,就会出现问题。这与 SQL 注入式攻击没什么不同,而是针对电子邮件应用程序进行的。改为将垃圾邮件从您的应用程序发送给目标用户的操纵查询的示例可能如下所示:

name=fakeName\n bcc:SpammedVictim@TargetAddress.com &replyTo= FakeName@ValidServer.com &message=SpamMed 消息

为什么电子邮件标题注入有危险?

根据恶意用户的技能及其意图,电子邮件标头注入攻击的严重程度可以从简单令人讨厌的攻击到非常危险的范围不等。在严重程度等级的低端,他们可能能够将他们的联系信息插入发送到贵公司内部秘密或未公开邮箱的外发邮件的 “密件抄送” 字段中,从而将其泄露给黑客。

更令人担忧的是,它可能允许他们完全控制你的电子邮件服务器,从你的组织发送垃圾邮件、网络钓鱼或其他攻击电子邮件。他们无需试图伪造电子邮件来自您的内部服务器的事实,因为它实际上是源自您的内部服务器。而且,如果您不监视该活动,他们甚至可以自动执行该流程,使用您组织的服务器发送成百上千封电子邮件,而且看起来像您实际上是在煽动该活动。

消除电子邮件标题注入问题

一如既往 SQL 注入 以及其他此类攻击,消除恶意用户利用电子邮件标题漏洞的可能性的关键是永远不要信任用户的输入。如果用户能够输入信息,即使这看起来像是一个简单的过程,例如输入他们的电子邮件地址,你也必须假设最坏的情况。或者至少假设最坏的情况是可能的。

应对所有参数进行输入验证,包括在向应用程序或网站添加电子邮件联系功能时。白名单可用于专门启用您认为有效的流程和字段,同时拒绝其他所有流程和字段。实际上,大多数框架都有可用的库,可以用来帮助将函数锁定为仅需要的函数。这样做将防止恶意用户输入的任何代码或命令被您的服务器识别和处理。

有关电子邮件标题注入的更多信息

要进一步阅读,你可以看看OWASP是怎么说的 电子邮件标题注入。你还可以使用以下方法来测试你新获得的防御知识 免费演示 Secure Code Warrior 平台,该平台培训网络安全团队成为终极网络战士。要了解有关克服此漏洞以及其他恶棍威胁的更多信息,请访问 安全代码勇士博客

认为你现在准备好查找和修复电子邮件注入问题了吗?前往平台测试你的技能: [从这里开始]

目录

下载PDF
查看资源
对更多感兴趣?

Jaap Karan Singh is a Secure Coding Evangelist, Chief Singh and co-founder of Secure Code Warrior.

learn more

Secure Code Warrior可以帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全放在首位的文化。无论您是 AppSec 经理、开发人员、首席信息安全官还是任何与安全相关的人,我们都可以帮助您的组织降低与不安全代码相关的风险。

预订演示下载
分享到:
linkedin brandsSocialx logo
资源中心

帮助您入门的资源

更多帖子
资源中心

帮助您入门的资源

更多帖子