0102.价值4500美元的本地文件包含:一个微小的参数暴露了整个基础设施

admin 2025-12-23 01:36:01 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 这篇文章描述了一个价值4500美元的本地文件包含(LFI)漏洞的发现过程。研究人员在云服务平台的支持工单系统中发现,下载附件功能接受用户可控的URL参数,且未限制URL方案或验证请求路径,允许已认证用户请求本地文件。通过将download_url参数替换为file:///样式的URI,攻击者可以获取服务器上的任意文件。文章提供了发现类似漏洞的方法,包括扫描特定端点和参数,以及检查文件系统读取操作的辅助函数。最终,公司承认这是严重安全问题并给予了漏洞赏金奖励。 综合评分: 88 文章分类: 漏洞分析,WEB安全,渗透测试,应急响应,SRC活动


cover_image

0102.价值 4500 美元的本地文件包含:一个微小的参数暴露了整个基础设施

原创

Swapnil Ade

Rsec

2025年12月22日 16:40 贵州

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

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

类型:本地文件包含

概括:

我和我的狩猎伙伴Krishna Agarwal 我们当时正在追踪一个目标,它本质上是一个云服务平台。我仔细检查了该应用程序的每一项功能,寻找潜在的攻击途径。

支持工单中的“下载附件”功能接受用户可控的 URL 参数,服务器使用该参数获取并传输内容。该应用程序未限制 URL 方案或验证请求路径,允许已认证用户请求本地文件。

普通请求用于获取和传输内容

同时,rtm.php 端点接受一个 download_url 参数,并将其视为一个通用的资源进行获取。通过将该参数替换为 file:///… 样式的 URI,服务器返回了原始的本地文件内容。 简而言之:一个本应只接收流式附件的辅助程序却愉快地读取了任意本地文件,这是一个典型的本地文件包含 (LFI) 问题,会造成严重后果。

LFI

严重(9.9) — CVSS 3.1: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H 。

所以这里到底发生了什么? 服务器将用户提供的资源引用视为一等资源获取,并且不会阻塞文件系统方案。 请求正文:

  • action=download_file
  • token=[REDACTED_TOKEN]
  • download_url=[USER-CONTROLLED VALUE]

漏洞行为: 该应用程序将 download_url 的值视为获取目标,并将结果流式传输回请求者。它没有设置协议白名单(例如仅限 https ),没有服务器端令牌到文件路径的映射,也没有规范路径验证来限制读取操作只能在附件目录中进行。

观察到的攻击模式: 攻击者控制的 download_url 指向本地文件,导致服务器在响应正文中返回该文件的内容,从而导致本地文件包含攻击 (LFI)。

#

寻找这种模式——我们在测试应用程序时应该寻找什么?

如果你想快速找到类似的错误,以下是我在逆向工程应用程序或扫描代码库时采用的方法:

  • 使用 grep 命令扫描名为 download 、 fetch 、 attachment 、 url 、 file 或 proxy 端点和参数。这些端点和参数很可能用于调用通用的 fetch 辅助函数。
  • 找到执行网络或文件系统读取操作的辅助函数。查看它们如何处理协议以及是否对输入进行规范化处理。
  • 在拦截代理中,查找包含 url 样式参数的下载 POST 请求。

这种模式往往隐藏在眼皮底下,因为开发人员使用共享的实用函数来实现获取/流式传输行为,并假设调用者会对输入进行清理。

在负责任地披露之后,该公司承认这是一个严重的安全问题,并给予了漏洞赏金奖励——这很好地说明了当双方都负责任地行事时,协调的漏洞披露是如何运作的。

想了解更多关于 LFI 的信息?请查看以下资源。

Lab: File path traversal, simple case

https://portswigger.net/web-security/file-path-traversal/lab-simple?source=post_page—–74f7d3cc669c—————————————

Local File Inclusion (LFI)

https://sushant747.gitbooks.io/total-oscp-guide/content/local_file_inclusion.html?utm_source=&source=post_page—–74f7d3cc669c—————————————

Local file inclusion (LFI)

https://www.invicti.com/learn/local-file-inclusion-lfi?utm_source=&source=post_page—–74f7d3cc669c—————————————


免责声明:

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

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

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

本文转载自:Rsec Swapnil Ade《0102.价值 4500 美元的本地文件包含:一个微小的参数暴露了整个基础设施》

评论:0   参与:  0