Packer-Fuzzer一款好用的前端高效安全扫描工具

大象只为你 2024-09-01 12:03:01 阅读 95

★★免责声明★★

文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

1、Packer Fuzzer介绍

Packer Fuzzer是一款针对Webpack等前端打包工具所构造的网站进行快速、高效安全检测的扫描工具。为什么会出现这个工具是由于WEB前端打包工具的流行,判断网站是否用Webpack打包,在Chrome浏览器可用插件Wappalyzer的杂项查看。

在这里插入图片描述

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

项目地址:https://github.com/rtcatc/Packer-Fuzzer

2、环境准备

Packer Fuzzer工具是使用Python3语言开发,因此运行使用要确保环境安装有Python3.x和pip3。以Kali系统为例

如果没有kali系统虚拟机,可关注公众号:大象只为你,后台回复:【虚拟机】获取。

<code># 切换账号为root管理员权限

sudo su

# 查看Python3版本号命令

python3 --version

# 确认是否安装pip3,可用查看pip3版本号

pip3 --version

如果没安装python3和pip3,可用以下命令进行安装

# 更新资源

apt-get update

# 安装python3命令

apt-get install python3

# 安装pip3命令

apt-get install python3-pip

Packer Fuzzer工具会通过node_vm2运行原生NodeJS代码,官方推荐安装NodeJS环境(不推荐其他JS运行环境,可能会导致解析失败)。安装命令如下

apt-get install nodejs && apt-get install npm

3、安装说明

github上有打包好的V1.4源码包,由于requirements.txt没有指定版本号,在python3.11版本时,即使所需要资源导入成功了,在使用时也会报异常

在这里插入图片描述

通过问ChatGPT,再看github上的更新记录,发现<code>requirements.txt有最新更新记录,指定了python-docx==0.8.11,所以使用主版本的源码进行编译可正常使用。

在这里插入图片描述

安装命令如下:

<code># 切换到自己要放置的目录下,比如tools

cd tools

# 下载源码

git clone https://github.com/rtcatc/Packer-Fuzzer.git

# 切换到源码目录

cd Packer-Fuzzer

在使用pip3导入资源包,发现又出现错误了,

在这里插入图片描述

按提示创建虚拟环境,相关命令如下:

<code># 安装python3-venv包,如果还没安装的话

apt install python3-venv

# 创建一个新的虚拟环境

python3 -m venv myenv

# 激活虚拟环境

source myenv/bin/activate

#-------分割线----------

# 退出虚拟环境

deactivate

说明:虚拟环境,当前窗口关闭后就失效,下次需要使用时,注意切换目录到myenv所在目录去激活

激活虚拟环境后,一键安装需要的资源

pip3 install -r requirements.txt

4、使用说明
4.1、参数介绍

使用python3 PackerFuzzer.py [options]命令来运行Packer Fuzzer工具,常用参数如下:

-h(–help) # 帮助命令,无需附加参数,查看工具支持的全部参数及其对应简介;

-u(–url) # 要扫描的网站网址路径,为必填选项,例如:-u https://demo.poc-sir.com

-c(–cookie)# 附加cookies内容,可为空,若填写则将全局传入,例如:-c "POC=666;SIR=233"

-d(–head) # 附加HTTP头部内容,可为空,若填写则将全局传入,默认为Cache-Control:no-cache,例如:-d "Token:3VHJ32HF0"

-t(–type) # 分为基础版和高级版,默认基础版本,高级版 -t adv

更多详细参数请查看github的参数介绍。

4.2、示例扫描说明

以某个网址做扫描验证,前端是vue实现的,扫描命令是 python3 PackerFuzzer.py -u http://xxx.com

在这里插入图片描述

扫描结果做为漏洞挖掘的参考,详细的报告在<code>reports目录下,默认有html和docx两种格式,命名是目标扫描域名再加一串随机数。可直接访问xx.html或复制到自己本机查看报告。

在这里插入图片描述

我更习惯使用html格式,左侧列出报告摘要、漏洞详情、安全建议等,右侧根据菜单点击详情展示,很友好。

在这里插入图片描述

像一些js文件一般是加密的,可以再使用在线工具解密,然后格式化查看内容。这个工具检测出来的漏洞不一定就是百分百正确,在实际使用过程中结合判断。

5、我的公众号

敬请关注我的公众号:大象只为你,持续更新网安相关知识中…



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。