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

admin 2022年6月19日22:39:51安全文章评论22 views837字阅读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

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月19日22:39:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  JDBC 攻击之反序列化操作导致 Weblogic SSRF http://cn-sec.com/archives/1128234.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: