IMAP/SMTP 注入

本文介绍了IMAP/SMTP注入的概念,它是由于未对用户输入的邮件地址进行严格过滤导致的安全问题。邮件头字段如CC、BCC可被利用进行注入,从而可能导致邮件被非法截取。文章通过bwapp的mail注入示例,分析了注入的实现方式,并提出了测试及修复建议,包括使用邮件过滤器、验证机制以及避免在前端处理敏感信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x00:介绍

IMAP 就是 Internet Mail Access Protocol 的缩写翻译来就是邮件访问协议,也就是用来收邮件的(和它类似的还有个 POP3,也是用来收邮件的)。SMTP 就是 Simple Mail Transfer Protocol 的缩写翻译来就是邮件传输协议,也就是用来发邮件的。

IMAP/SMTP 注入也就是收邮件发邮件的注入,有很多类似于这样的功能,例如要发消息给某个用户组或者某个用户,程序会提供一个发邮件的方式,输入名称、邮件地址、邮件内容即可。或者是一些重要的邮件通知功能找回密码登录等,要用户填入信息进行验证发送邮件给自己。而注入就是未对用户输入的地址做严格的过滤和限制,导致可以加入一些其他的邮件头,例如 CC 抄送等。

0x01:邮件头

基本所有的邮件都支持原文查看,类似于网页查看源代码,比如 qq 邮箱点击显示原文来查看邮件的原始内容,即带标题头的内容。

请输入图片描述

以下是常见的标题头字段说明。

  • return-path:邮件的回复地址。
  • from:发件人地址。
  • to:收件人地址。
  • subject:邮件主题,即邮件名。
  • body:邮件内容。
  • date:邮件发送日期。
  • cc:抄送。
  • bcc:密送。

而我们程序中发送邮件时则需要按这种模式来发送邮件。

0x02:示例

拿 bwapp 的 mail 注入来做示例,这里因为 bwapp 发送邮件使用的是 mail 函数,它不支持 smtp 的身份验证功能,所以不方便发邮件,我们这里只分析它的原理和利用方法,大家如果感兴趣下去可以使

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值