4.4 KiB
SMTP Smuggling
{% hint style="success" %}
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 @hacktricks_live** 上关注我们。**
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
基本信息
这种类型的漏洞最初是在 这篇文章中发现的,文中解释了在最终确定电子邮件时,利用 SMTP 协议解释中的差异进行攻击是可能的,这允许攻击者在合法邮件的正文中走私更多邮件,从而冒充受影响域的其他用户(例如 admin@outlook.com),绕过 SPF 等防御措施。
为什么
这是因为在 SMTP 协议中,要发送的邮件数据由用户(攻击者)控制,攻击者可以发送特别构造的数据,利用解析器之间的差异,在接收方走私额外的邮件。请查看原始文章中的这个示例:
如何
为了利用这个漏洞,攻击者需要发送一些数据,使得出站 SMTP 服务器认为这只是 1 封邮件,但入站 SMTP 服务器认为有多封邮件。
研究人员发现,不同的入站服务器将不同的字符视为邮件消息数据的结束,而出站服务器则不这样认为。
例如,常规的数据结束是 \r\n.\r\n
。但是,如果入站 SMTP 服务器也支持 \n.\n
,攻击者可以在其邮件中添加该数据,并开始指示新的 SMTP 命令以走私它,就像在前面的图像中一样。
当然,这只有在出站 SMTP 服务器也不将这些数据视为消息数据的结束时才有效,因为在这种情况下,它将看到 2 封邮件而不是 1 封,因此最终这是在此漏洞中被滥用的不同步。
潜在的不同步数据:
\n.\n
\n.\r\n
还要注意,SPF 被绕过,因为如果你从 user@outlook.com
走私一封来自 admin@outlook.com
的邮件,发件人仍然是 outlook.com
。
参考文献
{% hint style="success" %}
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 @hacktricks_live** 上关注我们。**
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。