bbot 2.5.0.6730rc0__py3-none-any.whl → 2.5.0.6737rc0__py3-none-any.whl

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/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  # version placeholder (replaced by poetry-dynamic-versioning)
2
- __version__ = "v2.5.0.6730rc"
2
+ __version__ = "v2.5.0.6737rc"
3
3
 
4
4
  from .scanner import Scanner, Preset
5
5
 
@@ -50,6 +50,7 @@ adjectives = [
50
50
  "delicious",
51
51
  "demented",
52
52
  "demonic",
53
+ "demonstrative",
53
54
  "depraved",
54
55
  "depressed",
55
56
  "deranged",
@@ -201,8 +202,10 @@ adjectives = [
201
202
  "reckless",
202
203
  "reductive",
203
204
  "ripped",
205
+ "ruthless",
204
206
  "sadistic",
205
207
  "satanic",
208
+ "saucy",
206
209
  "savvy",
207
210
  "scheming",
208
211
  "schizophrenic",
bbot/modules/base.py CHANGED
@@ -103,6 +103,8 @@ class BaseModule:
103
103
 
104
104
  # disable the module after this many failed attempts in a row
105
105
  _api_failure_abort_threshold = 3
106
+ # whether to retry on 429s when first pinging the API at scan start
107
+ _ping_retry_on_http_429 = False
106
108
 
107
109
  default_discovery_context = "{module} discovered {event.type}: {event.data}"
108
110
 
@@ -381,8 +383,9 @@ class BaseModule:
381
383
  """
382
384
  if url is None:
383
385
  url = getattr(self, "ping_url", "")
386
+ retry_on_http_429 = getattr(self, "_ping_retry_on_http_429", False)
384
387
  if url:
385
- r = await self.api_request(url)
388
+ r = await self.api_request(url, retry_on_http_429=retry_on_http_429)
386
389
  if getattr(r, "status_code", 0) != 200:
387
390
  response_text = getattr(r, "text", "no response from server")
388
391
  raise ValueError(response_text)
@@ -1200,6 +1203,7 @@ class BaseModule:
1200
1203
  - cancelling after too many failed attempts
1201
1204
  """
1202
1205
  url = args[0] if args else kwargs.pop("url", "")
1206
+ retry_on_http_429 = kwargs.pop("retry_on_http_429", True)
1203
1207
 
1204
1208
  # loop until we have a successful request
1205
1209
  for _ in range(self.api_retries):
@@ -1225,7 +1229,7 @@ class BaseModule:
1225
1229
  else:
1226
1230
  # sleep for a bit if we're being rate limited
1227
1231
  retry_after = self._get_retry_after(r)
1228
- if retry_after or status_code == 429:
1232
+ if (retry_after or status_code == 429) and retry_on_http_429:
1229
1233
  sleep_interval = int(retry_after) if retry_after is not None else self._429_sleep_interval
1230
1234
  if retry_after and retry_after > self._429_max_sleep_interval:
1231
1235
  self.verbose(
bbot/modules/c99.py CHANGED
@@ -19,7 +19,7 @@ class c99(subdomain_enum_apikey):
19
19
 
20
20
  async def ping(self):
21
21
  url = f"{self.base_url}/randomnumber?key={{api_key}}&between=1,100&json"
22
- response = await self.api_request(url)
22
+ response = await self.api_request(url, retry_on_http_429=False)
23
23
  assert response.json()["success"] is True, getattr(response, "text", "no response from server")
24
24
 
25
25
  async def request_url(self, query):
bbot/modules/censys.py CHANGED
@@ -29,7 +29,7 @@ class censys(subdomain_enum_apikey):
29
29
 
30
30
  async def ping(self):
31
31
  url = f"{self.base_url}/v1/account"
32
- resp = await self.api_request(url)
32
+ resp = await self.api_request(url, retry_on_http_429=False)
33
33
  d = resp.json()
34
34
  assert isinstance(d, dict), f"Invalid response from {url}: {resp}"
35
35
  quota = d.get("quota", {})
bbot/modules/fullhunt.py CHANGED
@@ -22,7 +22,7 @@ class fullhunt(subdomain_enum_apikey):
22
22
 
23
23
  async def ping(self):
24
24
  url = f"{self.base_url}/auth/status"
25
- j = (await self.api_request(url)).json()
25
+ j = (await self.api_request(url, retry_on_http_429=False)).json()
26
26
  remaining = j["user_credits"]["remaining_credits"]
27
27
  assert remaining > 0, "No credits remaining"
28
28
 
@@ -21,7 +21,7 @@ class passivetotal(subdomain_enum_apikey):
21
21
 
22
22
  async def ping(self):
23
23
  url = f"{self.base_url}/account/quota"
24
- j = (await self.api_request(url)).json()
24
+ j = (await self.api_request(url, retry_on_http_429=False)).json()
25
25
  limit = j["user"]["limits"]["search_api"]
26
26
  used = j["user"]["counts"]["search_api"]
27
27
  assert used < limit, "No quota remaining"
bbot/modules/zoomeye.py CHANGED
@@ -31,7 +31,7 @@ class zoomeye(subdomain_enum_apikey):
31
31
 
32
32
  async def ping(self):
33
33
  url = f"{self.base_url}/resources-info"
34
- r = await self.api_request(url)
34
+ r = await self.api_request(url, retry_on_http_429=False)
35
35
  assert int(r.json()["quota_info"]["remain_total_quota"]) > 0, "No quota remaining"
36
36
 
37
37
  async def handle_event(self, event):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bbot
3
- Version: 2.5.0.6730rc0
3
+ Version: 2.5.0.6737rc0
4
4
  Summary: OSINT automation for hackers.
5
5
  License: GPL-3.0
6
6
  Keywords: python,cli,automation,osint,threat-intel,intelligence,neo4j,scanner,python-library,hacking,recursion,pentesting,recon,command-line-tool,bugbounty,subdomains,security-tools,subdomain-scanner,osint-framework,attack-surface,subdomain-enumeration,osint-tool
@@ -1,4 +1,4 @@
1
- bbot/__init__.py,sha256=WqBatiW2cL1ucLF3Om8PN3W_CWUYJOzUTd07U4kF1_M,163
1
+ bbot/__init__.py,sha256=k8Qgh_b5OEodMR0ny1bKjvxQ5Gf911zicpYnodf0JI4,163
2
2
  bbot/cli.py,sha256=1QJbANVw9Q3GFM92H2QRV2ds5756ulm08CDZwzwPpeI,11888
3
3
  bbot/core/__init__.py,sha256=l255GJE_DvUnWvrRb0J5lG-iMztJ8zVvoweDOfegGtI,46
4
4
  bbot/core/config/__init__.py,sha256=zYNw2Me6tsEr8hOOkLb4BQ97GB7Kis2k--G81S8vofU,342
@@ -30,7 +30,7 @@ bbot/core/helpers/helper.py,sha256=u-q_Ka9pY1atvC-FChxYpURM7b3_0gaCNIHSG__Wi74,8
30
30
  bbot/core/helpers/interactsh.py,sha256=VBYYH6-rWBofRsgemndK6iZNmyifOps8vgQOw2mac4k,12624
31
31
  bbot/core/helpers/libmagic.py,sha256=QMHyxjgDLb2jyjBvK1MQ-xt6WkGXhKcHu9ZP1li-sik,3460
32
32
  bbot/core/helpers/misc.py,sha256=hi5iyzpLc6oFk5XrWQN7leuRDyuZtdWuKVBxTUpQ_RY,88757
33
- bbot/core/helpers/names_generator.py,sha256=N74pgt1vEJ8deBzV6eL5HiOEOG_6M7r0_MjbyxnPxfM,10516
33
+ bbot/core/helpers/names_generator.py,sha256=FFDW4uxTTznHhE5Com5o__Nyi0Wl61gcRv0FHgYTI8s,10566
34
34
  bbot/core/helpers/ntlm.py,sha256=P2Xj4-GPos2iAzw4dfk0FJp6oGyycGhu2x6sLDVjYjs,2573
35
35
  bbot/core/helpers/process.py,sha256=00uRpLMFi3Pt3uT8qXwAIhsXdoa7h-ifoXh0sGYgwqs,1702
36
36
  bbot/core/helpers/ratelimiter.py,sha256=fQp5mKfqfCkDkZzgntDu4NWlRsWSMCto0V8vaV8-34k,2115
@@ -63,7 +63,7 @@ bbot/modules/baddns.py,sha256=ubO3KDfcIMJnMjyZX5FWZ4GWxLSekV_JQV7QvsPjtD0,6693
63
63
  bbot/modules/baddns_direct.py,sha256=hWThpkXP87nnCRTlUh5qBJ1t4eo4l9kUmKNNxVNJI8A,3819
64
64
  bbot/modules/baddns_zone.py,sha256=y1XaBUfFPnRbR2qaTqRyUsPgEL73722v2B8aS5YoGN4,1035
65
65
  bbot/modules/badsecrets.py,sha256=LG37p48Rlxsfc3BmACMpkypsbuFTVvXqNhlP1IEsx0k,5109
66
- bbot/modules/base.py,sha256=qH5nmYRP3Gc9z8ddr0iY1DR7b68tatv4M0IB-SjDobU,78162
66
+ bbot/modules/base.py,sha256=EtFx7IUV-tBXlVt0UxwsmJRCaef20rp4yyWO6ko-KR0,78473
67
67
  bbot/modules/bevigil.py,sha256=0VLIxmeXRUI2-EoR6IzuHJMcX8KCHNNta-WYa3gVlDg,2862
68
68
  bbot/modules/bucket_amazon.py,sha256=mwjYeEAcdfOpjbOa1sD8U9KBMMVY_c8FoHjSGR9GQbg,730
69
69
  bbot/modules/bucket_azure.py,sha256=Jaa9XEL7w7VM0a-WAp05MOGdP5nt7hMpLzBsPq74_IM,1284
@@ -74,8 +74,8 @@ bbot/modules/bucket_google.py,sha256=IHTfWZEy8wsf8QJ8HXUiVlfo9wxBobrPBVzuERDPcvk
74
74
  bbot/modules/bufferoverrun.py,sha256=VTNkT96Escy6Lyt0LCuyNPNp8wCHBtPM95WxPY7rxUk,1824
75
75
  bbot/modules/builtwith.py,sha256=6ZQOc6vmSVc8LsdgsiuMWfDquGm5K0jxwsnL8MsKNWw,5381
76
76
  bbot/modules/bypass403.py,sha256=HyONgOYlZUET61FZ0QWE7zPGG-N6n0x_j9KUGw8kVxQ,6855
77
- bbot/modules/c99.py,sha256=yHT9-eyqRODISV5eTi11uh-xwqX0JG7zey5AgcDYCdI,1448
78
- bbot/modules/censys.py,sha256=J7NhPnSeoCuG_9FkLjFBIg-tqHAB21HjvQUw_6OQNZo,3311
77
+ bbot/modules/c99.py,sha256=l4HpFtKF09zUs5-yZIMmZU4oIUNro6aRcG6DlIeJ6Z0,1473
78
+ bbot/modules/censys.py,sha256=PMf96B3vTwUF0uotitbNtGPgPIlKl1feyDzBJRn14D0,3336
79
79
  bbot/modules/certspotter.py,sha256=qdRGCkGyP07_cP9h2o_AEZwoiQPXtrC-Bel3vgh24x8,905
80
80
  bbot/modules/chaos.py,sha256=JyuwytwE3IRmNbw-uyJ0gCaTnywhhsHzTiZ3OJ15PAw,1573
81
81
  bbot/modules/code_repository.py,sha256=x70Z45VnNNMF8BPkHfGWZXsZXw_fStGB3y0-8jbP1Ns,2078
@@ -101,7 +101,7 @@ bbot/modules/ffuf.py,sha256=94TJ5xvqKwH0JaWmC_t1dLTpRsO8HEy4lnbsu8LF_HY,14965
101
101
  bbot/modules/ffuf_shortnames.py,sha256=y5vnypLPN-KrjpmoG5zlqcX8VwfcLBpNg1yQI7bP9Hg,18737
102
102
  bbot/modules/filedownload.py,sha256=ZQZQCkXYb0lUP4DnEfL__8vc9KRi0m9hfBhClTKwy2U,8906
103
103
  bbot/modules/fingerprintx.py,sha256=rdlR9d64AntAhbS_eJzh8bZCeLPTJPSKdkdKdhH_qAo,3269
104
- bbot/modules/fullhunt.py,sha256=zeehQb9akBSbHW9dF4icH8Vfd8LqoTrpIvnQEEMWes8,1311
104
+ bbot/modules/fullhunt.py,sha256=2ntu1yBh51N4e_l-kpXc1UBoVVcxEE2JPkyaMYCuUb4,1336
105
105
  bbot/modules/generic_ssrf.py,sha256=KFdcHpUV9-Z7oN7emzbirimsNc2xZ_1IFqnsfIkEbcM,9196
106
106
  bbot/modules/git.py,sha256=zmHeI0bn181T1P8C55HSebkdVGLTpzGxPc-LRqiHrbc,1723
107
107
  bbot/modules/git_clone.py,sha256=w-s3O6rZL_I8_BuPKotnAzXKnn7saw159jcQ_R1xtKw,2602
@@ -174,7 +174,7 @@ bbot/modules/output/websocket.py,sha256=oxMcYu3hIrA3BE3c3aJXe63JmGv_HWjADB2uO470
174
174
  bbot/modules/paramminer_cookies.py,sha256=q1PzftHQpCHLz81_VgLZsO6moia7ZtnU32igfcySi2w,1816
175
175
  bbot/modules/paramminer_getparams.py,sha256=_j6rgaqV5wGJoa8p5-KKbe2YsVGUtmWIanCVtFiF97Y,1893
176
176
  bbot/modules/paramminer_headers.py,sha256=GMErLmTO0w7JRIpJE2VFvRTrjmoux_-jTx3EfaWLdpM,10518
177
- bbot/modules/passivetotal.py,sha256=uGT6c_CUxBNInmClsTg8afIYA2ZykKYYCgjkyzujfHg,1653
177
+ bbot/modules/passivetotal.py,sha256=dHYk9QWIKdO6Z8Bip4IdcButiqy_fr4FrpRUQaiH1a0,1678
178
178
  bbot/modules/pgp.py,sha256=Xu2M9WEIlwTm5-Lv29g7BblI05tD9Dl0XsYSeY6UURs,2065
179
179
  bbot/modules/portfilter.py,sha256=3iu4xqCsHafhVMbA32Mw6K_7Yn576Rz6GxXMevZQEpM,1752
180
180
  bbot/modules/portscan.py,sha256=dmR2H3Wag6vLLIXrwyU_7bvYuLIv3zdJZ2japogwFUU,13076
@@ -216,7 +216,7 @@ bbot/modules/wafw00f.py,sha256=3wmH3xhVI5-fpc9UVsYVRKFUrXvM0gzarcdHEmy83Ao,2536
216
216
  bbot/modules/wappalyzer.py,sha256=ix0JnLEQ4wLfvYuzrOlQuupJZc3AiY8bnGs3ne-qCFA,2190
217
217
  bbot/modules/wayback.py,sha256=9cxd_HfHgLp4AChzA8C0Zjd6DIJ7c3NsJ02W2oLIXuU,3257
218
218
  bbot/modules/wpscan.py,sha256=FVqZpjV3GrejjiowiqdwIb8t_pPl9yMVRtsAMzC-heA,11606
219
- bbot/modules/zoomeye.py,sha256=KZ0P_-xCLyYruXV1tPvhSxNjQ65V80TwMvqXnLlCZUI,2730
219
+ bbot/modules/zoomeye.py,sha256=DYrNAgvHY90HKui3LvEVHBw0M2cpkuzuyVqizBzp6T8,2755
220
220
  bbot/presets/baddns-intense.yml,sha256=FXiNnsf3IIms3UJtS2CwLk82Yp0IXm1OvRM61-CHrno,195
221
221
  bbot/presets/cloud-enum.yml,sha256=U1IuN_Vx4zFSvobQenXwSeEqFxRX28beS1Aek3hNUBg,121
222
222
  bbot/presets/code-enum.yml,sha256=fRThe5_vY8IqO5nZBC0y3JZwA6ynx81bBcIHBB6o9IU,83
@@ -449,8 +449,8 @@ bbot/wordlists/raft-small-extensions-lowercase_CLEANED.txt,sha256=ZSIVebs7ptMvHx
449
449
  bbot/wordlists/top_open_ports_nmap.txt,sha256=LmdFYkfapSxn1pVuQC2LkOIY2hMLgG-Xts7DVtYzweM,42727
450
450
  bbot/wordlists/valid_url_schemes.txt,sha256=0B_VAr9Dv7aYhwi6JSBDU-3M76vNtzN0qEC_RNLo7HE,3310
451
451
  bbot/wordlists/wordninja_dns.txt.gz,sha256=DYHvvfW0TvzrVwyprqODAk4tGOxv5ezNmCPSdPuDUnQ,570241
452
- bbot-2.5.0.6730rc0.dist-info/LICENSE,sha256=GzeCzK17hhQQDNow0_r0L8OfLpeTKQjFQwBQU7ZUymg,32473
453
- bbot-2.5.0.6730rc0.dist-info/METADATA,sha256=EiOc-7dymmDaTYCIFEe0xNDokNbPgrWLetRAq8ORtDo,18308
454
- bbot-2.5.0.6730rc0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
455
- bbot-2.5.0.6730rc0.dist-info/entry_points.txt,sha256=cWjvcU_lLrzzJgjcjF7yeGuRA_eDS8pQ-kmPUAyOBfo,38
456
- bbot-2.5.0.6730rc0.dist-info/RECORD,,
452
+ bbot-2.5.0.6737rc0.dist-info/LICENSE,sha256=GzeCzK17hhQQDNow0_r0L8OfLpeTKQjFQwBQU7ZUymg,32473
453
+ bbot-2.5.0.6737rc0.dist-info/METADATA,sha256=CtaOPyhP8YKVLxFiuq5qRv0yi9huXRlt_w1vibn_km8,18308
454
+ bbot-2.5.0.6737rc0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
455
+ bbot-2.5.0.6737rc0.dist-info/entry_points.txt,sha256=cWjvcU_lLrzzJgjcjF7yeGuRA_eDS8pQ-kmPUAyOBfo,38
456
+ bbot-2.5.0.6737rc0.dist-info/RECORD,,