渗透测试之webpack源码泄露
一、漏洞简介
Vue使用webpack(静态资源打包器)的时候,如果未进行正确配置,会产生一个js.map文件,而这个js.map可以通过工具来反编译还原Vue源代码,产生代码泄露。
二、安装nodejs环境
1、使用node-v查看是否安装成功,显示的是 Node.js 的版本
2、npm -v 显示的是 npm 的版本,这个命令用来显示你当前系统上安装的 Node Package Manager (npm) 的版本。npm 是 Node.js 的默认包管理器,用于安装和管理 Node.js 应用程序的依赖项。
三、 漏洞利用
1、安装reverse-sourcemap
使用npm install --global reverse-sourcemap命令进行安装
2、reverse-sourcemap -v worker.js.map -o output进行反编译,尝试还原源代码
3、这里发现生成的文件为空,哈哈哈 因为这个文件是本地随便找的js.map,应该不是属于vue打包的webpack。
tips:
正常在渗透测试中,如果能在前端webpack中找到js.map打开能够访问下载,或者.js文件添加.map后缀能够访问即可按照上述步骤进行反编译还原源代码。
四、漏洞修复
1.在项目路径下修改config/index.js中build对象productionSourceMap: false。
2.建议删除或禁止访问正式环境中的js.map文件。