泛微e-cology OA系统某接口存在数据库配置信息泄露漏洞复现
1.简介(开场废话)
攻击者可通过存在漏洞的页面直接获取到数据库配置信息。如果攻击者可直接访问数据库,则可直接获取用户数据,甚至可以直接控制数据库服务器。
2.影响范围
漏洞涉及范围包括不限于8.0、9.0版
3.搭建个环境(其实环境不重要,信息泄露这个东西)
4.已知漏洞点出现在/mobile/dbconfigreader.jsp这个页面(开始胡乱分析。。。有错还希望师傅们指出来)

直接看源代码好了,搜了一圈没找到8.0的安装包,我太难了,借张图过来,嘿嘿嘿
来源:https://mp.weixin.qq.com/s/zTEUan_BtDDzuHzmd9pxYg

首先在这个页面获取数据库用户名密码,然后存储到变量sb中,再进行转换,进行DES加密
有了源码,我们编译一下源码,断点调试,康康哪里出现了问题
<%
String conStr= "12345"; //Prop.getPropValue("weaver","ecology.url");
String conUser= "12345"; //Prop.getPropValue("weaver","ecology.user");
String conPsw= "12345"; //Prop.getPropValue("weaverl","ecology.password");
String loginType="sqlserver"; //Prop.getPropValue("weaver","authentic");
//上面应该是从别的页面取数据过来,我这里直接定死
StringBuffer sb=new StringBuffer(); //new 一个StringBuffer类对象
//StringBuffer和StringBuilder 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)
//由于 StringBuilder 相较于 StringBuffer 有速度优势,大多数时候还是用StringBuilder String verb="url="+conStr+",user="+conUser+",password="+conPsw+",Logintype="+loginType;
//赋值操作
byte[] str=verb.getBytes();
//将字符串转化为字节数组byte[]
String keyString="1z2x3c4v5b6n"; //DES的加密密钥
System.out.println(verb);//url=12345,user=12345,password=12345,Logintype=sqlserver
byte[] keyByte=keyString.getBytes();
//创建一个密匙工厂,然后用它把DESKeySpec对象转换成一个Secretkey对象
DESKeySpec dks1=new DESKeySpec(keyByte);
SecretKey key=SecretKeyFactory.getInstance("DES").generateSecret(dks1);
Cipher cipher=Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE,key);
//DES加密操作
byte[] cipherText=cipher.doFinal(str);
//System.out.println(cipherText.length);
ServletOutputStream sos=response.getOutputStream();
System.out.println(cipherText);//[B@641a034d
sos.write(cipherText);
//输出des加密后的字节流,为啥用输出流,这里人都傻掉了
sos.flush();
//清空缓冲区数据
sos.close();
//关闭流 %>
并且我这里报异常了,不知道为啥,好像是冲突了

