Files
2025-10-13 01:29:11 +08:00

18 lines
1.9 KiB
Markdown

### 说说 Webpack 信息泄露
**常见的泄露文件和表现形式**
- **`\*.js.map` 文件**: 这是最常见的`sourcemap`文件,例如 `main.bundle.js.map`。通过这些文件,可以还原出完整的源代码目录结构和内容
- **源代码中的注释**: 开发过程中留下的注释,如TODO、FIXME、调试信息,甚至是一些硬编码的敏感信息
- **前端路由和API接口地址**: `sourcemap`中会暴露所有前端路由配置,攻击者可以借此发现未公开的页面或接口
- **环境变量和密钥**: 如果在前端代码中使用了`process.env`等方式读取了后端传递的环境变量,这些变量可能会被打包并泄露
- **打包配置文件**: 一些不当的配置可能会导致`webpack.config.js`等文件也被泄露,从中可以获取更多项目结构和依赖信息
**渗透测试中的利用方法**
1. **发现目标**: 首先,通过浏览器或Burp Suite等工具访问目标网站,观察前端加载的`.js`文件,看是否存在`.map`文件。例如,如果存在`main.bundle.js`,尝试访问`main.bundle.js.map`
2. **目录猜解**: 有时`sourcemap`文件没有直接暴露,但可以通过对`.js`文件的URL进行目录猜解。比如,如果`js`文件在`/static/js/`下,那么`sourcemap`可能也在这个目录下
3. **使用自动化工具**: 有很多工具可以自动化这一过程。例如,使用`npm install -g reverse-sourcemap`安装的工具可以从`*.js.map`文件还原出源代码。此外,一些渗透测试框架如`Nuclei`也包含了专门针对Webpack信息泄露的扫描模板
4. **手动分析**: 如果找到了`sourcemap`文件,下载下来并使用文本编辑器打开。`.map`文件是JSON格式,其中`sourcesContent`字段包含了原始的源代码内容,`sources`字段包含了原始的文件路径。通过分析这些字段,可以快速定位敏感信息