endpointscanner 7.3.7__tar.gz → 7.3.9__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.
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/PKG-INFO +6 -2
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/README.md +5 -1
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/endpointscanner.egg-info/PKG-INFO +6 -2
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/enumerateendpoint.py +13 -10
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/pyproject.toml +1 -1
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/LICENSE +0 -0
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/endpointscanner.egg-info/SOURCES.txt +0 -0
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/endpointscanner.egg-info/dependency_links.txt +0 -0
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/endpointscanner.egg-info/entry_points.txt +0 -0
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/endpointscanner.egg-info/requires.txt +0 -0
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/endpointscanner.egg-info/top_level.txt +0 -0
- {endpointscanner-7.3.7 → endpointscanner-7.3.9}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: endpointscanner
|
|
3
|
-
Version: 7.3.
|
|
3
|
+
Version: 7.3.9
|
|
4
4
|
Summary: Website endpoint reconnaissance tool and rate limit tester that can bypass simple captchas and WAFs.
|
|
5
5
|
Project-URL: Homepage, https://github.com/SphericalFlower52811/endpointscanner
|
|
6
6
|
Project-URL: Issues, https://github.com/SphericalFlower52811/endpointscanner/issues
|
|
@@ -17,7 +17,7 @@ Requires-Dist: httpx[http2]>=0.27.0
|
|
|
17
17
|
Requires-Dist: colorama>=0.4.6
|
|
18
18
|
Dynamic: license-file
|
|
19
19
|
|
|
20
|
-
# EndpointScanner: Website Endpoint Scanner and Rate Limit Tester (Version 7.3.
|
|
20
|
+
# EndpointScanner: Website Endpoint Scanner and Rate Limit Tester (Version 7.3.9)
|
|
21
21
|
|
|
22
22
|
A fast automated website reconnaissance tool that extracts endpoints, files, and even external links from websites. Automates IDOR and broken access control vulnerability testing through replacing variables with 1 in endpoints. Has a built in rate limit tester that can test on any endpoint, and can bypass simple WAFs/captchas and client-side SPAs.
|
|
23
23
|
|
|
@@ -245,6 +245,10 @@ Version 7.3.6 updated the script to exit if playwright browser does not exist.
|
|
|
245
245
|
|
|
246
246
|
Version 7.3.7 was a patch that added vendor.example.com to subdomains to scan as it contains code for the website.
|
|
247
247
|
|
|
248
|
+
version 7.3.8 gave more time for rate limiting test requests to settle.
|
|
249
|
+
|
|
250
|
+
Version 7.3.9 removed /admin and /login from the built-in endpoints to test, as they would be removed from the unsorted list from --raw-output flag even if they were found in the javascript code. Also changed fake path to include a random hash behind in case people actually hardcoded such a path.
|
|
251
|
+
|
|
248
252
|
## Plans for next version and the future
|
|
249
253
|
|
|
250
254
|
Version 7.4:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# EndpointScanner: Website Endpoint Scanner and Rate Limit Tester (Version 7.3.
|
|
1
|
+
# EndpointScanner: Website Endpoint Scanner and Rate Limit Tester (Version 7.3.9)
|
|
2
2
|
|
|
3
3
|
A fast automated website reconnaissance tool that extracts endpoints, files, and even external links from websites. Automates IDOR and broken access control vulnerability testing through replacing variables with 1 in endpoints. Has a built in rate limit tester that can test on any endpoint, and can bypass simple WAFs/captchas and client-side SPAs.
|
|
4
4
|
|
|
@@ -226,6 +226,10 @@ Version 7.3.6 updated the script to exit if playwright browser does not exist.
|
|
|
226
226
|
|
|
227
227
|
Version 7.3.7 was a patch that added vendor.example.com to subdomains to scan as it contains code for the website.
|
|
228
228
|
|
|
229
|
+
version 7.3.8 gave more time for rate limiting test requests to settle.
|
|
230
|
+
|
|
231
|
+
Version 7.3.9 removed /admin and /login from the built-in endpoints to test, as they would be removed from the unsorted list from --raw-output flag even if they were found in the javascript code. Also changed fake path to include a random hash behind in case people actually hardcoded such a path.
|
|
232
|
+
|
|
229
233
|
## Plans for next version and the future
|
|
230
234
|
|
|
231
235
|
Version 7.4:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: endpointscanner
|
|
3
|
-
Version: 7.3.
|
|
3
|
+
Version: 7.3.9
|
|
4
4
|
Summary: Website endpoint reconnaissance tool and rate limit tester that can bypass simple captchas and WAFs.
|
|
5
5
|
Project-URL: Homepage, https://github.com/SphericalFlower52811/endpointscanner
|
|
6
6
|
Project-URL: Issues, https://github.com/SphericalFlower52811/endpointscanner/issues
|
|
@@ -17,7 +17,7 @@ Requires-Dist: httpx[http2]>=0.27.0
|
|
|
17
17
|
Requires-Dist: colorama>=0.4.6
|
|
18
18
|
Dynamic: license-file
|
|
19
19
|
|
|
20
|
-
# EndpointScanner: Website Endpoint Scanner and Rate Limit Tester (Version 7.3.
|
|
20
|
+
# EndpointScanner: Website Endpoint Scanner and Rate Limit Tester (Version 7.3.9)
|
|
21
21
|
|
|
22
22
|
A fast automated website reconnaissance tool that extracts endpoints, files, and even external links from websites. Automates IDOR and broken access control vulnerability testing through replacing variables with 1 in endpoints. Has a built in rate limit tester that can test on any endpoint, and can bypass simple WAFs/captchas and client-side SPAs.
|
|
23
23
|
|
|
@@ -245,6 +245,10 @@ Version 7.3.6 updated the script to exit if playwright browser does not exist.
|
|
|
245
245
|
|
|
246
246
|
Version 7.3.7 was a patch that added vendor.example.com to subdomains to scan as it contains code for the website.
|
|
247
247
|
|
|
248
|
+
version 7.3.8 gave more time for rate limiting test requests to settle.
|
|
249
|
+
|
|
250
|
+
Version 7.3.9 removed /admin and /login from the built-in endpoints to test, as they would be removed from the unsorted list from --raw-output flag even if they were found in the javascript code. Also changed fake path to include a random hash behind in case people actually hardcoded such a path.
|
|
251
|
+
|
|
248
252
|
## Plans for next version and the future
|
|
249
253
|
|
|
250
254
|
Version 7.4:
|
|
@@ -257,8 +257,8 @@ async def async_rate_test(url, num_reqs=100, method="GET", rb=None, rv=None, coo
|
|
|
257
257
|
if not rh:
|
|
258
258
|
current_headers = HEADER.copy()
|
|
259
259
|
pa_target = urlparse(url)
|
|
260
|
-
current_headers["Origin"] = f"
|
|
261
|
-
current_headers["Referer"] = f"
|
|
260
|
+
current_headers["Origin"] = f"{pa_target.scheme}://{pa_target.netloc}"
|
|
261
|
+
current_headers["Referer"] = f"{pa_target.scheme}://{pa_target.netloc}/"
|
|
262
262
|
is_json_string = rb and current_body.strip().startswith(('{', '['))
|
|
263
263
|
if rb:
|
|
264
264
|
if is_json_string:
|
|
@@ -362,7 +362,7 @@ async def async_rate_test(url, num_reqs=100, method="GET", rb=None, rv=None, coo
|
|
|
362
362
|
|
|
363
363
|
print("Finishing up rate limiting test...")
|
|
364
364
|
#wait for all responses to load properly
|
|
365
|
-
await asyncio.sleep(
|
|
365
|
+
await asyncio.sleep(50.0)
|
|
366
366
|
|
|
367
367
|
#label every single request using enumerate() to find out exactly when the first request timed out, or hit a non-200.
|
|
368
368
|
status_counts = {}
|
|
@@ -473,7 +473,7 @@ def main():
|
|
|
473
473
|
init(autoreset=True)
|
|
474
474
|
print()
|
|
475
475
|
print("-" * 40)
|
|
476
|
-
print(f"{Style.BRIGHT}Endpointscanner {Fore.LIGHTMAGENTA_EX}v7.3.
|
|
476
|
+
print(f"{Style.BRIGHT}Endpointscanner {Fore.LIGHTMAGENTA_EX}v7.3.9")
|
|
477
477
|
print("-" * 40)
|
|
478
478
|
print()
|
|
479
479
|
if args.no_duplicate_prog and not args.show_prog:
|
|
@@ -623,9 +623,8 @@ def main():
|
|
|
623
623
|
SENSITIVE_ENDPOINT = {
|
|
624
624
|
"/.env", "/.env.local", "/.env.production", "/.env.development", ".env.dev",
|
|
625
625
|
"/.git/config", "/.git/HEAD", "/package.json", "/package-lock.json", "/.npmrc", "/.dockerenv",
|
|
626
|
-
"/.gitignore", "/api/health", "/
|
|
627
|
-
"/.
|
|
628
|
-
"/wp-config.php", "/config.json", "/.aws/credentials", "/.git/index",
|
|
626
|
+
"/.gitignore", "/api/health", "/config", "/.env.example", "/docker-compose.yml", "/.babelrc",
|
|
627
|
+
"/.eslintrc.json", "/wp-config.php", "/config.json", "/.aws/credentials", "/.git/index",
|
|
629
628
|
"/etc/passwd"
|
|
630
629
|
}
|
|
631
630
|
|
|
@@ -866,7 +865,9 @@ def main():
|
|
|
866
865
|
#identify js stacks.
|
|
867
866
|
js_stack = []
|
|
868
867
|
identify_javascript_type(html=main_html, headers=None, current_stack=js_stack)
|
|
869
|
-
|
|
868
|
+
#add randomly generated hash later/tomorrow.
|
|
869
|
+
import secrets
|
|
870
|
+
fake_path = f"/very-fake-page-123456123456abcdefg_{secrets.token_hex(16)}"
|
|
870
871
|
fake_url = urljoin(target, fake_path)
|
|
871
872
|
try:
|
|
872
873
|
fake_res = requests.get(fake_url, cookies=session_cookies, headers=HEADER, impersonate=impersonate_settings, timeout=10)
|
|
@@ -1258,6 +1259,8 @@ def main():
|
|
|
1258
1259
|
except (KeyboardInterrupt, SystemExit):
|
|
1259
1260
|
print("\nScan cancelled by user.")
|
|
1260
1261
|
return
|
|
1262
|
+
else:
|
|
1263
|
+
print(f"Endpoints Found: {len(found_paths) - len(SENSITIVE_ENDPOINT)}")
|
|
1261
1264
|
|
|
1262
1265
|
|
|
1263
1266
|
if not args.raw_output:
|
|
@@ -1631,8 +1634,8 @@ def main():
|
|
|
1631
1634
|
print(f"\nFailed to write file: {e}")
|
|
1632
1635
|
else:
|
|
1633
1636
|
if not args.only_res:
|
|
1634
|
-
print("
|
|
1635
|
-
print('----Raw Endpoints
|
|
1637
|
+
print("\nEndpoints will not be sorted. Sensitive endpoints like '.git/config' will be automatically skipped.\n")
|
|
1638
|
+
print('----Raw Endpoints----\n')
|
|
1636
1639
|
clean_found_paths = []
|
|
1637
1640
|
#delete all sensitive endpoints, as they are not sorted and may be misleading that all are exposed.
|
|
1638
1641
|
for p in unsorted_paths:
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "endpointscanner"
|
|
7
|
-
version = "7.3.
|
|
7
|
+
version = "7.3.9"
|
|
8
8
|
readme = "README.md"
|
|
9
9
|
description = "Website endpoint reconnaissance tool and rate limit tester that can bypass simple captchas and WAFs."
|
|
10
10
|
requires-python = ">=3.9"
|
|
File without changes
|
|
File without changes
|
{endpointscanner-7.3.7 → endpointscanner-7.3.9}/endpointscanner.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|