SMTP Smuggling
最后更新于
最后更新于
这种类型的漏洞最初是在这篇文章中发现的,文章中解释了当完成电子邮件时,可以利用SMTP协议解释方式的差异,允许攻击者在合法电子邮件的正文中走私更多电子邮件,从而允许冒充受影响域的其他用户(例如admin@outlook.com),绕过SPF等防御措施。
这是因为在SMTP协议中,要发送的电子邮件的数据由用户(攻击者)控制,攻击者可以发送经过特殊设计的数据,滥用解析器中的差异,从而在接收器中走私额外的电子邮件。看一下原始文章中的这个示例:
为了利用这个漏洞,攻击者需要发送一些数据,使出站SMTP服务器认为只有1封电子邮件,而入站SMTP服务器认为有多封电子邮件。
研究人员发现,不同的入站服务器将不同的字符视为电子邮件消息的数据结尾,而出站服务器则不会。
例如,常规的数据结尾是\r\n.
。但是,如果入站SMTP服务器还支持\n.
,攻击者可以在他的电子邮件中添加该数据,并开始指示新的SMTP命令,以像前面的图像中那样走私它。
当然,这只有在出站SMTP服务器不将此数据视为消息数据的结尾时才能起作用,因为在这种情况下,它将看到2封电子邮件而不是1封,因此最终这就是在这个漏洞中被滥用的不同步。
潜在的不同步数据:
\n.
\n.
还要注意,SPF被绕过,因为如果您从user@outlook.com
的电子邮件中走私一封来自admin@outlook.com
的电子邮件,发件人仍然是outlook.com
。