前端硬编码密钥导致未授权文件上传(黑盒实战)产品系统

我要开发同款
温云笙2026年10月25日
6阅读

技术信息

语言技术
安全测试
系统类型
Web
行业分类
企业服务、网络安全

作品详情

行业场景

目标是一个互联网服务平台的用户上传链路:头像、附件、图片都走「前端向后端申请签名 → 前端直传对象存储」。测试在完全无账号的黑盒条件下进行,目标是验证这条链路的鉴权是否真的由服务端把关,还是把信任交给了前端——一旦签名能被自己算出来,整个上传闸门就形同虚设。

功能介绍

报告按「先证明能进去,再证明能造成什么」组织。执行摘要给出结论与建议定级;风险统计区分高危/中危/低危并说明定级理由;核心漏洞部分完整还原利用链:从前端静态资源定位密钥的位置与片段、签名算法的还原过程、本地算出的签名值、不携带任何 Cookie 直传存储桶的原始请求与 200 响应,最后给出上传文件的外链地址证明可公开访问;危害分析落到存储型 XSS、恶意内容借域名分发、存储与流量成本滥用三个具体后果;修复给治本方案(密钥出服务端、改 STS 临时凭证并限定路径前缀与文件类型)与 24 小时/7 天/30 天分级的修复时限。

项目实现

第一步资产收集:子域枚举拿到对象存储域名,抓取前端构建产物(主包与分块);第二步密钥定位:在压缩后的 JS 里检索签名相关常量,找到 accessKeyId / accessKeySecret / bucket / endpoint 四项配置硬编码在束里;第三步签名还原:按厂商签名算法在本地独立实现,算出一个合法签名;第四步无凭证验证:不带登录态直接 PUT 到存储桶,拿到 200;第五步影响确认:访问外链地址确认文件可公开读取,并测试上传 HTML 是否被内联渲染以判断 XSS 风险。全程只写一个无害测试文件,验证后立即删除,不做任何破坏性动作。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论