bbot 2.3.0.5354rc0__tar.gz → 2.3.0.5362rc0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of bbot might be problematic. Click here for more details.
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/PKG-INFO +19 -1
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/README.md +18 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/__init__.py +1 -1
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/depsinstaller/installer.py +2 -1
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/db/sql/models.py +5 -5
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/defaults.yml +7 -8
- bbot-2.3.0.5362rc0/bbot/modules/output/mysql.py +51 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/templates/sql.py +5 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test.conf +2 -0
- bbot-2.3.0.5362rc0/bbot/test/test_step_2/module_tests/test_module_mysql.py +76 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/pyproject.toml +1 -1
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/LICENSE +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/cli.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/config/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/config/files.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/config/logger.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/core.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/engine.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/event/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/event/base.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/event/helpers.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/flags.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/async_helpers.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/bloom.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/cache.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/command.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/depsinstaller/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/depsinstaller/sudo_askpass.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/diff.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/dns/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/dns/brute.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/dns/dns.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/dns/engine.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/dns/helpers.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/dns/mock.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/files.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/helper.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/interactsh.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/libmagic.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/misc.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/names_generator.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/ntlm.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/process.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/ratelimiter.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/regex.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/regexes.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/url.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/validators.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/web/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/web/client.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/web/engine.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/web/ssl_context.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/web/web.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/helpers/wordcloud.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/modules.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/multiprocess.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/core/shared_deps.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/errors.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/logger.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/ajaxpro.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/anubisdb.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/apkpure.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/azure_realm.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/azure_tenant.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/baddns.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/baddns_direct.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/baddns_zone.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/badsecrets.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/base.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/bevigil.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/binaryedge.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/bucket_amazon.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/bucket_azure.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/bucket_digitalocean.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/bucket_file_enum.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/bucket_firebase.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/bucket_google.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/bufferoverrun.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/builtwith.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/bypass403.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/c99.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/censys.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/certspotter.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/chaos.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/code_repository.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/columbus.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/credshed.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/crt.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/deadly/dastardly.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/deadly/ffuf.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/deadly/nuclei.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/deadly/vhost.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/dehashed.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/digitorus.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/dnsbimi.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/dnsbrute.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/dnsbrute_mutations.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/dnscaa.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/dnscommonsrv.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/dnsdumpster.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/docker_pull.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/dockerhub.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/dotnetnuke.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/emailformat.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/extractous.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/ffuf_shortnames.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/filedownload.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/fingerprintx.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/fullhunt.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/generic_ssrf.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/git.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/git_clone.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/github_codesearch.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/github_org.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/github_workflows.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/gitlab.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/google_playstore.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/gowitness.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/hackertarget.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/host_header.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/httpx.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/hunt.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/hunterio.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/iis_shortnames.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/internal/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/internal/aggregate.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/internal/base.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/internal/cloudcheck.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/internal/dnsresolve.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/internal/excavate.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/internal/speculate.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/internetdb.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/ip2location.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/ipneighbor.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/ipstack.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/jadx.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/leakix.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/myssl.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/newsletters.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/ntlm.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/oauth.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/otx.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/asset_inventory.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/base.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/csv.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/discord.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/emails.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/http.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/json.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/neo4j.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/postgres.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/python.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/slack.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/splunk.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/sqlite.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/stdout.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/subdomains.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/teams.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/txt.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/web_report.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/output/websocket.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/paramminer_cookies.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/paramminer_getparams.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/paramminer_headers.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/passivetotal.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/pgp.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/portscan.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/postman.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/postman_download.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/rapiddns.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/report/affiliates.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/report/asn.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/report/base.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/robots.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/secretsdb.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/securitytrails.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/securitytxt.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/shodan_dns.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/sitedossier.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/skymem.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/smuggler.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/social.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/sslcert.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/subdomaincenter.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/subdomainradar.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/telerik.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/templates/bucket.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/templates/github.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/templates/postman.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/templates/shodan.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/templates/subdomain_enum.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/templates/webhook.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/trickest.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/trufflehog.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/url_manipulation.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/urlscan.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/viewdns.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/virustotal.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/wafw00f.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/wappalyzer.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/wayback.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/wpscan.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/modules/zoomeye.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/baddns-thorough.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/cloud-enum.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/code-enum.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/email-enum.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/fast.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/kitchen-sink.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/spider.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/subdomain-enum.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/web/dirbust-heavy.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/web/dirbust-light.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/web/dotnet-audit.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/web/iis-shortnames.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/web/paramminer.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/web-basic.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/web-screenshots.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/presets/web-thorough.yml +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/dispatcher.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/manager.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/preset/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/preset/args.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/preset/conditions.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/preset/environ.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/preset/path.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/preset/preset.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/scanner.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/stats.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scanner/target.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/scripts/docs.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/bbot_fixtures.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/conftest.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/coverage.cfg +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/fastapi_test.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/owasp_mastg.apk +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/run_tests.sh +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_output.ndjson +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test__module__tests.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_bbot_fastapi.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_bloom_filter.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_cli.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_command.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_config.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_depsinstaller.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_dns.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_docs.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_engine.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_events.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_files.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_helpers.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_manager_deduplication.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_manager_scope_accuracy.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_modules_basic.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_presets.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_python_api.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_regexes.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_scan.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_scope.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_target.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_1/test_web.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/base.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_affiliates.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_aggregate.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_ajaxpro.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_anubisdb.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_apkpure.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_asn.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_asset_inventory.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_azure_realm.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_azure_tenant.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_baddns.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_baddns_direct.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_baddns_zone.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_badsecrets.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_bevigil.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_binaryedge.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_amazon.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_azure.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_digitalocean.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_file_enum.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_firebase.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_google.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_bufferoverrun.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_builtwith.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_bypass403.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_c99.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_censys.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_certspotter.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_chaos.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_cloudcheck.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_code_repository.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_columbus.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_credshed.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_crt.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_csv.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_dastardly.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_dehashed.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_digitorus.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_discord.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_dnsbimi.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_dnsbrute.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_dnsbrute_mutations.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_dnscaa.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_dnscommonsrv.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_dnsdumpster.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_dnsresolve.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_docker_pull.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_dockerhub.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_dotnetnuke.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_emailformat.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_emails.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_excavate.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_extractous.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_ffuf.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_ffuf_shortnames.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_filedownload.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_fingerprintx.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_fullhunt.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_generic_ssrf.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_git.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_git_clone.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_github_codesearch.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_github_org.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_github_workflows.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_gitlab.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_google_playstore.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_gowitness.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_hackertarget.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_host_header.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_http.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_httpx.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_hunt.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_hunterio.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_iis_shortnames.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_internetdb.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_ip2location.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_ipneighbor.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_ipstack.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_jadx.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_json.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_leakix.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_myssl.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_neo4j.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_newsletters.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_ntlm.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_nuclei.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_oauth.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_otx.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_paramminer_cookies.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_paramminer_getparams.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_paramminer_headers.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_passivetotal.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_pgp.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_portscan.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_postgres.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_postman.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_postman_download.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_python.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_rapiddns.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_robots.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_secretsdb.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_securitytrails.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_securitytxt.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_shodan_dns.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_sitedossier.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_skymem.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_slack.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_smuggler.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_social.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_speculate.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_splunk.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_sqlite.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_sslcert.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_stdout.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_subdomaincenter.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_subdomainradar.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_subdomains.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_teams.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_telerik.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_trickest.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_trufflehog.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_txt.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_url_manipulation.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_urlscan.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_vhost.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_viewdns.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_virustotal.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_wafw00f.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_wappalyzer.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_wayback.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_web_report.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_websocket.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_wpscan.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/module_tests/test_module_zoomeye.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/template_tests/__init__.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/test_step_2/template_tests/test_template_subdomain_enum.py +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/testsslcert.pem +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/test/testsslkey.pem +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/wordlists/devops_mutations.txt +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/wordlists/ffuf_shortname_candidates.txt +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/wordlists/ms_on_prem_subdomains.txt +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/wordlists/nameservers.txt +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/wordlists/paramminer_headers.txt +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/wordlists/paramminer_parameters.txt +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/wordlists/raft-small-extensions-lowercase_CLEANED.txt +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/wordlists/top_open_ports_nmap.txt +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/wordlists/valid_url_schemes.txt +0 -0
- {bbot-2.3.0.5354rc0 → bbot-2.3.0.5362rc0}/bbot/wordlists/wordninja_dns.txt.gz +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: bbot
|
|
3
|
-
Version: 2.3.0.
|
|
3
|
+
Version: 2.3.0.5362rc0
|
|
4
4
|
Summary: OSINT automation for hackers.
|
|
5
5
|
Home-page: https://github.com/blacklanternsecurity/bbot
|
|
6
6
|
License: GPL-3.0
|
|
@@ -294,6 +294,24 @@ Click the graph below to explore the [inner workings](https://www.blacklanternse
|
|
|
294
294
|
|
|
295
295
|
[](https://www.blacklanternsecurity.com/bbot/Stable/how_it_works/)
|
|
296
296
|
|
|
297
|
+
## Output Modules
|
|
298
|
+
|
|
299
|
+
- [Neo4j](docs/scanning/output.md#neo4j)
|
|
300
|
+
- [Teams](docs/scanning/output.md#teams)
|
|
301
|
+
- [Discord](docs/scanning/output.md#discord)
|
|
302
|
+
- [Slack](docs/scanning/output.md#slack)
|
|
303
|
+
- [Postgres](docs/scanning/output.md#postgres)
|
|
304
|
+
- [MySQL](docs/scanning/output.md#mysql)
|
|
305
|
+
- [SQLite](docs/scanning/output.md#sqlite)
|
|
306
|
+
- [Splunk](docs/scanning/output.md#splunk)
|
|
307
|
+
- [Elasticsearch](docs/scanning/output.md#elasticsearch)
|
|
308
|
+
- [CSV](docs/scanning/output.md#csv)
|
|
309
|
+
- [JSON](docs/scanning/output.md#json)
|
|
310
|
+
- [HTTP](docs/scanning/output.md#http)
|
|
311
|
+
- [Websocket](docs/scanning/output.md#websocket)
|
|
312
|
+
|
|
313
|
+
...and [more](docs/scanning/output.md)!
|
|
314
|
+
|
|
297
315
|
## BBOT as a Python Library
|
|
298
316
|
|
|
299
317
|
#### Synchronous
|
|
@@ -240,6 +240,24 @@ Click the graph below to explore the [inner workings](https://www.blacklanternse
|
|
|
240
240
|
|
|
241
241
|
[](https://www.blacklanternsecurity.com/bbot/Stable/how_it_works/)
|
|
242
242
|
|
|
243
|
+
## Output Modules
|
|
244
|
+
|
|
245
|
+
- [Neo4j](docs/scanning/output.md#neo4j)
|
|
246
|
+
- [Teams](docs/scanning/output.md#teams)
|
|
247
|
+
- [Discord](docs/scanning/output.md#discord)
|
|
248
|
+
- [Slack](docs/scanning/output.md#slack)
|
|
249
|
+
- [Postgres](docs/scanning/output.md#postgres)
|
|
250
|
+
- [MySQL](docs/scanning/output.md#mysql)
|
|
251
|
+
- [SQLite](docs/scanning/output.md#sqlite)
|
|
252
|
+
- [Splunk](docs/scanning/output.md#splunk)
|
|
253
|
+
- [Elasticsearch](docs/scanning/output.md#elasticsearch)
|
|
254
|
+
- [CSV](docs/scanning/output.md#csv)
|
|
255
|
+
- [JSON](docs/scanning/output.md#json)
|
|
256
|
+
- [HTTP](docs/scanning/output.md#http)
|
|
257
|
+
- [Websocket](docs/scanning/output.md#websocket)
|
|
258
|
+
|
|
259
|
+
...and [more](docs/scanning/output.md)!
|
|
260
|
+
|
|
243
261
|
## BBOT as a Python Library
|
|
244
262
|
|
|
245
263
|
#### Synchronous
|
|
@@ -49,7 +49,8 @@ class DepsInstaller:
|
|
|
49
49
|
self.minimal_git_config.touch()
|
|
50
50
|
os.environ["GIT_CONFIG_GLOBAL"] = str(self.minimal_git_config)
|
|
51
51
|
|
|
52
|
-
self.
|
|
52
|
+
self.deps_config = self.parent_helper.config.get("deps", {})
|
|
53
|
+
self.deps_behavior = self.deps_config.get("behavior", "abort_on_failure").lower()
|
|
53
54
|
self.ansible_debug = self.core.logger.log_level <= logging.DEBUG
|
|
54
55
|
self.venv = ""
|
|
55
56
|
if sys.prefix != sys.base_prefix:
|
|
@@ -141,8 +141,8 @@ class Target(BBOTBaseModel, table=True):
|
|
|
141
141
|
seeds: List = Field(default=[], sa_type=JSON)
|
|
142
142
|
whitelist: List = Field(default=None, sa_type=JSON)
|
|
143
143
|
blacklist: List = Field(default=[], sa_type=JSON)
|
|
144
|
-
hash: str = Field(sa_column=Column("hash", String, unique=True, primary_key=True, index=True))
|
|
145
|
-
scope_hash: str = Field(sa_column=Column("scope_hash", String, index=True))
|
|
146
|
-
seed_hash: str = Field(sa_column=Column("seed_hashhash", String, index=True))
|
|
147
|
-
whitelist_hash: str = Field(sa_column=Column("whitelist_hash", String, index=True))
|
|
148
|
-
blacklist_hash: str = Field(sa_column=Column("blacklist_hash", String, index=True))
|
|
144
|
+
hash: str = Field(sa_column=Column("hash", String(length=255), unique=True, primary_key=True, index=True))
|
|
145
|
+
scope_hash: str = Field(sa_column=Column("scope_hash", String(length=255), index=True))
|
|
146
|
+
seed_hash: str = Field(sa_column=Column("seed_hashhash", String(length=255), index=True))
|
|
147
|
+
whitelist_hash: str = Field(sa_column=Column("whitelist_hash", String(length=255), index=True))
|
|
148
|
+
blacklist_hash: str = Field(sa_column=Column("blacklist_hash", String(length=255), index=True))
|
|
@@ -112,6 +112,13 @@ engine:
|
|
|
112
112
|
deps:
|
|
113
113
|
ffuf:
|
|
114
114
|
version: "2.1.0"
|
|
115
|
+
# How to handle installation of module dependencies
|
|
116
|
+
# Choices are:
|
|
117
|
+
# - abort_on_failure (default) - if a module dependency fails to install, abort the scan
|
|
118
|
+
# - retry_failed - try again to install failed dependencies
|
|
119
|
+
# - ignore_failed - run the scan regardless of what happens with dependency installation
|
|
120
|
+
# - disable - completely disable BBOT's dependency system (you are responsible for installing tools, pip packages, etc.)
|
|
121
|
+
behavior: abort_on_failure
|
|
115
122
|
|
|
116
123
|
### ADVANCED OPTIONS ###
|
|
117
124
|
|
|
@@ -129,14 +136,6 @@ dnsresolve: True
|
|
|
129
136
|
# Cloud provider tagging
|
|
130
137
|
cloudcheck: True
|
|
131
138
|
|
|
132
|
-
# How to handle installation of module dependencies
|
|
133
|
-
# Choices are:
|
|
134
|
-
# - abort_on_failure (default) - if a module dependency fails to install, abort the scan
|
|
135
|
-
# - retry_failed - try again to install failed dependencies
|
|
136
|
-
# - ignore_failed - run the scan regardless of what happens with dependency installation
|
|
137
|
-
# - disable - completely disable BBOT's dependency system (you are responsible for installing tools, pip packages, etc.)
|
|
138
|
-
deps_behavior: abort_on_failure
|
|
139
|
-
|
|
140
139
|
# Strip querystring from URLs by default
|
|
141
140
|
url_querystring_remove: True
|
|
142
141
|
# When query string is retained, by default collapse parameter values down to a single value per parameter
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
from bbot.modules.templates.sql import SQLTemplate
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class MySQL(SQLTemplate):
|
|
5
|
+
watched_events = ["*"]
|
|
6
|
+
meta = {"description": "Output scan data to a MySQL database"}
|
|
7
|
+
options = {
|
|
8
|
+
"username": "root",
|
|
9
|
+
"password": "bbotislife",
|
|
10
|
+
"host": "localhost",
|
|
11
|
+
"port": 3306,
|
|
12
|
+
"database": "bbot",
|
|
13
|
+
}
|
|
14
|
+
options_desc = {
|
|
15
|
+
"username": "The username to connect to MySQL",
|
|
16
|
+
"password": "The password to connect to MySQL",
|
|
17
|
+
"host": "The server running MySQL",
|
|
18
|
+
"port": "The port to connect to MySQL",
|
|
19
|
+
"database": "The database name to connect to",
|
|
20
|
+
}
|
|
21
|
+
deps_pip = ["sqlmodel", "aiomysql"]
|
|
22
|
+
protocol = "mysql+aiomysql"
|
|
23
|
+
|
|
24
|
+
async def create_database(self):
|
|
25
|
+
from sqlalchemy import text
|
|
26
|
+
from sqlalchemy.ext.asyncio import create_async_engine
|
|
27
|
+
|
|
28
|
+
# Create the engine for the initial connection to the server
|
|
29
|
+
initial_engine = create_async_engine(self.connection_string().rsplit("/", 1)[0])
|
|
30
|
+
|
|
31
|
+
async with initial_engine.connect() as conn:
|
|
32
|
+
# Check if the database exists
|
|
33
|
+
result = await conn.execute(text(f"SHOW DATABASES LIKE '{self.database}'"))
|
|
34
|
+
database_exists = result.scalar() is not None
|
|
35
|
+
|
|
36
|
+
# Create the database if it does not exist
|
|
37
|
+
if not database_exists:
|
|
38
|
+
# Use aiomysql directly to create the database
|
|
39
|
+
import aiomysql
|
|
40
|
+
|
|
41
|
+
raw_conn = await aiomysql.connect(
|
|
42
|
+
user=self.username,
|
|
43
|
+
password=self.password,
|
|
44
|
+
host=self.host,
|
|
45
|
+
port=self.port,
|
|
46
|
+
)
|
|
47
|
+
try:
|
|
48
|
+
async with raw_conn.cursor() as cursor:
|
|
49
|
+
await cursor.execute(f"CREATE DATABASE {self.database}")
|
|
50
|
+
finally:
|
|
51
|
+
await raw_conn.ensure_closed()
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from contextlib import suppress
|
|
1
2
|
from sqlmodel import SQLModel
|
|
2
3
|
from sqlalchemy.orm import sessionmaker
|
|
3
4
|
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
|
@@ -88,3 +89,7 @@ class SQLTemplate(BaseOutputModule):
|
|
|
88
89
|
if self.database:
|
|
89
90
|
connection_string += f"/{self.database}"
|
|
90
91
|
return connection_string
|
|
92
|
+
|
|
93
|
+
async def cleanup(self):
|
|
94
|
+
with suppress(Exception):
|
|
95
|
+
await self.engine.dispose()
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
import time
|
|
3
|
+
|
|
4
|
+
from .base import ModuleTestBase
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class TestMySQL(ModuleTestBase):
|
|
8
|
+
targets = ["evilcorp.com"]
|
|
9
|
+
skip_distro_tests = True
|
|
10
|
+
|
|
11
|
+
async def setup_before_prep(self, module_test):
|
|
12
|
+
process = await asyncio.create_subprocess_exec(
|
|
13
|
+
"docker",
|
|
14
|
+
"run",
|
|
15
|
+
"--name",
|
|
16
|
+
"bbot-test-mysql",
|
|
17
|
+
"--rm",
|
|
18
|
+
"-e",
|
|
19
|
+
"MYSQL_ROOT_PASSWORD=bbotislife",
|
|
20
|
+
"-e",
|
|
21
|
+
"MYSQL_DATABASE=bbot",
|
|
22
|
+
"-p",
|
|
23
|
+
"3306:3306",
|
|
24
|
+
"-d",
|
|
25
|
+
"mysql",
|
|
26
|
+
stdout=asyncio.subprocess.PIPE,
|
|
27
|
+
stderr=asyncio.subprocess.PIPE,
|
|
28
|
+
)
|
|
29
|
+
stdout, stderr = await process.communicate()
|
|
30
|
+
|
|
31
|
+
import aiomysql
|
|
32
|
+
|
|
33
|
+
# wait for the container to start
|
|
34
|
+
start_time = time.time()
|
|
35
|
+
while True:
|
|
36
|
+
try:
|
|
37
|
+
conn = await aiomysql.connect(user="root", password="bbotislife", db="bbot", host="localhost")
|
|
38
|
+
conn.close()
|
|
39
|
+
break
|
|
40
|
+
except Exception as e:
|
|
41
|
+
if time.time() - start_time > 60: # timeout after 60 seconds
|
|
42
|
+
self.log.error("MySQL server did not start in time.")
|
|
43
|
+
raise e
|
|
44
|
+
await asyncio.sleep(1)
|
|
45
|
+
|
|
46
|
+
if process.returncode != 0:
|
|
47
|
+
self.log.error(f"Failed to start MySQL server: {stderr.decode()}")
|
|
48
|
+
|
|
49
|
+
async def check(self, module_test, events):
|
|
50
|
+
import aiomysql
|
|
51
|
+
|
|
52
|
+
# Connect to the MySQL database
|
|
53
|
+
conn = await aiomysql.connect(user="root", password="bbotislife", db="bbot", host="localhost")
|
|
54
|
+
|
|
55
|
+
try:
|
|
56
|
+
async with conn.cursor() as cur:
|
|
57
|
+
await cur.execute("SELECT * FROM event")
|
|
58
|
+
events = await cur.fetchall()
|
|
59
|
+
assert len(events) == 3, "No events found in MySQL database"
|
|
60
|
+
|
|
61
|
+
await cur.execute("SELECT * FROM scan")
|
|
62
|
+
scans = await cur.fetchall()
|
|
63
|
+
assert len(scans) == 1, "No scans found in MySQL database"
|
|
64
|
+
|
|
65
|
+
await cur.execute("SELECT * FROM target")
|
|
66
|
+
targets = await cur.fetchall()
|
|
67
|
+
assert len(targets) == 1, "No targets found in MySQL database"
|
|
68
|
+
finally:
|
|
69
|
+
conn.close()
|
|
70
|
+
process = await asyncio.create_subprocess_exec(
|
|
71
|
+
"docker", "stop", "bbot-test-mysql", stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE
|
|
72
|
+
)
|
|
73
|
+
stdout, stderr = await process.communicate()
|
|
74
|
+
|
|
75
|
+
if process.returncode != 0:
|
|
76
|
+
raise Exception(f"Failed to stop MySQL server: {stderr.decode()}")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|