Oracle EBS 中的未认证盲 SSRF

发布: (2026年1月11日 GMT+8 03:20)
3 分钟阅读
原文: Dev.to

Source: Dev.to

Cover image for Unauthenticated Blind SSRR in Oracle EBS

在测试第三方现成应用时,目标通常是向客户保证供应商已经进行过严格的测试,部署中不存在明显的问题。

在对 Oracle 的现成软件进行测试时,发现了一个低风险的 SSRF。它允许枚举内部和外部主机的端口,这可能对一些研究人员有兴趣。

利用方式

在对之前曾涉及 XXE 利用的端点进行模糊测试时发现了此问题。发送了一个基本的 DOCTYPE 声明,并使用了一个实用的 collaborator负载,结果显示服务器尝试解析提供的 URL。

请求(已去除冗余的头部/参数并对目标细节进行脱敏)如下所示:

POST /OA_HTML/lcmServiceController.jsp HTTP/1.1
Host: victim.com
Content-Length: 56

请求超时,但在 Burp 的问题日志中出现了 DNS 命中,表明有防火墙在干扰。使用 TCP/443(HTTPS)进行测试并得到相同结果后,同事在外部 IP 的大量端口上监听请求,从而枚举出端口号(例如上面请求中的 “80”)。

观察到三种类型的响应:

  • 超时 – 防火墙丢弃了请求。
  • HTTP 200 且返回 “A remote host refused an attempted connect operation.” – 主机/端口可达,但未打开。
  • HTTP 200 且返回 “Unexpected text in DTD.” – 主机/端口可达且已打开。

Example Response (indicating SSH is open on localhost)

利用这些信息,可以通过监控返回的响应类型来枚举内部和外部的主机及端口。此外,还可以使用 file:// 协议检查文件是否存在。曾尝试使用其他协议获取哈希,但在此实例中未能实现。

披露时间线

  • 2018 年 4 月: 发现问题并向 Oracle 报告。
  • 2018 年 8 月: Oracle 确认问题并修复了主要代码行。
  • 2018 年 10 月: Oracle 发布了 Critical Patch Update,其中包含该修复——参见 Oracle CPU 2018 年 10 月 advisory
  • 2018 年 2 月: 发布了详细说明该漏洞的博客文章。
Back to Blog

相关文章

阅读更多 »

你好,我是新人。

嗨!我又回到 STEM 的领域了。我也喜欢学习能源系统、科学、技术、工程和数学。其中一个项目是…