实战攻防中针对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泄露文件,里面有很多的敏感信息文件的泄露。

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

相关推荐
CodeMartain17 分钟前
Arrys.asList踩坑实录
java·开发语言·windows
前端郭德纲18 分钟前
react useRef、useContext、useReducer使用中遇到的问题及解决办法
前端·javascript·react.js
ThetaarSofVenice20 分钟前
【Java从入门到放弃 之 LinkedList 和 ArrayDeque】
java·开发语言
乐容25 分钟前
electron常用方法
前端·javascript·electron
广东数字化转型43 分钟前
Less和SCSS,哪个更好用?
开发语言·后端·rust
云空1 小时前
《python中WEB安全库》
开发语言·python·web安全
yqcoder1 小时前
react 计算属性
javascript·vue.js·ecmascript
Excuse_lighttime1 小时前
LinkedList与链表 和 链表面试题
java·开发语言·数据结构·链表
前端李易安2 小时前
【Vue3项目实战系列一】—— 从零开始一个vue3项目 vue3+javascript+vite 非常详细 手把手教学
开发语言·javascript·ecmascript
一雨方知深秋2 小时前
VueCli自定义创建项目
前端·javascript·eslint·router·vuecli