★★免责声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由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系统虚拟机,可关注公众号:大象只为你,后台回复:【虚拟机】获取。
# 切换账号为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上的更新记录,发现requirements.txt
有最新更新记录,指定了python-docx==0.8.11
,所以使用主版本的源码进行编译可正常使用。
安装命令如下:
# 切换到自己要放置的目录下,比如toolscd tools# 下载源码git clone https://github.com/rtcatc/Packer-Fuzzer.git# 切换到源码目录cd Packer-Fuzzer
在使用pip3导入资源包,发现又出现错误了,
按提示创建虚拟环境,相关命令如下:
# 安装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
扫描结果做为漏洞挖掘的参考,详细的报告在reports
目录下,默认有html和docx两种格式,命名是目标扫描域名再加一串随机数。可直接访问xx.html或复制到自己本机查看报告。
我更习惯使用html格式,左侧列出报告摘要、漏洞详情、安全建议等,右侧根据菜单点击详情展示,很友好。
像一些js文件一般是加密的,可以再使用在线工具解密,然后格式化查看内容。这个工具检测出来的漏洞不一定就是百分百正确,在实际使用过程中结合判断。
5、我的公众号
敬请关注我的公众号:大象只为你,持续更新网安相关知识中…