快捷搜索: 王者荣耀 脱发

挖洞思路:前端源码泄露漏洞并用source map文件还原

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文件夹)

0x05 漏洞修复

    在项目路径下修改config/index.js中build对象productionSourceMap: false; 建议删除或禁止访问正式环境中的js.map文件;
经验分享 程序员 微信小程序 职场和发展