看了下修补方案,似乎就是禁止访问/mobile/dbconfigreader.jsp这个页面
4.exp及利用
github上有现成的脚本
https://github.com/NS-Sp4ce/Weaver-OA-E-cology-Database-Leak
主要还是对显示在页面上的字节流进行des解密,完事
参考文章:
https://mp.weixin.qq.com/s/zTEUan_BtDDzuHzmd9pxYg
泛微e-cology OA系统某接口存在数据库配置信息泄露漏洞复现的更多相关文章
- 泛微ecology OA系统某接口存在数据库配置信息泄露漏洞
2漏洞详情 攻击者可通过该漏洞页面直接获取到数据库配置信息,攻击者可通过访问存在漏洞的页面并解密从而获取数据库配置信息,如攻击者可直接访问数据库,则可直接获取用户数据,由于泛微e-cology默认数据 ...
- 泛微ecology OA系统在数据库配置信息泄露
漏洞描述 攻击者可通过该漏洞页面直接获取到数据库配置信息,攻击者可通过访问存在漏洞的页面并解密从而获取数据库配置信息,如攻击者可直接访问数据库,则可直接获取用户数据,由于泛微e-cology默认数据库 ...
- FastAPI(六十八)实战开发《在线课程学习系统》接口开发--用户 个人信息接口开发
在之前的文章:FastAPI(六十七)实战开发<在线课程学习系统>接口开发--用户登陆接口开发,今天实战:用户 个人信息接口开发. 在开发个人信息接口的时候,我们要注意了,因为我们不一样的 ...
- 应用安全 - 软件漏洞 - 泛微OA漏洞汇总
SQL注入 前台SQL注入 用户名:admin' or password like 'c4ca4238a0b923820dcc509a6f75849b' and 'a'='a 密码: 1 验证页面参数 ...
- 基于Python的Webservice开发(四)-泛微OA的SOAP接口
一.功能需求 泛微e-cology可以在流程中调用Webservice接口实现与其他系统的联动等复杂功能.但是目前泛微文档中仅提供了调用的方法,但是没有关于接口的相关开发信息. 本次案例是用Pytho ...
- 分享泛微公司OA系统用于二次开发的sql脚本
本单位用的oa系统就是泛微公司的oa协同办公平台,下面是我对他进行二次开发统计用到的写数据库脚本,只做开发参考使用,对于该系统的二次开发技术交流可以加我q:2050372586 [仪表盘]格式sql编 ...
- 泛微OA e-cology 数据库接口信息泄露学习
泛微OA e-cology 数据库接口信息泄露 漏洞信息 攻击者可通过存在漏洞的页面直接获取到数据库配置信息.如果攻击者可直接访问数据库,则可直接获取用户数据,甚至可以直接控制数据库服务器:会将当前连 ...
- FastAPI(六十九)实战开发《在线课程学习系统》接口开发--修改密码
之前我们分享了FastAPI(六十八)实战开发<在线课程学习系统>接口开发--用户 个人信息接口开发.这次我们去分享实战开发<在线课程学习系统>接口开发--修改密码 我们梳理一 ...
- 通达OA任意用户登录漏洞复现
前言 今年hw挺火爆的,第一天上来就放王炸,直接搞得hw暂停 昨天晚上无聊,复现了一下通达oa的洞,也有现成的exp可以使用,比较简单 0x00 漏洞概述 通达OA是一套国内常用的办公系统,此次发现的 ...
随机推荐
- iptables 常用命令示例
一.常用命令示例: 1.命令 -A, --append 范例:iptables -A INPUT -p tcp --dport 80 -j ACCEPT 说明 :新增规则到INPUT规则链中,规则时接 ...
- Python基于tkinter.messagebox实现简易消息框、对话框
库导入: import tkinter import tkinter.messagebox 有关提示框: tkinter.messagebox.showinfo(title=None, message ...
- Gamma阶段测试报告
测试计划 Gamma阶段依然以场景测试为主.我们归纳了三条场景主线: 一.典型用户:查看 访问排名页面 / 搜索课程 查看课程页面 查看教师页面 为他人评论点赞或点踩 二.典型用户:评论 登录网站 搜 ...
- 将物理机转换成vmware虚机
随着虚拟化的快速发展,公司主要是以公有云+私有云结合的混合云部署,据我不成熟的了解,目前很少有公司会将一台单独的物理机作为服务器,在公司内部大家逐渐接受了私有云的部署方案,这样做不但可以节省硬件资源, ...
- 【操作系统之十】内存分页管理与swap
一.虚拟内存电脑里内存分内存条(这里我们叫物理内存)和硬盘,内存条保存程序运行时数据,硬盘持久保存数据.那么虚拟内存是什么? 程序运行会启动一个进程,进程里有程序段.全局数据.栈和堆,这些都会加载到内 ...
- C#开源录音组件、录像组件、录屏组件及demo源码
在多媒体系统中,一般都会涉及到录音.录像.录屏问题,采集得到的数据可以用来传输.播放.或存储.所以,对于像课件录制系统.语音视频录制系统.录屏系统等,多媒体数据的采集就是最基础的功能之一. MCapt ...
- 《Linux就该这么学》培训笔记_ch16_使用Squid部署代理缓存服务
<Linux就该这么学>培训笔记_ch16_使用Squid部署代理缓存服务 文章最后会post上书本的笔记照片. 文章主要内容: 代理缓存服务 配置Squid服务程序 正向代理 标准正向代 ...
- sqlserver获得数据库非聚集索引的代码
创建Index DECLARE @zindex_sql NVARCHAR(max); SET @zindex_sql = N''; SELECT @zindex_sql = @zindex_sql + ...
- JavaWeb学习路线图(2020年最新版)
Java基础 做java开发,java基础是最需要下功夫的一项.在校招时最注重的就是基础,拿不出像样的项目没关系,但是基础万万不可不牢固. 想要基础扎实,看书沉淀是必须的,有一些编程基础的同学推荐阅读 ...
- 开发dubbo应用程序(一)入门demo详解
1.简介: 引用自Dubbo官方文档简介: http://dubbo.apache.org/zh-cn/docs/user/dependencies.html 随着互联网的发展,网站应用的规模不断扩大 ...