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 +1 -1
- bbot/core/helpers/names_generator.py +3 -0
- bbot/modules/base.py +6 -2
- bbot/modules/c99.py +1 -1
- bbot/modules/censys.py +1 -1
- bbot/modules/fullhunt.py +1 -1
- bbot/modules/passivetotal.py +1 -1
- bbot/modules/zoomeye.py +1 -1
- {bbot-2.5.0.6730rc0.dist-info → bbot-2.5.0.6737rc0.dist-info}/METADATA +1 -1
- {bbot-2.5.0.6730rc0.dist-info → bbot-2.5.0.6737rc0.dist-info}/RECORD +13 -13
- {bbot-2.5.0.6730rc0.dist-info → bbot-2.5.0.6737rc0.dist-info}/LICENSE +0 -0
- {bbot-2.5.0.6730rc0.dist-info → bbot-2.5.0.6737rc0.dist-info}/WHEEL +0 -0
- {bbot-2.5.0.6730rc0.dist-info → bbot-2.5.0.6737rc0.dist-info}/entry_points.txt +0 -0
bbot/__init__.py
CHANGED
|
@@ -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
|
|
bbot/modules/passivetotal.py
CHANGED
|
@@ -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.
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
78
|
-
bbot/modules/censys.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
453
|
-
bbot-2.5.0.
|
|
454
|
-
bbot-2.5.0.
|
|
455
|
-
bbot-2.5.0.
|
|
456
|
-
bbot-2.5.0.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|