0x01webpack是啥
随着WEB前端打包工具的流行,您在日常渗透测试、安全服务中是否遇到越来越多以Webpack打包器为代表的网站?这类打包器会将整站的API和API参数打包在一起供Web集中调用,这也便于我们快速发现网站的功能和API清单,但往往这些打包器所生成的JS文件数量异常之多并且总JS代码量异常庞大(多达上万行),这给我们的手工测试带来了极大的不便。
如下图以知识星球为例,查看源码看到很多很长的js
0x02 渗透思路
使用Packer Fuzzer将js里信息提取,同时检测安全问题
1、安装
直接下载安装就好了,可能会报错,如下图ModuleNotFoundError: No module named 'execjs'
pip安装'execjs'
也报错
解决方法如下pip install PyExecJS
2、使用
参数如下
Options:
-h, --help show this help message and exit
-u URL, --url=URL Please Enter the Target Site
-c COOKIE, --cookie=COOKIE
Please Enter the Site Cookies
-d HEAD, --head=HEAD Please Enter the extra HTTP head
-l LANGUAGE, --lang=LANGUAGE
Please Select Language
-t TYPE, --type=TYPE Please Select Scan Mode
-p PROXY, --proxy=PROXY
Please Enter your own Proxy Address
-j JS, --js=JS Extra JS Files
-b BASEURL, --base=BASEURL
Please Enter the baseurl
-r REPORT, --report=REPORT
Choose your report's type
-e EXT, --ext=EXT Enable Extensions
-f SSL_FLAG, --flag=SSL_FLAG
SSL SEC FLAG
-s SILENT, --silent=SILENT
Silent Mode (Custom Report Name)
主要是-b
和-t
参数
-b 指定API中间部分(例如某API为:https://demo.poc-sir.com/v1_api/login 时,则其basedir为:v1_api),可为空,当您认为本工具自动提取的basedir不准确时,可使用此选项,例如:-b v1_api -t 可使用adv选项进入高级版,例如:-t adv
知识星球没跑出来,可能wepact规则没匹配到,尝试其他网站,试试腾讯云
https://cloud.tencent.com/developer/article/1730835
查看生成的报告,可以提取出部分api接口