0x01漏洞简介
webpack是一个JavaScript应用程序的静态资源打包器(module bundler)。它会递归构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个bundle。大部分Vue应用会使用webpack进行打包,如果没有正确配置,就会导致Vue源码泄露,可能泄露的各种信息如API、加密算法、管理员邮箱、内部功能等等。
0x02 漏洞复现
找到含.map的js页面
进入到一个*.js的页面查看源码:
选一个点进去拉到最下面:
后缀加上.map访问https://xxx.js.map
会直接下载app.91c9e19843b6a38f9ff5.js.map
0x03 source map文件还原
reverse-sourcemap
这个工具,两年前发布的,居然文件和目录都能全部还原出来,牛逼。
全局安装
npm install --global reverse-sourcemap
然后( -o 后面跟的是还原后的目录)
reverse-sourcemap -o aaa -v app.9fbea7c7.js.map
0x04 检测插件
SourceDetector是一个谷歌浏览器插件,此插件可以自动的判断网站是否存在js.map文件,并且能够利用该插件直接下载到js.map的Vue源码
git clone https://github.com/LuckyZmj/SourceDetector-dist
提示:
如果此命令下载失败,可直接访问https://github.com/LuckyZmj/SourceDetector-dist下载.zip文件:
然后解压,谷歌浏览器添加扩展程序(注意是添加文件中的dist文件夹)文章来源:https://www.toymoban.com/news/detail-794141.html
文章来源地址https://www.toymoban.com/news/detail-794141.html
0x05 漏洞修复
- 在项目路径下修改config/index.js中build对象productionSourceMap: false;
- 建议删除或禁止访问正式环境中的js.map文件;
到了这里,关于挖洞思路:前端源码泄露漏洞并用source map文件还原的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!