JDBC 攻击之反序列化操作导致 Weblogic SSRF

admin 2022年6月19日22:39:51评论63 views字数 837阅读2分47秒阅读模式

★且听安全-点关注,不迷路!



JDBC 攻击之反序列化操作导致 Weblogic SSRF

★漏洞空间站-优质漏洞资源和小伙伴聚集地!


概述


最近在网上看到有大佬公布了一个有意思的 Weblogic SSRF ,本质上其实是 Oracle JDBC Driver 中的类在反序列化操作时会自动发送 JDBC 连接,结合 Weblogic T3 反序列化操作就可以实现 SSRF。


原理分析


在  Oracle JDBC Driver 中存在一个 `oracle.jdbc.pool.OraclePooledConnection` 类,继承于 `Serializable` :


JDBC 攻击之反序列化操作导致 Weblogic SSRF


定位 `readObject` 函数:


JDBC 攻击之反序列化操作导致 Weblogic SSRF


通过反序列化数据流提取 `connectionProperty` 参数( `HashTable` 类型),然后调用 `OracleDriver#connect` 函数,从函数名称来看,猜测该函数用于完成数据库连接,跟进:


JDBC 攻击之反序列化操作导致 Weblogic SSRF


对 `connection_url` 格式进行匹配之后,当构造格式符合一定条件,将生成 `OracleDriverExtension` 对象 `var11` :


JDBC 攻击之反序列化操作导致 Weblogic SSRF


继续往下走,将调用 `OracleDriverExtension#getConnection` 函数,比如我们可以控制将 `OracleDriverExtension` 指定为子类 `T4CDriverExtension` 对象:


JDBC 攻击之反序列化操作导致 Weblogic SSRF


发送 JDBC 连接请求,那么如果我们根据上面的处理逻辑,构造特定的连接地址和端口,通过 Weblogic T3 协议进行发送,将会触发 Weblogic JDBC 连接的 SSRF 攻击。


SSRF复现


生成特定 `OraclePooledConnection` 序列化载荷,然后利用 T3 协议发包程序发送:


JDBC 攻击之反序列化操作导致 Weblogic SSRF


JDBC 攻击之反序列化操作导致 Weblogic SSRF


JDBC 攻击之反序列化操作导致 Weblogic SSRF


完成 JDBC 连接尝试,触发 SSRF :


JDBC 攻击之反序列化操作导致 Weblogic SSRF



由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全团队及文章作者不为此承担任何责任。



★且听安全-点关注,不迷路!

JDBC 攻击之反序列化操作导致 Weblogic SSRF



★漏洞空间站-优质漏洞资源和小伙伴聚集地!

JDBC 攻击之反序列化操作导致 Weblogic SSRF

原文始发于微信公众号(且听安全):JDBC 攻击之反序列化操作导致 Weblogic SSRF

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月19日22:39:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JDBC 攻击之反序列化操作导致 Weblogic SSRFhttps://cn-sec.com/archives/1128234.html

发表评论

匿名网友 填写信息