实战攻防中针对JS路径的泄露和Webpack漏洞的初探

0x1前言

浅谈

这篇文章给师傅们分享下前段时间跟其他师傅学习和交流的Webpack相关漏洞,这个漏洞相对来说比较冷门,在web漏洞中不是那么的热度高,但是平常去挖掘和发现这个漏洞相对来说还是不难的。

后面要是有机会可以给师傅们分享下油猴的相关脚本去找Webpack漏洞泄露的js敏感路径,然后打一波Webpack漏洞。在企业src和众测中有些平台还是收的,不收的话就当学习了,收了咱们就赚了哈!

0x2 Webpack简介

Webpack是一个JavaScript应用程序的静态资源打包器(module bundler)。它会递归构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个bundle。大部分Vue等应用项目会使用Webpack进行打包,如果没有正确配置,就会导致项目源码泄露,可能泄露的各种信息如API、加密算法、管理员邮箱、内部功能等等。

Webpack主要功能

  1. 支持各种模块化规范,如CommonJS、ES6、AMD等。
  2. 能够自动生成依赖树,并生成对应的代码块。
  3. 支持各种类型的资源,如图片、CSS、JS等。
  4. 可以使用各种插件和loader,例如压缩、混淆代码、样式预处理等。
  5. 可以对代码进行拆分和合并,提高代码的性能和效率。

0x3 信息收集

浅谈

webpack是一个打包工具,他的宗旨是一切静态资源皆可打包。有人就会问为什么要webpack?

webpack是现代前端技术的基石,常规的开发方式,比如jquery,html,css静态网页开发已经落后了。

现在是MVVM的时代,数据驱动界面。webpack它做的事情是,分析你的项目结构,找JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式以供浏览器使用。

最简单的看出来这个站点是不是webpack打包的站点,直接使用下面的wappalyzer工具进行查看

Packer-Fuzzer工具

https://github.com/rtcatc/Packer-Fuzzer?tab=readme-ov-file

随着WEB前端打包工具的流行,您在日常渗透测试、安全服务中是否遇到越来越多以Webpack打包器为代表的网站?这类打包器会将整站的API和API参数打包在一起供Web集中调用,这也便于我们快速发现网站的功能和API清单,但往往这些打包器所生成的JS文件数量异常之多并且总JS代码量异常庞大(多达上万行),这给我们的手工测试带来了极大的不便,Packer Fuzzer软件应运而生。

本工具支持自动模糊提取对应目标站点的API以及API对应的参数内容,并支持对:未授权访问、敏感信息泄露、CORS、SQL注入、水平越权、弱口令、任意文件上传七大漏洞进行模糊高效的快速检测。在扫描结束之后,本工具还支持自动生成扫描报告,您可以选择便于分析的HTML版本以及较为正规的doc、pdf、txt版本。

我们首先得把源码下载下来,然后丢到mac系统或者linux系统下

我这边的云服务器是Centos的系统,可以参考我运行的命令如下:

Batch 复制代码
1、sudo yum -y install epel-release && sudo yum install python3 && yum install -y python3-setuptools && easy_install pip

2、sudo yum -y install nodejs

3、pip3 install -r requirements.txt

要是中途出错误,可以放到GPT里面问问,然后按照它的建议来执行命令

网站检测

直接开始使用这个工具进行网站检测

Batch 复制代码
python3 PackerFuzzer.py -u "IP" -l zh

//-u 接url地址
//-l zh 是显示中文的意思  因为这个工具默认是英文

然后检测完成以后,检测的报告会在reports目录下

这个工具因为是模糊匹配检测,所有不一定扫描结果都正确,所以后面还是需要进行验证

然后检测完成以后,检测的报告会在reports目录下

这个工具因为是模糊匹配检测,所有不一定扫描结果都正确,所以后面还是需要进行验证

然后我把生成的报告可以放到本地去利用word文档打开,可以看到下面的word文档,这个工具自动帮你把里面的js文件包括漏洞报告都给你写好了,感觉要是给甲方爸爸用用还是蛮不错的一个工具哈!

里面扫描出来的很多的 js文件,要是懂js的师傅可以尝试分析下,很容易打出js接口信息泄露的相关漏洞

0x4 总结

这篇文章对于Webpack相关的漏洞先介绍到这里,然后后面会给师傅们分享下我利用Webpack的相关插件和脚本工具在某src的一次实战经验分享。当时就是利用脚本把改站点的js.map包下载本地,然后反编译,然后拿到很多的js泄露文件,里面有很多的敏感信息文件的泄露。

文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!

相关推荐
To_OC4 小时前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
kyriewen6 小时前
面试官问你:“AI 能写 80% 的代码了,公司为什么还需要你?”
前端·javascript·面试
Goodbye9 小时前
从 Token 到 Embedding:LLM 核心基础深度解析
javascript·人工智能
用户938515635079 小时前
工具调用背后:LLM 如何突破“缸中大脑”,操控真实世界?
javascript·人工智能
Goodbye9 小时前
从函数到智能:LLM Tool Use 深度解析
javascript·人工智能
半个落月9 小时前
大模型到底是怎么“调用工具”的?从一个 Node.js Demo 看懂 Tool Use
javascript·人工智能
烬羽9 小时前
中英文 token 数量差一倍?两段 JS 代码搞懂 LLM 底层是怎么"读"文字的
javascript·程序员·架构
山河木马9 小时前
矩阵专题1-怎么创建模型矩阵(uModelMatrix)
javascript·webgl·计算机图形学
前端开发爱好者14 小时前
支持 110 种文件预览!兼容 Vue、React、Svelte!
前端·javascript·vue.js
大家的林语冰16 小时前
👍 尤大重学 Webpack,Vite 8.1 再进化,打包模式复活!
前端·javascript·vite