js.map文件泄露导致泄露所有接口信息
原创
信安路漫漫
信安路漫漫
信安路漫漫
2026年9月22日 07:00
上海
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
简介
平时渗透过程中,会遇到很多的 webpack 打包的站点,webpack 加载的 js 大部分都是变量名混淆的,渗透测试者不好直接查看不同的接口和调试网页。但是如果存在js.map文件,就可以直接拿到完整的未混淆源码,可以从中发现隐藏接口、调试参数、注释里的敏感信息
这个漏洞可能是接下来所有测试的一个突破口。
什么是 Source Map
打包工具(Webpack、Vite、Rollup、esbuild 等)会把多个源文件压缩、混淆成一个 bundle 文件(如 app.min.js),Source Map 就是记录压缩后代码 ↔ 原始源码映射关系的 JSON 文件。
通常 bundle 末尾会有一行注释指向它:
//# sourceMappingURL=app.min.js.map
如何判断/获取 map 文件
看 bundle 末尾的 sourceMappingURL 注释。
直接尝试访问 xxx.js.map(很多站点忘记删除)。
有些站点把 map 内联成 base64 data URI。
有些把 map 藏在打包目录、CDN 上,可用目录扫描发现
安全风险
如果生产环境把 .map 文件公开,攻击者可以:
直接拿到完整未混淆源码
发现隐藏接口、调试参数、注释里的敏感信息
找到硬编码 token、密钥
更容易挖掘 XSS / 逻辑漏洞
还原工具:reverse-sourcemap
reverse-sourcemap 是一个工具,用于从 .map 文件中逆向还原 JavaScript 或 CSS 的源码。
安装
npm install --global reverse-sourcemap
使用
使用下面的命令去使用
reverse-sourcemap --output-dir sourceCode main.js.map
执行完成以后生成的内容,里面包含了完整的源码文件,可以查看API接口等信息
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论