首页 > 其他分享 >实战攻防中针对JS路径的泄露和Webpack漏洞的初探

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

时间:2024-12-13 17:56:30浏览次数:13  
标签:js 漏洞 Webpack install 初探 工具 JS 打包

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的系统,可以参考我运行的命令如下:

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里面问问,然后按照它的建议来执行命令

网站检测

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

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泄露文件,里面有很多的敏感信息文件的泄露。

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

标签:js,漏洞,Webpack,install,初探,工具,JS,打包
From: https://blog.csdn.net/dingxingaq/article/details/144456762

相关文章

  • json转成数组,数组转成json,json编辑器
    module.exports={JSONToPathArr(data){constresArr=[]constpArr=['']constlist=[data]for(leti=0;i<list.length;i++){constjson=list[i]for(letkinjson){const......
  • ‌Bull是一个基于Redis的队列库,专为Node.js设计
    ‌Bull是一个基于Redis的队列库,专为Node.js设计,提供高性能和可靠的任务处理能力‌。它通过Redis作为后端存储,确保任务的持久性和高可用性。Bull的设计理念是简单、高效,同时具备强大的功能,能够满足各种复杂的任务调度需求‌12。Bull的主要功能‌高性能‌:Bull采用无轮询设计,极大......
  • node.js毕设高校问答平台 论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景随着高校规模的不断扩大和信息技术的飞速发展,高校内部的信息交流需求日益增长。关于高校问答平台的研究,现有研究主要以综合性问答平台为主,专门针对高校......
  • node.js毕设基于Java的航班订票管理系统 论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于航班订票管理系统的研究,现有研究主要以大型综合票务系统或特定功能模块的优化为主,专门针对基于Java构建具有多种功能(如用户、机票信息、订单信息、......
  • 81. Web前端网页案例——【我的家乡成都印象旅游主题精品网页( 6页)】 大学生期末大作业
    目录一、网页概述二、网页文件三、网页效果四、代码展示1.html2.CSS3.JS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强六、更多推荐♬♬♬​​​​​​​欢迎光临我的CSDN!这里是Web前端网页案例大集汇,有各行各业的前端网页案例,每天会持续更新!......
  • 使用 nvm 为多项目设置不同 Node.js 环境,被同事们集体点赞了 !
    背景昨天开会时,突然一位前端开发同事埋冤到:”我太痛苦了,我有好几个项目要开发,关键是使用的Node.js版本不一致,每次运行不同的项目还得使用nvm重新切换一下Node.js版本,我快要崩溃了!“听到这里,我忍不住要为你赋能一下,能显著提升你的开发效率,解决你的心里崩溃,让你快乐开发......
  • VOLTA:更优秀的项目级 Node.js 版本管理工具
    关联文章使用nvm为多项目设置不同Node.js环境,被同事们集体点赞了!一.背景 本篇文章的主要目的是为了解决在同时开发多个项目的时候,由于每个项目可能使用的Node.js版本不一致,如何方便快捷的根据不同项目使用适应的Node.js版本。如果你也是使用的nvm来管理,可......
  • node.js毕设荷城街道社区户籍管理信息系统论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于户籍管理信息系统的研究,现有研究多集中于宏观层面的户籍管理制度或者较大范围的户籍管理系统,专门针对荷城街道社区这一较小区域户籍管理信息系统的......
  • node.js毕设基于hive线上问诊系统数据仓库 论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于线上问诊系统数据仓库的研究,现有研究主要集中在系统的功能实现、用户体验优化等方面。专门针对基于hive构建线上问诊系统数据仓库的研究较少。在国......
  • H5播放器EasyPlayer.js报错Unmuting failed and the element was paused问题
    H5播放器以其轻量级、高度可定制的特性,为HTML5视频播放提供了一个强大的解决方案。随着互联网技术的飞速发展,特别是5G技术的普及,EasyPlayer.js播放器的发展前景显得尤为广阔。5G技术带来的高传输速度和低延迟将极大地提升流媒体播放器的用户体验,使得视频播放更加流畅和稳定。浏......