【漏洞复现】泛微ecology OA系统某接口存在数据库配置信息泄露漏洞

目前
    0x00 前言
    0x01 漏洞简诉
    0x02 漏洞分析
    0x03 漏洞剖析
    0x04 漏洞复现
    0x05 复现那些泪水
    0x06 复现总结
    0x07 免责声明

0x00 前言

漏洞被曝光有几天时间了。一直在上课没有时间写,昨天晚上整了一晚上,加上今天下午和学长搞了一下午才复现成功!
经过这次我意识到了会开发的重要性,我前前后后问了一堆人,百度了一堆问题!最后发现会开发能解决这一切问题!

各位看官且看下文分析!


0x01 漏洞简诉

漏洞涉及范围,用fofa搜索,看影响范围,还挺大的!

影响版本:包括不限于8.0、9.0版
在这里插入图片描述


0x02 漏洞分析

分析看源码[1]分析,sb字符串是url、user、password和logintype组成!
然后str是sb的字符串转成字节,(重点!!!)keyString是1z2x3c4v5b6n 。
keyByte是keyString转成字节而来!
dsk1 是 DESkeySpec 类对象。
接下去都是加密的过程!(说实话我现在还有点迷)
在这里插入图片描述


经过上面一系列的操作,然后我访问使用payload访问目标站点,会看到是一堆由DES加密的乱码!
在这里插入图片描述


0x03 漏洞剖析

经过一系列的分析,不难发现利用这漏洞只要掌握两个要点!

  1. 获取密钥,这点看不到源码的话是根本不可能实现的。但是我们可以根据上面源码默认密钥1z2x3c4v5b6n。
  2. 使用密钥解密DES密文!这个得去看看java如何实现DES加密解密算法,还要研究透DES算法。
    /**
    * 解密实现 源码来着https://www.cnblogs.com/itrena/p/9081056.html
    * @param src byte[]
    * @param password String
    * @return byte[]
    * @throws Exception
    */
   public static byte[] decrypt(byte[] src, String password) throws Exception {
   
           // DES算法要求有一个可信任的随机数源
           SecureRandom random = new SecureRandom();
           // 创建一个DESKeySpec对象
           DESKeySpec desKey = new DESKeySpec(password.getBytes());
           // 创建一个密匙工厂
           SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
           // 将DESKeySpec对象转换成SecretKey对象
           SecretKey securekey = keyFactory.
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值