endpointscanner 7.3__tar.gz → 7.3.2__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: endpointscanner
3
- Version: 7.3
3
+ Version: 7.3.2
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
- # Website Endpoint Scanner and Rate Limit Tester For Websites (Version 7.3)
20
+ # EndpointScanner: Website Endpoint Scanner and Rate Limit Tester For Websites (Version 7.3.2)
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
 
@@ -53,7 +53,7 @@ Passable arguments:
53
53
  | `--ratelimit-header` | `-rh` | Custom headers. Must be seperated by a pipe(\|), or newlines. Example use: Cookies: {ExampleCookie: example} \| Accept: application/json, text/plain, _/_. If the custom header contains double quotes, please use single quotes instead of double quotes to pass this flag. |
54
54
  | `--force` | `NIL` | Mandatory flag to pass if doing a rate limit test with over 2500 requests using a non-GET HTTP method. Has no short form flag. |
55
55
  | `--testpath` | `-t` | Endpoint to test for rate limiting. |
56
- | `--show-404s` | `-s` | Show endpoints tested that returned a 404 |
56
+ | `--show-404s` | `-s` | Show endpoints tested that returned a 404 or an SPA shell. |
57
57
  | `--disable-extra-files` | `-d` | Disable scanning of extra structural mapping files (robots, sitemaps, manifests, etc.) |
58
58
  | `--show-media` | `-m` | Include assets/media like images and fonts and videos in scan results |
59
59
  | `--show-prog` | `-sp` | Print endpoints to the terminal one by one in real-time as they are found. Warning: Progress will show duplicate paths if endpoints are defined multiple times in the code. Use the flag -nd to remove duplicates from progress. Results will not contain duplicates. |
@@ -70,6 +70,10 @@ Passable arguments:
70
70
 
71
71
  ## Installation
72
72
 
73
+ You can install EndpointScanner via PyPI(global, recommended for Windows and Linux) or Homebrew(MacOS).
74
+
75
+ ### Installation via PyPI (or pip)
76
+
73
77
  You MUST have python 3.9 or above to use this tool!
