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