0122.如何通过一段冗长的JSON响应接管一家公司的整个基础设施。

admin 2026-01-27 00:31:57 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详述利用JSON响应泄露敏感数据接管基础设施的过程。攻击者发现接口回调的scope字段泄露了含内部API凭据的后端请求,从而成功登录公开暴露的oVirt管理面板,获得完全控制权。建议立即撤销凭据、清理调试数据并全面审计端点。 综合评分: 87 文章分类: SRC活动,渗透测试,WEB安全,实战经验


cover_image

0122.如何通过一段冗长的 JSON 响应接管一家公司的整个基础设施。

原创

Swapnil Ade Swapnil Ade

Rsec

2026年1月26日 17:43 贵州

本文章仅用网络安全研究学习,请勿使用相关技术进行违法犯罪活动。

声明:本文搬运自互联网,如你是原作者,请联系我们!

类型:不安全的APP接口

#

#

🎬 第一幕:话太多的 ISO 按钮

#

点击“从 ISO 启动”后,我开始监控网络活动。我喜欢观察发出的请求类型——这就像偷听前端与后端之间的通信一样。

请求已发出:

POST /eq.php HTTP/1.1Host: panel.[REDACTED].comContent-Type: application/x-www-form-urlencodedmodule=eq&action=boot_dev&media=cd&attempts=50&timeout=1000&token=b68cefcf4349d9c9e45ec1132da3e4e4&id=82674&api_key=MY_API_KEY

完全在意料之中——这只是告诉虚拟机从挂载的 ISO 启动。

然后是轮询请求,用于检查启动状态:

POST /eq_callback.php?action=check HTTP/1.1Host: panel.[REDACTED].comContent-Type: application/x-www-form-urlencodedReferer: https://panel.[REDACTED].com/controlpanel.html?key=MY_API_KEY

#

👀 第二幕:泄露一切的回应

#

我打开了 JSON 响应,随意地浏览了一遍。

然后我在 scope 字段中发现了一些奇怪的东西。它不仅包含状态更新,还包含了……看起来像是一个完整的 HTTP 请求。

那条泄露一切的回调回复(译者:原图片不清晰)

我更加用力地盯着看。

没错,就是它:

{"result": "OK","scope": "{\"result\":\"OK\",\"message\":\"VM is boot for cdrom\"}&{POST https:\/\/ovr-client-nl2.[REDACTED].com\/ovirt-engine\/api\/vms\/...\/start HTTP\/1.1Authorization:[Basic aW52YXBxxxxxxxxxxxxxxxxxxxxndZaA==] ...}",...}
Authorization:[Basic aW52YXBxxxxxxxxxxxxxxxxxxxxndZaA==]

等等……什么?

他们实际上包含了后端自身 API 调用中的内部授权标头

我立即用 base64 解码了它:

echo "aW52YXBxxxxxxxxxxxxxxxxxxxxndZaA==" | base64 -d# invapi@xxxxxxxx:t8C5n5xxxxxZFUzwYh

有效凭证。

就……坐在那儿。在客户端的回复报文中。

沿着路径找到管理面板

#

相同的调试 scope 还显示了完整的内部 API 端点。

https://ovr-client-nl2.[REDACTED].com/ovirt-engine/webadmin/sso/login

我打开了网址,出现了一个登录表单。没有 VPN,没有防火墙,就是……公共网络。 我输入:

  • 用户名: inxxxpi
  • 密码: t8C5n5xxxxxZFUzwYh
  • 简介: internal

接管 oVirt 管理面板

点击登录……砰!我就进去了。

我拥有对整个虚拟化控制平面的完全访问权限。

📉 出什么问题了

#

让我们来详细分析一下:

  • 面向客户的功能(启动虚拟机)触发了后端请求。
  • 状态检查响应泄露了内部服务器行为,包括原始的内部 HTTP 请求。
  • 该原始请求的请求头中包含了敏感凭据
  • 在公开这些数据之前,没有采取任何访问控制措施。
  • JSON 输出中未进行任何编辑或过滤。

这相当于给顾客开收据时,不小心把内部管理员的登录名和密码也打印在了上面。

📊 CVSS 评分:9.9 危重

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

🛡️ 推荐修复方案

  1. 立即撤销已泄露的凭证。
  2. 在将所有调试或跟踪数据返回生产环境之前,请对其进行清理
  3. 永远不要向外部用户暴露原始的内部 HTTP 请求
  4. 对类似端点进行全面审核
  5. 将可能因这种模式而泄露的任何其他内部机密信息进行轮换。

#

💰 额外奖励:

在负责任地披露此漏洞后,我获得了 1500 美元的赏金

获得 1500 美元赏金

为什么?因为这个问题将整个客户群暴露给了公众,如果不加以控制,可能会导致整个基础设施遭到破坏。

仅仅一个泄露的 JSON 字段、一个管理面板和一个暴露的标头,就足以导致这一切。

💥 这只虫子可不是一个人抓到的!

特别感谢我的搭档:kr1shna4garwal.com 🛠️👾

团队合作让这次漏洞利用成功了😎💻🔥


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Rsec Swapnil Ade Swapnil Ade《0122.如何通过一段冗长的 JSON 响应接管一家公司的整个基础设施。》

评论:0   参与:  0