74
78
  To install the official [endpointscanner Python package](https://pypi.org/project/endpointscanner/):
75
79
  Command for MacOS/Linux:
@@ -111,7 +115,7 @@ To activate virtual environment:
111
115
  source myvenv/bin/activate
112
116
  ```
113
117
 
114
- ### Alternative for Virtual Environment (Not Recommended)
118
+ #### Alternative for Virtual Environment (Not Recommended)
115
119
 
116
120
  If you do not want to create a virtual environment, you can run:
117
121
 
@@ -123,7 +127,7 @@ to install it without PEP 668.
123
127
 
124
128
  **Warning**: Using `--break-system-packages` may corrupt your OS-managed python environment. Proceed entirely at your own risk. The author is not liable for any system damage if you run this.
125
129
 
126
- ### Troubleshooting Windows "Command Not Found" Error:
130
+ #### Troubleshooting Windows "Command Not Found" Error:
127
131
 
128
132
  If you are on Windows (especially a non-admin account) and get an 'command not recognised' error when typing `endpointscanner` or `playwright`, run this command **on PowerShell** (not Command Prompt) to fix user environmental paths automatically:
129
133
 
@@ -138,7 +142,7 @@ Checks the current version of python being used, and adds that python version as
138
142
 
139
143
  **Note:** You MUST close the terminal (not minimise) and open a new one for the changes to work.
140
144
 
141
- ### Updating script
145
+ #### Updating script
142
146
 
143
147
  To update the script, you can run:
144
148
  MacOS and Linux Command:
@@ -153,6 +157,27 @@ Windows Command:
153
157
  py -m pip install --upgrade endpointscanner
154
158
  ```
155
159
 
160
+ ### Homebrew
161
+
162
+ You may need to update first to be able to install EndpointScanner.
163
+
164
+ ```bash
165
+ brew update
166
+ ```
167
+
168
+ To install EndpointScanner via Homebrew (MacOS), run these two commands:
169
+
170
+ ```bash
171
+ brew trust sphericalflower52811/tap
172
+ brew install endpointscanner
173
+ ```
174
+
175
+ After that, you will need to install chromium on playwright for the headless browser:
176
+
177
+ ```bash
178
+ python3 -m playwright install chromium
179
+ ```
180
+
156
181
  ## Example Commands
157
182
 
158
183
  Example command to run to scan a site (show inaccessible endpoints, show assets, show progress as it finds endpoints, and show files that it got endpoints from):
@@ -223,6 +248,13 @@ Version 7.3 added:
223
248
  - Turbopack
224
249
  - Parcel
225
250
 
251
+ Version 7.3.1 added:
252
+
253
+ - EndpointScanner now installable on:
254
+ - Homebrew
255
+
256
+ Version 7.3.2 fixed a glitch showing robots.txt when it was not scanned.
257
+
226
258
  ## Plans for next version and the future
227
259
 
228
260
  Version 7.4:
@@ -1,4 +1,4 @@
1
- # Website Endpoint Scanner and Rate Limit Tester For Websites (Version 7.3)
1
+ # EndpointScanner: Website Endpoint Scanner and Rate Limit Tester For Websites (Version 7.3.2)
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
 
@@ -34,7 +34,7 @@ Passable arguments:
34
34
  | `--ratelimit-header` | `-rh` | Custom headers. Must be seperated by a pipe(\|), or newlines. Example use: Cookies: {ExampleCookie: example} \| Accept: application/json, text/plain, _/_. If the custom header contains double quotes, please use single quotes instead of double quotes to pass this flag. |
35
35
  | `--force` | `NIL` | Mandatory flag to pass if doing a rate limit test with over 2500 requests using a non-GET HTTP method. Has no short form flag. |
36
36
  | `--testpath` | `-t` | Endpoint to test for rate limiting. |
37
- | `--show-404s` | `-s` | Show endpoints tested that returned a 404 |
37
+ | `--show-404s` | `-s` | Show endpoints tested that returned a 404 or an SPA shell. |
38
38
  | `--disable-extra-files` | `-d` | Disable scanning of extra structural mapping files (robots, sitemaps, manifests, etc.) |
39
39
  | `--show-media` | `-m` | Include assets/media like images and fonts and videos in scan results |
40
40
  | `--show-prog` | `-sp` | Print endpoints to the terminal one by one in real-time as they are found. Warning: Progress will show duplicate paths if endpoints are defined multiple times in the code. Use the flag -nd to remove duplicates from progress. Results will not contain duplicates. |
@@ -51,6 +51,10 @@ Passable arguments:
51
51
 
52
52
  ## Installation
53
53
 
54
+ You can install EndpointScanner via PyPI(global, recommended for Windows and Linux) or Homebrew(MacOS).
55
+
56
+ ### Installation via PyPI (or pip)
57
+
54
58
  You MUST have python 3.9 or above to use this tool!
55
59
  To install the official [endpointscanner Python package](https://pypi.org/project/endpointscanner/):
56
60
  Command for MacOS/Linux:
@@ -92,7 +96,7 @@ To activate virtual environment:
92
96
  source myvenv/bin/activate
93
97
  ```
94
98
 
95
- ### Alternative for Virtual Environment (Not Recommended)
99
+ #### Alternative for Virtual Environment (Not Recommended)
96
100
 
97
101
  If you do not want to create a virtual environment, you can run:
98
102
 
@@ -104,7 +108,7 @@ to install it without PEP 668.
104
108
 
105
109
  **Warning**: Using `--break-system-packages` may corrupt your OS-managed python environment. Proceed entirely at your own risk. The author is not liable for any system damage if you run this.
106
110
 
107
- ### Troubleshooting Windows "Command Not Found" Error:
111
+ #### Troubleshooting Windows "Command Not Found" Error:
108
112
 
109
113
  If you are on Windows (especially a non-admin account) and get an 'command not recognised' error when typing `endpointscanner` or `playwright`, run this command **on PowerShell** (not Command Prompt) to fix user environmental paths automatically:
110
114
 
@@ -119,7 +123,7 @@ Checks the current version of python being used, and adds that python version as
119
123
 
120
124
  **Note:** You MUST close the terminal (not minimise) and open a new one for the changes to work.
121
125
 
122
- ### Updating script
126
+ #### Updating script
123
127
 
124
128
  To update the script, you can run:
125
129
  MacOS and Linux Command:
@@ -134,6 +138,27 @@ Windows Command:
134
138
  py -m pip install --upgrade endpointscanner
135
139
  ```
136
140
 
141
+ ### Homebrew
142
+
143
+ You may need to update first to be able to install EndpointScanner.
144
+
145
+ ```bash
146
+ brew update
147
+ ```
148
+
149
+ To install EndpointScanner via Homebrew (MacOS), run these two commands:
150
+
151
+ ```bash
152
+ brew trust sphericalflower52811/tap
153
+ brew install endpointscanner
154
+ ```
155
+
156
+ After that, you will need to install chromium on playwright for the headless browser:
157
+
158
+ ```bash
159
+ python3 -m playwright install chromium
160
+ ```
161
+
137
162
  ## Example Commands
138
163
 
139
164
  Example command to run to scan a site (show inaccessible endpoints, show assets, show progress as it finds endpoints, and show files that it got endpoints from):
@@ -204,6 +229,13 @@ Version 7.3 added:
204
229
  - Turbopack
205
230
  - Parcel
206
231
 
232
+ Version 7.3.1 added:
233
+
234
+ - EndpointScanner now installable on:
235
+ - Homebrew
236
+
237
+ Version 7.3.2 fixed a glitch showing robots.txt when it was not scanned.
238
+
207
239
  ## Plans for next version and the future
208
240
 
209
241
  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.2
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
- # Website Endpoint Scanner and Rate Limit Tester For Websites (Version 7.3)
20
+ # EndpointScanner: Website Endpoint Scanner and Rate Limit Tester For Websites (Version 7.3.2)
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
 
@@ -53,7 +53,7 @@ Passable arguments:
53
53
  | `--ratelimit-header` | `-rh` | Custom headers. Must be seperated by a pipe(\|), or newlines. Example use: Cookies: {ExampleCookie: example} \| Accept: application/json, text/plain, _/_. If the custom header contains double quotes, please use single quotes instead of double quotes to pass this flag. |
54
54
  | `--force` | `NIL` | Mandatory flag to pass if doing a rate limit test with over 2500 requests using a non-GET HTTP method. Has no short form flag. |
55
55
  | `--testpath` | `-t` | Endpoint to test for rate limiting. |
56
- | `--show-404s` | `-s` | Show endpoints tested that returned a 404 |
56
+ | `--show-404s` | `-s` | Show endpoints tested that returned a 404 or an SPA shell. |
57
57
  | `--disable-extra-files` | `-d` | Disable scanning of extra structural mapping files (robots, sitemaps, manifests, etc.) |
58
58
  | `--show-media` | `-m` | Include assets/media like images and fonts and videos in scan results |
59
59
  | `--show-prog` | `-sp` | Print endpoints to the terminal one by one in real-time as they are found. Warning: Progress will show duplicate paths if endpoints are defined multiple times in the code. Use the flag -nd to remove duplicates from progress. Results will not contain duplicates. |
@@ -70,6 +70,10 @@ Passable arguments:
70
70
 
71
71
  ## Installation
72
72
 
73
+ You can install EndpointScanner via PyPI(global, recommended for Windows and Linux) or Homebrew(MacOS).
74
+
75
+ ### Installation via PyPI (or pip)
76
+
73
77
  You MUST have python 3.9 or above to use this tool!
74
78
  To install the official [endpointscanner Python package](https://pypi.org/project/endpointscanner/):
75
79
  Command for MacOS/Linux:
@@ -111,7 +115,7 @@ To activate virtual environment:
111
115
  source myvenv/bin/activate
112
116
  ```
113
117
 
114
- ### Alternative for Virtual Environment (Not Recommended)
118
+ #### Alternative for Virtual Environment (Not Recommended)
115
119
 
116
120
  If you do not want to create a virtual environment, you can run:
117
121
 
@@ -123,7 +127,7 @@ to install it without PEP 668.
123
127
 
124
128
  **Warning**: Using `--break-system-packages` may corrupt your OS-managed python environment. Proceed entirely at your own risk. The author is not liable for any system damage if you run this.
125
129
 
126
- ### Troubleshooting Windows "Command Not Found" Error:
130
+ #### Troubleshooting Windows "Command Not Found" Error:
127
131
 
128
132
  If you are on Windows (especially a non-admin account) and get an 'command not recognised' error when typing `endpointscanner` or `playwright`, run this command **on PowerShell** (not Command Prompt) to fix user environmental paths automatically:
129
133
 
@@ -138,7 +142,7 @@ Checks the current version of python being used, and adds that python version as
138
142
 
139
143
  **Note:** You MUST close the terminal (not minimise) and open a new one for the changes to work.
140
144
 
141
- ### Updating script
145
+ #### Updating script
142
146
 
143
147
  To update the script, you can run:
144
148
  MacOS and Linux Command:
@@ -153,6 +157,27 @@ Windows Command:
153
157
  py -m pip install --upgrade endpointscanner
154
158
  ```
155
159
 
160
+ ### Homebrew
161
+
162
+ You may need to update first to be able to install EndpointScanner.
163
+
164
+ ```bash
165
+ brew update
166
+ ```
167
+
168
+ To install EndpointScanner via Homebrew (MacOS), run these two commands:
169
+
170
+ ```bash
171
+ brew trust sphericalflower52811/tap
172
+ brew install endpointscanner
173
+ ```
174
+
175
+ After that, you will need to install chromium on playwright for the headless browser:
176
+
177
+ ```bash
178
+ python3 -m playwright install chromium
179
+ ```
180
+
156
181
  ## Example Commands
157
182
 
158
183
  Example command to run to scan a site (show inaccessible endpoints, show assets, show progress as it finds endpoints, and show files that it got endpoints from):
@@ -223,6 +248,13 @@ Version 7.3 added:
223
248
  - Turbopack
224
249
  - Parcel
225
250
 
251
+ Version 7.3.1 added:
252
+
253
+ - EndpointScanner now installable on:
254
+ - Homebrew
255
+
256
+ Version 7.3.2 fixed a glitch showing robots.txt when it was not scanned.
257
+
226
258
  ## Plans for next version and the future
227
259
 
228
260
  Version 7.4:
@@ -447,7 +447,7 @@ def main():
447
447
  parser.add_argument("-rv", "--ratelimit-var", type=str, default=None, help="Variable in payload data (e.g. {X}) to use.")
448
448
  parser.add_argument("--force", action="store_true", help="Mandatory flag to pass if doing a rate limit test with over 2500 requests using a non-GET HTTP method. Has no short form flag.")
449
449
  parser.add_argument("-t", "--testpath", nargs='?', const='/', type=str, help="Endpoint to test for rate limiting.")
450
- parser.add_argument("-s", "--show-404s", action="store_true", help="Show endpoints tested that returned a 404")
450
+ parser.add_argument("-s", "--show-404s", action="store_true", help="Show endpoints tested that returned a 404 or an SPA shell.")
451
451
  parser.add_argument("-d", "--disable-extra-files", action="store_true", help="Disable scanning of extra structural mapping files (robots, sitemaps, manifests, etc.)")
452
452
  parser.add_argument("-m", "--show-media", action="store_true", help="Include assets/media like images and fonts and videos in scan results")
453
453
  parser.add_argument("-sp", "--show-prog", action="store_true", help="Print endpoints to the terminal one by one in real-time as they are found. Warning: Progress will show duplicate paths if endpoints are defined multiple times in the code. Use the flag -nd to remove duplicates from progress. Results will not contain duplicates.")
@@ -469,7 +469,7 @@ def main():
469
469
  init(autoreset=True)
470
470
  print()
471
471
  print("-" * 40)
472
- print(f"{Style.BRIGHT}Endpointscanner {Fore.LIGHTMAGENTA_EX}v7.3")
472
+ print(f"{Style.BRIGHT}Endpointscanner {Fore.LIGHTMAGENTA_EX}v7.3.2")
473
473
  print("-" * 40)
474
474
  print()
475
475
  if args.no_duplicate_prog and not args.show_prog:
@@ -648,7 +648,7 @@ def main():
648
648
  try:
649
649
  r_res = requests.get(urljoin(target, "/robots.txt"), headers=E_HEADER, impersonate=impersonate_settings, timeout=4)
650
650
  if r_res.status_code == 200:
651
- e_files.append('/robots.txt')
651
+ appendrobottoe = False
652
652
 
653
653
  for line in r_res.text.splitlines():
654
654
  _local_robots_line = line.strip()
@@ -663,6 +663,9 @@ def main():
663
663
  if _local_directive in ["disallow", "allow"]:
664
664
  if _local_payload and _local_payload not in ["/", "/*"] and _local_payload not in found_paths:
665
665
  found_paths.add(_local_payload)
666
+ if appendrobottoe == False:
667
+ e_files.append('/robots.txt')
668
+ appendrobottoe = True
666
669
  if not args.tidy:
667
670
  results_fromotherfiles.append(f"{_local_payload} [Source: robots.txt]")
668
671
  else:
@@ -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.2"
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