码迷,mamicode.com
首页 > 数据库 > 详细

泛微e-cology OA系统某接口存在数据库配置信息泄露漏洞复现

时间:2019-11-03 20:36:08      阅读:548      评论:0      收藏:0      [点我收藏+]

标签:赋值   mic   来源   str   pass   conf   影响   response   关闭   

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系统某接口存在数据库配置信息泄露漏洞复现

标签:赋值   mic   来源   str   pass   conf   影响   response   关闭   

原文地址:https://www.cnblogs.com/mke2fs/p/11787666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!