文章总结: 本文复盘了Dify系统的漏洞利用链。作者利用文件上传接口的SSRF漏洞读取本地RSA私钥,配合从数据库提取的加密LLMAPIKey进行本地解密,成功获取明文商业Key。建议企业限制容器出网权限、妥善保管密钥配置并及时更新系统版本以防御此类组合攻击。 综合评分: 88 文章分类: 漏洞分析,AI安全,实战经验,渗透测试,WEB安全
【项目实战】复盘 Dify 系统的“组合拳”漏洞
隐雾安全 隐雾安全
隐雾安全
2026年1月28日 09:00 四川
📝 编者语
甲方爸爸们都在疯狂上大模型(LLM)应用,Dify因为开源、好用,成了很多企业的首选私有化部署方案。
但在我们最近的测试中发现:面对这类 AI 应用,传统的漏洞扫描器几乎失效。 今天复盘的这个案例,通过一套“组合拳”,利用SSRF漏洞作为跳板,最终拿到管理员配置的OpenAI/Claude商业Key。
(注:本文所有敏感信息已脱敏,仅供安全研究与教学交流,请勿用于非法用途。)
1
利用文件上传接口探测内网(SSRF)
我们首先对 Dify 的功能点进行测试,发现在 “上传文件” 的接口(/console/api/remote-files/upload)存在逻辑漏洞。 服务器没有对用户传入的 URL 做严格过滤,导致我们可以利用它发起 SSRF(服务端请求伪造) 攻击。
为了验证漏洞,我们构造了一个指向 DNSLog 平台的测试链接,试图让 Dify 服务器主动来访问我们:
{“url”: “http://4aa309cca1.ddns.1433.eu.org”}
可以看到,DNSLog 成功收到了来自 Dify 服务器的请求。这意味着服务器可以根据我们的指令访问任意网络地址,SSRF 漏洞实锤。
2
组合漏洞获取LLM KEY
第一步:发现高价值目标,但数据被加密
仅仅利用 SSRF 探测端口是不够的,我们的目标是获取高价值数据——LLM 的 API Key。
在深入分析系统后,我们尝试获取数据库中的配置信息。虽然我们成功提取到了存储 API Key 的字段,但 Dify 出于安全考虑,对这些 Key 进行了加密处理。我们拿到的不是明文,而是一串被加密后的乱码字符串。
如图所示,api_key 字段是一长串密文,直接拿去调用 OpenAI 接口是会失败的。
第三步:组合拳出击,SSRF 窃取私钥
面对密文,必须解密。这里我们参考了 e0mlja 师傅 关于 Dify 组合漏洞的研究文章,对 Dify 的加密机制进行了审计。
通过查阅源码发现,Dify 的核心加密逻辑位于 api/core/helper/encrypter.py 文件中,使用的是 RSA 算法(注:不同版本可能略有差异)。这意味着,只要拿到服务器上的私钥文件(private.key),就能还原出明文。
源码明确了私钥文件的存储路径。
此时,第一步发现的 SSRF 漏洞成为了关键的“钥匙”。
正常情况下,外网无法直接下载服务器本地的私钥文件。但我们可以利用 SSRF 漏洞(配合 file:/// 协议或利用内网未授权接口读取),强制服务器将本地的私钥文件内容“吐”出来。
通过这种“隔山打牛”的方式,成功获取解密所需的私钥。
第三步:本地解密,图穷匕见
现在我们手里有了两样东西,攻击链闭环了:
- 密文(从数据库配置中提取的乱码)。
- 私钥(利用 SSRF 漏洞窃取的本地文件)。
接下来就是编写脚本进行本地解密。我们编写了一个简单的 Python 脚本(思路源自 e0mlja 师傅),利用 RSA 私钥对密文进行解密操作。
运行脚本后,加密的乱码瞬间变成了明文的 sk- 开头的商业 Key!至此,我们完全接管了该大模型的调用权限。
3
总结与防御
AI 应用的安全不仅仅是防注入,更要防“业务逻辑滥用”。
防御建议:
- 限制出网:Dify 容器不应能随意访问内网敏感段(如 172.x.x.x)。
- 密钥管理:SECRET_KEY 极其重要,不要简单明文存放在容易被读取的环境变量中。
- 升级版本:关注官方的安全更新,增强沙箱隔离。
🎁 文末福利
联系客服获取更多实战报告
!
微信号丨Hiddenfog001
往期内容
通用0day挖掘思路
某大厂勒索病毒处置流程外泄
今年大一,不小心黑进学校的迎新系统怎么办
英雄联盟租号平台getshell
记一次色情APP的渗透过程
课程推荐
隐雾SRC第八期全面升级
零基础就业班-三包模式
只要98,JS逆向带回家!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:隐雾安全 隐雾安全 隐雾安全《【项目实战】复盘 Dify 系统的“组合拳”漏洞》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论