summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleot <leot@pkgsrc.org>2021-03-06 21:05:33 +0000
committerleot <leot@pkgsrc.org>2021-03-06 21:05:33 +0000
commit5a99064bf016817b4dc2abeee1d276397dbdd332 (patch)
treed3b2fdef5a75fc75e11cd889b1356cf6cfc33a2e
parentbe7396b6322c0bc784ca52601188b5132f9e1ee0 (diff)
downloadpkgsrc-5a99064bf016817b4dc2abeee1d276397dbdd332.tar.gz
security/wfuzz: import wfuzz-3.1.0
Wfuzz has been created to facilitate the task in web applications assessments and it is based on a simple concept: it replaces any reference to the FUZZ keyword by the value of a given payload. A payload in Wfuzz is a source of data. This simple concept allows any input to be injected in any field of an HTTP request, allowing to perform complex web security attacks in different web application components such as: parameters, authentication, forms, directories/files, headers, etc. Wfuzz is more than a web content scanner: - Wfuzz could help you to secure your web applications by finding and exploiting web application vulnerabilities. Wfuzz's web application vulnerability scanner is supported by plugins. - Wfuzz is a completely modular framework and makes it easy for even the newest of Python developers to contribute. Building plugins is simple and takes little more than a few minutes. - Wfuzz exposes a simple language interface to the previous HTTP requests/responses performed using Wfuzz or other tools, such as Burp. This allows you to perform manual and semi-automatic tests with full context and understanding of your actions, without relying on a web application scanner underlying implementation.
-rw-r--r--security/wfuzz/DESCR24
-rw-r--r--security/wfuzz/Makefile23
-rw-r--r--security/wfuzz/PLIST332
-rw-r--r--security/wfuzz/distinfo6
4 files changed, 385 insertions, 0 deletions
diff --git a/security/wfuzz/DESCR b/security/wfuzz/DESCR
new file mode 100644
index 00000000000..172815516d0
--- /dev/null
+++ b/security/wfuzz/DESCR
@@ -0,0 +1,24 @@
+Wfuzz has been created to facilitate the task in web applications
+assessments and it is based on a simple concept: it replaces any
+reference to the FUZZ keyword by the value of a given payload.
+
+A payload in Wfuzz is a source of data.
+
+This simple concept allows any input to be injected in any field of an
+HTTP request, allowing to perform complex web security attacks in
+different web application components such as: parameters,
+authentication, forms, directories/files, headers, etc.
+
+Wfuzz is more than a web content scanner:
+
+ - Wfuzz could help you to secure your web applications by finding and
+ exploiting web application vulnerabilities. Wfuzz's web application
+ vulnerability scanner is supported by plugins.
+ - Wfuzz is a completely modular framework and makes it easy for even
+ the newest of Python developers to contribute. Building plugins is
+ simple and takes little more than a few minutes.
+ - Wfuzz exposes a simple language interface to the previous HTTP
+ requests/responses performed using Wfuzz or other tools, such as Burp.
+ This allows you to perform manual and semi-automatic tests with full
+ context and understanding of your actions, without relying on a web
+ application scanner underlying implementation.
diff --git a/security/wfuzz/Makefile b/security/wfuzz/Makefile
new file mode 100644
index 00000000000..9e798505ce4
--- /dev/null
+++ b/security/wfuzz/Makefile
@@ -0,0 +1,23 @@
+# $NetBSD: Makefile,v 1.1 2021/03/06 21:05:33 leot Exp $
+
+DISTNAME= wfuzz-3.1.0
+CATEGORIES= security python
+MASTER_SITES= ${MASTER_SITE_PYPI:=w/wfuzz/}
+
+MAINTAINER= leot@NetBSD.org
+HOMEPAGE= http://wfuzz.io/
+COMMENT= Web application fuzzer
+LICENSE= gnu-gpl-v2
+
+DEPENDS+= ${PYPKGPREFIX}-chardet-[0-9]*:../../converters/py-chardet
+DEPENDS+= ${PYPKGPREFIX}-curl-[0-9]*:../../www/py-curl
+DEPENDS+= ${PYPKGPREFIX}-pyparsing>=2.4:../../devel/py-pyparsing
+DEPENDS+= ${PYPKGPREFIX}-six-[0-9]*:../../lang/py-six
+
+USE_LANGUAGES= # none
+
+# Only for Python 3
+PYTHON_VERSIONS_INCOMPATIBLE= 27
+
+.include "../../lang/python/egg.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/security/wfuzz/PLIST b/security/wfuzz/PLIST
new file mode 100644
index 00000000000..88bbad33d0a
--- /dev/null
+++ b/security/wfuzz/PLIST
@@ -0,0 +1,332 @@
+@comment $NetBSD: PLIST,v 1.1 2021/03/06 21:05:33 leot Exp $
+bin/wfencode
+bin/wfpayload
+bin/wfuzz
+bin/wxfuzz
+${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
+${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
+${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
+${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
+${PYSITELIB}/${EGG_INFODIR}/requires.txt
+${PYSITELIB}/${EGG_INFODIR}/top_level.txt
+${PYSITELIB}/wfuzz/__init__.py
+${PYSITELIB}/wfuzz/__init__.pyc
+${PYSITELIB}/wfuzz/__init__.pyo
+${PYSITELIB}/wfuzz/__main__.py
+${PYSITELIB}/wfuzz/__main__.pyc
+${PYSITELIB}/wfuzz/__main__.pyo
+${PYSITELIB}/wfuzz/api.py
+${PYSITELIB}/wfuzz/api.pyc
+${PYSITELIB}/wfuzz/api.pyo
+${PYSITELIB}/wfuzz/core.py
+${PYSITELIB}/wfuzz/core.pyc
+${PYSITELIB}/wfuzz/core.pyo
+${PYSITELIB}/wfuzz/dictionaries.py
+${PYSITELIB}/wfuzz/dictionaries.pyc
+${PYSITELIB}/wfuzz/dictionaries.pyo
+${PYSITELIB}/wfuzz/exception.py
+${PYSITELIB}/wfuzz/exception.pyc
+${PYSITELIB}/wfuzz/exception.pyo
+${PYSITELIB}/wfuzz/externals/__init__.py
+${PYSITELIB}/wfuzz/externals/__init__.pyc
+${PYSITELIB}/wfuzz/externals/__init__.pyo
+${PYSITELIB}/wfuzz/externals/moduleman/__init__.py
+${PYSITELIB}/wfuzz/externals/moduleman/__init__.pyc
+${PYSITELIB}/wfuzz/externals/moduleman/__init__.pyo
+${PYSITELIB}/wfuzz/externals/moduleman/loader.py
+${PYSITELIB}/wfuzz/externals/moduleman/loader.pyc
+${PYSITELIB}/wfuzz/externals/moduleman/loader.pyo
+${PYSITELIB}/wfuzz/externals/moduleman/modulefilter.py
+${PYSITELIB}/wfuzz/externals/moduleman/modulefilter.pyc
+${PYSITELIB}/wfuzz/externals/moduleman/modulefilter.pyo
+${PYSITELIB}/wfuzz/externals/moduleman/plugin.py
+${PYSITELIB}/wfuzz/externals/moduleman/plugin.pyc
+${PYSITELIB}/wfuzz/externals/moduleman/plugin.pyo
+${PYSITELIB}/wfuzz/externals/moduleman/registrant.py
+${PYSITELIB}/wfuzz/externals/moduleman/registrant.pyc
+${PYSITELIB}/wfuzz/externals/moduleman/registrant.pyo
+${PYSITELIB}/wfuzz/externals/reqresp/Request.py
+${PYSITELIB}/wfuzz/externals/reqresp/Request.pyc
+${PYSITELIB}/wfuzz/externals/reqresp/Request.pyo
+${PYSITELIB}/wfuzz/externals/reqresp/Response.py
+${PYSITELIB}/wfuzz/externals/reqresp/Response.pyc
+${PYSITELIB}/wfuzz/externals/reqresp/Response.pyo
+${PYSITELIB}/wfuzz/externals/reqresp/TextParser.py
+${PYSITELIB}/wfuzz/externals/reqresp/TextParser.pyc
+${PYSITELIB}/wfuzz/externals/reqresp/TextParser.pyo
+${PYSITELIB}/wfuzz/externals/reqresp/Variables.py
+${PYSITELIB}/wfuzz/externals/reqresp/Variables.pyc
+${PYSITELIB}/wfuzz/externals/reqresp/Variables.pyo
+${PYSITELIB}/wfuzz/externals/reqresp/__init__.py
+${PYSITELIB}/wfuzz/externals/reqresp/__init__.pyc
+${PYSITELIB}/wfuzz/externals/reqresp/__init__.pyo
+${PYSITELIB}/wfuzz/externals/reqresp/cache.py
+${PYSITELIB}/wfuzz/externals/reqresp/cache.pyc
+${PYSITELIB}/wfuzz/externals/reqresp/cache.pyo
+${PYSITELIB}/wfuzz/externals/reqresp/exceptions.py
+${PYSITELIB}/wfuzz/externals/reqresp/exceptions.pyc
+${PYSITELIB}/wfuzz/externals/reqresp/exceptions.pyo
+${PYSITELIB}/wfuzz/externals/settings/__init__.py
+${PYSITELIB}/wfuzz/externals/settings/__init__.pyc
+${PYSITELIB}/wfuzz/externals/settings/__init__.pyo
+${PYSITELIB}/wfuzz/externals/settings/settings.py
+${PYSITELIB}/wfuzz/externals/settings/settings.pyc
+${PYSITELIB}/wfuzz/externals/settings/settings.pyo
+${PYSITELIB}/wfuzz/facade.py
+${PYSITELIB}/wfuzz/facade.pyc
+${PYSITELIB}/wfuzz/facade.pyo
+${PYSITELIB}/wfuzz/factories/__init__.py
+${PYSITELIB}/wfuzz/factories/__init__.pyc
+${PYSITELIB}/wfuzz/factories/__init__.pyo
+${PYSITELIB}/wfuzz/factories/dictfactory.py
+${PYSITELIB}/wfuzz/factories/dictfactory.pyc
+${PYSITELIB}/wfuzz/factories/dictfactory.pyo
+${PYSITELIB}/wfuzz/factories/fuzzfactory.py
+${PYSITELIB}/wfuzz/factories/fuzzfactory.pyc
+${PYSITELIB}/wfuzz/factories/fuzzfactory.pyo
+${PYSITELIB}/wfuzz/factories/fuzzresfactory.py
+${PYSITELIB}/wfuzz/factories/fuzzresfactory.pyc
+${PYSITELIB}/wfuzz/factories/fuzzresfactory.pyo
+${PYSITELIB}/wfuzz/factories/payman.py
+${PYSITELIB}/wfuzz/factories/payman.pyc
+${PYSITELIB}/wfuzz/factories/payman.pyo
+${PYSITELIB}/wfuzz/factories/plugin_factory.py
+${PYSITELIB}/wfuzz/factories/plugin_factory.pyc
+${PYSITELIB}/wfuzz/factories/plugin_factory.pyo
+${PYSITELIB}/wfuzz/factories/reqresp_factory.py
+${PYSITELIB}/wfuzz/factories/reqresp_factory.pyc
+${PYSITELIB}/wfuzz/factories/reqresp_factory.pyo
+${PYSITELIB}/wfuzz/filters/__init__.py
+${PYSITELIB}/wfuzz/filters/__init__.pyc
+${PYSITELIB}/wfuzz/filters/__init__.pyo
+${PYSITELIB}/wfuzz/filters/ppfilter.py
+${PYSITELIB}/wfuzz/filters/ppfilter.pyc
+${PYSITELIB}/wfuzz/filters/ppfilter.pyo
+${PYSITELIB}/wfuzz/filters/simplefilter.py
+${PYSITELIB}/wfuzz/filters/simplefilter.pyc
+${PYSITELIB}/wfuzz/filters/simplefilter.pyo
+${PYSITELIB}/wfuzz/fuzzobjects.py
+${PYSITELIB}/wfuzz/fuzzobjects.pyc
+${PYSITELIB}/wfuzz/fuzzobjects.pyo
+${PYSITELIB}/wfuzz/fuzzqueues.py
+${PYSITELIB}/wfuzz/fuzzqueues.pyc
+${PYSITELIB}/wfuzz/fuzzqueues.pyo
+${PYSITELIB}/wfuzz/fuzzrequest.py
+${PYSITELIB}/wfuzz/fuzzrequest.pyc
+${PYSITELIB}/wfuzz/fuzzrequest.pyo
+${PYSITELIB}/wfuzz/helpers/__init__.py
+${PYSITELIB}/wfuzz/helpers/__init__.pyc
+${PYSITELIB}/wfuzz/helpers/__init__.pyo
+${PYSITELIB}/wfuzz/helpers/file_func.py
+${PYSITELIB}/wfuzz/helpers/file_func.pyc
+${PYSITELIB}/wfuzz/helpers/file_func.pyo
+${PYSITELIB}/wfuzz/helpers/obj_dic.py
+${PYSITELIB}/wfuzz/helpers/obj_dic.pyc
+${PYSITELIB}/wfuzz/helpers/obj_dic.pyo
+${PYSITELIB}/wfuzz/helpers/obj_dyn.py
+${PYSITELIB}/wfuzz/helpers/obj_dyn.pyc
+${PYSITELIB}/wfuzz/helpers/obj_dyn.pyo
+${PYSITELIB}/wfuzz/helpers/obj_factory.py
+${PYSITELIB}/wfuzz/helpers/obj_factory.pyc
+${PYSITELIB}/wfuzz/helpers/obj_factory.pyo
+${PYSITELIB}/wfuzz/helpers/str_func.py
+${PYSITELIB}/wfuzz/helpers/str_func.pyc
+${PYSITELIB}/wfuzz/helpers/str_func.pyo
+${PYSITELIB}/wfuzz/helpers/utils.py
+${PYSITELIB}/wfuzz/helpers/utils.pyc
+${PYSITELIB}/wfuzz/helpers/utils.pyo
+${PYSITELIB}/wfuzz/mixins.py
+${PYSITELIB}/wfuzz/mixins.pyc
+${PYSITELIB}/wfuzz/mixins.pyo
+${PYSITELIB}/wfuzz/myhttp.py
+${PYSITELIB}/wfuzz/myhttp.pyc
+${PYSITELIB}/wfuzz/myhttp.pyo
+${PYSITELIB}/wfuzz/myqueues.py
+${PYSITELIB}/wfuzz/myqueues.pyc
+${PYSITELIB}/wfuzz/myqueues.pyo
+${PYSITELIB}/wfuzz/options.py
+${PYSITELIB}/wfuzz/options.pyc
+${PYSITELIB}/wfuzz/options.pyo
+${PYSITELIB}/wfuzz/plugin_api/__init__.py
+${PYSITELIB}/wfuzz/plugin_api/__init__.pyc
+${PYSITELIB}/wfuzz/plugin_api/__init__.pyo
+${PYSITELIB}/wfuzz/plugin_api/base.py
+${PYSITELIB}/wfuzz/plugin_api/base.pyc
+${PYSITELIB}/wfuzz/plugin_api/base.pyo
+${PYSITELIB}/wfuzz/plugin_api/mixins.py
+${PYSITELIB}/wfuzz/plugin_api/mixins.pyc
+${PYSITELIB}/wfuzz/plugin_api/mixins.pyo
+${PYSITELIB}/wfuzz/plugin_api/payloadtools.py
+${PYSITELIB}/wfuzz/plugin_api/payloadtools.pyc
+${PYSITELIB}/wfuzz/plugin_api/payloadtools.pyo
+${PYSITELIB}/wfuzz/plugin_api/urlutils.py
+${PYSITELIB}/wfuzz/plugin_api/urlutils.pyc
+${PYSITELIB}/wfuzz/plugin_api/urlutils.pyo
+${PYSITELIB}/wfuzz/plugins/__init__.py
+${PYSITELIB}/wfuzz/plugins/__init__.pyc
+${PYSITELIB}/wfuzz/plugins/__init__.pyo
+${PYSITELIB}/wfuzz/plugins/encoders/__init__.py
+${PYSITELIB}/wfuzz/plugins/encoders/__init__.pyc
+${PYSITELIB}/wfuzz/plugins/encoders/__init__.pyo
+${PYSITELIB}/wfuzz/plugins/encoders/encoders.py
+${PYSITELIB}/wfuzz/plugins/encoders/encoders.pyc
+${PYSITELIB}/wfuzz/plugins/encoders/encoders.pyo
+${PYSITELIB}/wfuzz/plugins/iterators/__init__.py
+${PYSITELIB}/wfuzz/plugins/iterators/__init__.pyc
+${PYSITELIB}/wfuzz/plugins/iterators/__init__.pyo
+${PYSITELIB}/wfuzz/plugins/iterators/iterations.py
+${PYSITELIB}/wfuzz/plugins/iterators/iterations.pyc
+${PYSITELIB}/wfuzz/plugins/iterators/iterations.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/__init__.py
+${PYSITELIB}/wfuzz/plugins/payloads/__init__.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/__init__.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/autorize.py
+${PYSITELIB}/wfuzz/plugins/payloads/autorize.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/autorize.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/bing.py
+${PYSITELIB}/wfuzz/plugins/payloads/bing.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/bing.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/buffer_overflow.py
+${PYSITELIB}/wfuzz/plugins/payloads/buffer_overflow.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/buffer_overflow.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/burpitem.py
+${PYSITELIB}/wfuzz/plugins/payloads/burpitem.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/burpitem.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/burplog.py
+${PYSITELIB}/wfuzz/plugins/payloads/burplog.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/burplog.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/burpstate.py
+${PYSITELIB}/wfuzz/plugins/payloads/burpstate.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/burpstate.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/dirwalk.py
+${PYSITELIB}/wfuzz/plugins/payloads/dirwalk.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/dirwalk.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/file.py
+${PYSITELIB}/wfuzz/plugins/payloads/file.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/file.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/guitab.py
+${PYSITELIB}/wfuzz/plugins/payloads/guitab.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/guitab.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/hexrand.py
+${PYSITELIB}/wfuzz/plugins/payloads/hexrand.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/hexrand.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/hexrange.py
+${PYSITELIB}/wfuzz/plugins/payloads/hexrange.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/hexrange.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/ipnet.py
+${PYSITELIB}/wfuzz/plugins/payloads/ipnet.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/ipnet.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/iprange.py
+${PYSITELIB}/wfuzz/plugins/payloads/iprange.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/iprange.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/list.py
+${PYSITELIB}/wfuzz/plugins/payloads/list.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/list.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/names.py
+${PYSITELIB}/wfuzz/plugins/payloads/names.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/names.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/permutation.py
+${PYSITELIB}/wfuzz/plugins/payloads/permutation.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/permutation.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/range.py
+${PYSITELIB}/wfuzz/plugins/payloads/range.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/range.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/shodanp.py
+${PYSITELIB}/wfuzz/plugins/payloads/shodanp.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/shodanp.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/stdin.py
+${PYSITELIB}/wfuzz/plugins/payloads/stdin.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/stdin.pyo
+${PYSITELIB}/wfuzz/plugins/payloads/wfuzzp.py
+${PYSITELIB}/wfuzz/plugins/payloads/wfuzzp.pyc
+${PYSITELIB}/wfuzz/plugins/payloads/wfuzzp.pyo
+${PYSITELIB}/wfuzz/plugins/printers/__init__.py
+${PYSITELIB}/wfuzz/plugins/printers/__init__.pyc
+${PYSITELIB}/wfuzz/plugins/printers/__init__.pyo
+${PYSITELIB}/wfuzz/plugins/printers/printers.py
+${PYSITELIB}/wfuzz/plugins/printers/printers.pyc
+${PYSITELIB}/wfuzz/plugins/printers/printers.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/__init__.py
+${PYSITELIB}/wfuzz/plugins/scripts/__init__.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/__init__.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/backups.py
+${PYSITELIB}/wfuzz/plugins/scripts/backups.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/backups.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/cookies.py
+${PYSITELIB}/wfuzz/plugins/scripts/cookies.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/cookies.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/cvs_extractor.py
+${PYSITELIB}/wfuzz/plugins/scripts/cvs_extractor.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/cvs_extractor.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/errors.py
+${PYSITELIB}/wfuzz/plugins/scripts/errors.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/errors.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/grep.py
+${PYSITELIB}/wfuzz/plugins/scripts/grep.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/grep.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/headers.py
+${PYSITELIB}/wfuzz/plugins/scripts/headers.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/headers.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/links.py
+${PYSITELIB}/wfuzz/plugins/scripts/links.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/links.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/listing.py
+${PYSITELIB}/wfuzz/plugins/scripts/listing.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/listing.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/npm_deps.py
+${PYSITELIB}/wfuzz/plugins/scripts/npm_deps.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/npm_deps.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/robots.py
+${PYSITELIB}/wfuzz/plugins/scripts/robots.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/robots.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/screenshot.py
+${PYSITELIB}/wfuzz/plugins/scripts/screenshot.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/screenshot.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/sitemap.py
+${PYSITELIB}/wfuzz/plugins/scripts/sitemap.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/sitemap.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/svn_extractor.py
+${PYSITELIB}/wfuzz/plugins/scripts/svn_extractor.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/svn_extractor.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/title.py
+${PYSITELIB}/wfuzz/plugins/scripts/title.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/title.pyo
+${PYSITELIB}/wfuzz/plugins/scripts/wcdb.py
+${PYSITELIB}/wfuzz/plugins/scripts/wcdb.pyc
+${PYSITELIB}/wfuzz/plugins/scripts/wcdb.pyo
+${PYSITELIB}/wfuzz/ui/__init__.py
+${PYSITELIB}/wfuzz/ui/__init__.pyc
+${PYSITELIB}/wfuzz/ui/__init__.pyo
+${PYSITELIB}/wfuzz/ui/console/__init__.py
+${PYSITELIB}/wfuzz/ui/console/__init__.pyc
+${PYSITELIB}/wfuzz/ui/console/__init__.pyo
+${PYSITELIB}/wfuzz/ui/console/clparser.py
+${PYSITELIB}/wfuzz/ui/console/clparser.pyc
+${PYSITELIB}/wfuzz/ui/console/clparser.pyo
+${PYSITELIB}/wfuzz/ui/console/common.py
+${PYSITELIB}/wfuzz/ui/console/common.pyc
+${PYSITELIB}/wfuzz/ui/console/common.pyo
+${PYSITELIB}/wfuzz/ui/console/getch.py
+${PYSITELIB}/wfuzz/ui/console/getch.pyc
+${PYSITELIB}/wfuzz/ui/console/getch.pyo
+${PYSITELIB}/wfuzz/ui/console/mvc.py
+${PYSITELIB}/wfuzz/ui/console/mvc.pyc
+${PYSITELIB}/wfuzz/ui/console/mvc.pyo
+${PYSITELIB}/wfuzz/ui/console/output.py
+${PYSITELIB}/wfuzz/ui/console/output.pyc
+${PYSITELIB}/wfuzz/ui/console/output.pyo
+${PYSITELIB}/wfuzz/ui/gui/__init__.py
+${PYSITELIB}/wfuzz/ui/gui/__init__.pyc
+${PYSITELIB}/wfuzz/ui/gui/__init__.pyo
+${PYSITELIB}/wfuzz/ui/gui/controller.py
+${PYSITELIB}/wfuzz/ui/gui/controller.pyc
+${PYSITELIB}/wfuzz/ui/gui/controller.pyo
+${PYSITELIB}/wfuzz/ui/gui/guicontrols.py
+${PYSITELIB}/wfuzz/ui/gui/guicontrols.pyc
+${PYSITELIB}/wfuzz/ui/gui/guicontrols.pyo
+${PYSITELIB}/wfuzz/ui/gui/model.py
+${PYSITELIB}/wfuzz/ui/gui/model.pyc
+${PYSITELIB}/wfuzz/ui/gui/model.pyo
+${PYSITELIB}/wfuzz/wfuzz.py
+${PYSITELIB}/wfuzz/wfuzz.pyc
+${PYSITELIB}/wfuzz/wfuzz.pyo
diff --git a/security/wfuzz/distinfo b/security/wfuzz/distinfo
new file mode 100644
index 00000000000..91e156aebf3
--- /dev/null
+++ b/security/wfuzz/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2021/03/06 21:05:33 leot Exp $
+
+SHA1 (wfuzz-3.1.0.tar.gz) = 5f8d6d23e0b56dd13d694f9cc28c2f36c1fcac7f
+RMD160 (wfuzz-3.1.0.tar.gz) = 2c8a3b060e11b2b9b662de782ba4b8e6527dca61
+SHA512 (wfuzz-3.1.0.tar.gz) = e3c7b0924ee0a41d17a6d968fb638ff393aa2f020bdebe91231b59fccdd0ebb640c1985bd9d8d5087db4bc6384cc1fbc917e005f6a6742ee3cbef505e9ec217c
+Size (wfuzz-3.1.0.tar.gz) = 103099 bytes