endpointscanner 7.2.4__tar.gz → 7.3__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.2.4 → endpointscanner-7.3}/PKG-INFO +86 -58
- {endpointscanner-7.2.4 → endpointscanner-7.3}/README.md +85 -57
- {endpointscanner-7.2.4 → endpointscanner-7.3}/endpointscanner.egg-info/PKG-INFO +86 -58
- {endpointscanner-7.2.4 → endpointscanner-7.3}/enumerateendpoint.py +709 -325
- {endpointscanner-7.2.4 → endpointscanner-7.3}/pyproject.toml +1 -1
- {endpointscanner-7.2.4 → endpointscanner-7.3}/LICENSE +0 -0
- {endpointscanner-7.2.4 → endpointscanner-7.3}/endpointscanner.egg-info/SOURCES.txt +0 -0
- {endpointscanner-7.2.4 → endpointscanner-7.3}/endpointscanner.egg-info/dependency_links.txt +0 -0
- {endpointscanner-7.2.4 → endpointscanner-7.3}/endpointscanner.egg-info/entry_points.txt +0 -0
- {endpointscanner-7.2.4 → endpointscanner-7.3}/endpointscanner.egg-info/requires.txt +0 -0
- {endpointscanner-7.2.4 → endpointscanner-7.3}/endpointscanner.egg-info/top_level.txt +0 -0
- {endpointscanner-7.2.4 → endpointscanner-7.3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: endpointscanner
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.3
|
|
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.
|
|
20
|
+
# Website Endpoint Scanner and Rate Limit Tester For Websites (Version 7.3)
|
|
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
|
|
|
@@ -45,6 +45,7 @@ Passable arguments:
|
|
|
45
45
|
| Argument | Short Form | Description |
|
|
46
46
|
| :---------------------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
47
47
|
| `target` | `NIL` | URL |
|
|
48
|
+
| `--local` | `-l` | Pass this flag if the target is a local site like development-server, but is not a localhost/IP address. |
|
|
48
49
|
| `--ratelimit` | `-r` | Number of requests to send during the rate limit test. Default is 100. |
|
|
49
50
|
| `--ratelimit-type` | `-rt` | HTTP Method to use for the rate limit test. Defaults to GET. |
|
|
50
51
|
| `--ratelimit-body` | `-rb` | Payload data to send in request to use for POST, PATCH and PUT requests. If the custom payload contains double quotes, please use single quotes instead of double quotes to pass this flag. |
|
|
@@ -54,13 +55,14 @@ Passable arguments:
|
|
|
54
55
|
| `--testpath` | `-t` | Endpoint to test for rate limiting. |
|
|
55
56
|
| `--show-404s` | `-s` | Show endpoints tested that returned a 404 |
|
|
56
57
|
| `--disable-extra-files` | `-d` | Disable scanning of extra structural mapping files (robots, sitemaps, manifests, etc.) |
|
|
57
|
-
| `--show-media` | `-m` | Include assets/media like images and fonts in scan results
|
|
58
|
-
| `--show-prog` | `-sp` | Print endpoints to the terminal one by one in real-time as they are found. Warning: will show duplicate paths if endpoints are defined multiple times in the code. Results will not contain duplicates.
|
|
58
|
+
| `--show-media` | `-m` | Include assets/media like images and fonts and videos in scan results |
|
|
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. |
|
|
60
|
+
| `--no-duplicate-prog` | `-nd` | If --show-prog is passed, duplicate endpoints in progress will not be shown. |
|
|
59
61
|
| `--output-file` | `-o` | Save formatted results directly to a local text file. |
|
|
60
62
|
| `--disable-og` | `-do` | Disable code from showing the original endpoint with variables. Keeps output tidier. Will NOT remove original tag from progress if the --show-prog flag is present. |
|
|
61
63
|
| `--tidy` | `-ti` | Script will not show where it got extra endpoints from, and will not show if it is a client side route and requires login, or react shell etc (or any SPA shell). Will also not show if an endpoint is a potential service. |
|
|
62
64
|
| `--tidy-all` | `-ta` | Flags --disable-og and --tidy combined. |
|
|
63
|
-
| `--only-res` | `-or` | Only show summarised endpoints.
|
|
65
|
+
| `--only-res` | `-or` | Only show summarised endpoints, and not print out extra information. Has an exception if number of endpoints exceeds 3000. |
|
|
64
66
|
| `--only-original` | `-oo` | Only show the original version of the flag instead of it being replaced with a 1. Will also affect show prog. |
|
|
65
67
|
| `--show-source` | `-ss` | Print the source of each endpoint during progress, like printing out which file it found the endpoint from. |
|
|
66
68
|
| `--scan-timeout` | `-st` | Stop scan completely after given number of minutes and print/save any results found in that time window. Will leave unsorted endpoints in a section labelled 'UNSORTED', and will leave out sensitive endpoints. Will NOT interrupt rate limiting test. |
|
|
@@ -69,19 +71,33 @@ Passable arguments:
|
|
|
69
71
|
## Installation
|
|
70
72
|
|
|
71
73
|
You MUST have python 3.9 or above to use this tool!
|
|
72
|
-
To install the official [endpointscanner Python package](https://pypi.org/project/endpointscanner/)
|
|
74
|
+
To install the official [endpointscanner Python package](https://pypi.org/project/endpointscanner/):
|
|
75
|
+
Command for MacOS/Linux:
|
|
73
76
|
|
|
74
77
|
```bash
|
|
75
78
|
python3 -m pip install endpointscanner
|
|
76
79
|
```
|
|
77
80
|
|
|
81
|
+
Command for Windows Command Prompt:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
py -m pip install endpointscanner
|
|
85
|
+
```
|
|
86
|
+
|
|
78
87
|
After that, install chromium on playwright (playwright will be installed when you install endpointscanner):
|
|
88
|
+
Command for MacOS/Linux:
|
|
79
89
|
|
|
80
90
|
```bash
|
|
81
91
|
playwright install chromium
|
|
82
92
|
```
|
|
83
93
|
|
|
84
|
-
|
|
94
|
+
Command for Windows Command Prompt:
|
|
95
|
+
|
|
96
|
+
```text
|
|
97
|
+
py -m playwright install chromium
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### You may need to create a virtual environment if PEP 668 blocks you. (For the endpointscanner installation, not playwright install chromium.) Windows users do not need this step as they will not face the PEP 668 restriction.
|
|
85
101
|
|
|
86
102
|
To create a virtual environment named 'myvenv':
|
|
87
103
|
|
|
@@ -89,25 +105,13 @@ To create a virtual environment named 'myvenv':
|
|
|
89
105
|
python3 -m venv myvenv
|
|
90
106
|
```
|
|
91
107
|
|
|
92
|
-
To activate virtual environment
|
|
108
|
+
To activate virtual environment:
|
|
93
109
|
|
|
94
110
|
```bash
|
|
95
111
|
source myvenv/bin/activate
|
|
96
112
|
```
|
|
97
113
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
```text
|
|
101
|
-
myvenv\Scripts\activate
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
To activate virtual environment on Windows PowerShell:
|
|
105
|
-
|
|
106
|
-
```powershell
|
|
107
|
-
myvenv\Scripts\Activate.ps1
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### Alternative (Not Recommended)
|
|
114
|
+
### Alternative for Virtual Environment (Not Recommended)
|
|
111
115
|
|
|
112
116
|
If you do not want to create a virtual environment, you can run:
|
|
113
117
|
|
|
@@ -119,14 +123,36 @@ to install it without PEP 668.
|
|
|
119
123
|
|
|
120
124
|
**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.
|
|
121
125
|
|
|
126
|
+
### Troubleshooting Windows "Command Not Found" Error:
|
|
127
|
+
|
|
128
|
+
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
|
+
|
|
130
|
+
```powershell
|
|
131
|
+
$pDir = (py -c "import sys, os; print(os.path.dirname(sys.executable))"); if ($pDir) { $s = "$pDir\Scripts"; $p = [Environment]::GetEnvironmentVariable("Path", "User"); if ($p -notlike "*$s*") { [Environment]::SetEnvironmentVariable("Path", "$p;$s", "User") } }
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
What the PowerShell command does:
|
|
135
|
+
Checks the current version of python being used, and adds that python version as an environmental variable in the computer so you can run `endpointscanner` as a standalone command. Does not require admin privileges.
|
|
136
|
+
|
|
137
|
+
**Requirements for this command:** Python must already be installed.
|
|
138
|
+
|
|
139
|
+
**Note:** You MUST close the terminal (not minimise) and open a new one for the changes to work.
|
|
140
|
+
|
|
122
141
|
### Updating script
|
|
123
142
|
|
|
124
143
|
To update the script, you can run:
|
|
144
|
+
MacOS and Linux Command:
|
|
125
145
|
|
|
126
146
|
```bash
|
|
127
147
|
python3 -m pip install --upgrade endpointscanner
|
|
128
148
|
```
|
|
129
149
|
|
|
150
|
+
Windows Command:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
py -m pip install --upgrade endpointscanner
|
|
154
|
+
```
|
|
155
|
+
|
|
130
156
|
## Example Commands
|
|
131
157
|
|
|
132
158
|
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):
|
|
@@ -163,53 +189,55 @@ Example command to only show the original endpoint, only print endpoints and out
|
|
|
163
189
|
endpointscanner example.com -oo -or -o examplescan.txt
|
|
164
190
|
```
|
|
165
191
|
|
|
166
|
-
## Weaknesses
|
|
167
|
-
|
|
168
|
-
- If there is a login page, the script will either show that all of the pages require login, or label all of them as 403.
|
|
169
|
-
- If there are shells (e.g. React SPA shells) in the page, it may give false positives for sensitive endpoints. If you see sensitive endpoints in the scan, they may not actually be exposed on the website if the website has a shell. (E.g. .gitignore, .env.local)
|
|
170
|
-
- The rate limit test is more susceptible to captchas as it uses a module (httpx, not curl_cffi) that is not built to specifically pass through firewalls/captchas. This is as the httpx module for requests is better for asynchronous functions for rate limit testing on websites.
|
|
171
|
-
|
|
172
192
|
## What was added
|
|
173
193
|
|
|
174
|
-
Version 7.
|
|
175
|
-
|
|
176
|
-
-
|
|
177
|
-
-
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
-
|
|
181
|
-
-
|
|
182
|
-
-
|
|
183
|
-
-
|
|
184
|
-
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
-
|
|
198
|
-
-
|
|
199
|
-
-
|
|
200
|
-
-
|
|
194
|
+
Version 7.3 added:
|
|
195
|
+
|
|
196
|
+
- Recursive scanning for sitemaps (all xml files)
|
|
197
|
+
- Recursive scanning for javascript files
|
|
198
|
+
- Scanning of localhost:port and IP addresses like 127.0.0.1, not just example.com.
|
|
199
|
+
- Filtering out Emscripten + Pyodide Virtual File System endpoints as they were false positives.
|
|
200
|
+
- More JS Stacks to detect, and more accurate. Full list of stacks after 7.3:
|
|
201
|
+
- React
|
|
202
|
+
- Nuxt.js
|
|
203
|
+
- Next.js
|
|
204
|
+
- Node.js
|
|
205
|
+
- Vue.js
|
|
206
|
+
- Angular
|
|
207
|
+
- Astro
|
|
208
|
+
- Gatsby
|
|
209
|
+
- Remix
|
|
210
|
+
- Solid.js
|
|
211
|
+
- Svelte
|
|
212
|
+
- Alpine.js
|
|
213
|
+
- Backbone.js
|
|
214
|
+
- Ember.js
|
|
215
|
+
- Redux
|
|
216
|
+
- Ruby on Rails
|
|
217
|
+
- Forem (also ruby on rails)
|
|
218
|
+
- Deno
|
|
219
|
+
- Bun
|
|
220
|
+
- jQuery
|
|
221
|
+
- Webpack
|
|
222
|
+
- Vite
|
|
223
|
+
- Turbopack
|
|
224
|
+
- Parcel
|
|
201
225
|
|
|
202
226
|
## Plans for next version and the future
|
|
203
227
|
|
|
204
|
-
Version 7.
|
|
228
|
+
Version 7.4:
|
|
205
229
|
|
|
206
|
-
- More JS Stacks to detect (and more accurate)
|
|
207
230
|
- Detecting what type of captcha was used if the script is blocked.
|
|
231
|
+
- Optimisation to make sorting of endpoints faster (called parallel requests or something)
|
|
208
232
|
|
|
209
233
|
Future plans (May be added in the next version):
|
|
234
|
+
none. please leave any suggestions you want.
|
|
210
235
|
|
|
211
|
-
|
|
212
|
-
|
|
236
|
+
## Weaknesses
|
|
237
|
+
|
|
238
|
+
- If there is a login page, the script will either show that all of the pages require login, or label all of them as 403.
|
|
239
|
+
- If there are shells (e.g. React SPA shells) in the page, it may give false positives for sensitive endpoints. If you see sensitive endpoints in the scan, they may not actually be exposed on the website if the website has a shell. (E.g. .gitignore, .env.local)
|
|
240
|
+
- The rate limit test is more susceptible to captchas as it uses a module (httpx, not curl_cffi) that is not built to specifically pass through firewalls/captchas. This is as the httpx module for requests is better for asynchronous functions for rate limit testing on websites.
|
|
213
241
|
|
|
214
242
|
ai assisted code btw
|
|
215
243
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Website Endpoint Scanner and Rate Limit Tester For Websites (Version 7.
|
|
1
|
+
# Website Endpoint Scanner and Rate Limit Tester For Websites (Version 7.3)
|
|
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
|
|
|
@@ -26,6 +26,7 @@ Passable arguments:
|
|
|
26
26
|
| Argument | Short Form | Description |
|
|
27
27
|
| :---------------------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
28
28
|
| `target` | `NIL` | URL |
|
|
29
|
+
| `--local` | `-l` | Pass this flag if the target is a local site like development-server, but is not a localhost/IP address. |
|
|
29
30
|
| `--ratelimit` | `-r` | Number of requests to send during the rate limit test. Default is 100. |
|
|
30
31
|
| `--ratelimit-type` | `-rt` | HTTP Method to use for the rate limit test. Defaults to GET. |
|
|
31
32
|
| `--ratelimit-body` | `-rb` | Payload data to send in request to use for POST, PATCH and PUT requests. If the custom payload contains double quotes, please use single quotes instead of double quotes to pass this flag. |
|
|
@@ -35,13 +36,14 @@ Passable arguments:
|
|
|
35
36
|
| `--testpath` | `-t` | Endpoint to test for rate limiting. |
|
|
36
37
|
| `--show-404s` | `-s` | Show endpoints tested that returned a 404 |
|
|
37
38
|
| `--disable-extra-files` | `-d` | Disable scanning of extra structural mapping files (robots, sitemaps, manifests, etc.) |
|
|
38
|
-
| `--show-media` | `-m` | Include assets/media like images and fonts in scan results
|
|
39
|
-
| `--show-prog` | `-sp` | Print endpoints to the terminal one by one in real-time as they are found. Warning: will show duplicate paths if endpoints are defined multiple times in the code. Results will not contain duplicates.
|
|
39
|
+
| `--show-media` | `-m` | Include assets/media like images and fonts and videos in scan results |
|
|
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. |
|
|
41
|
+
| `--no-duplicate-prog` | `-nd` | If --show-prog is passed, duplicate endpoints in progress will not be shown. |
|
|
40
42
|
| `--output-file` | `-o` | Save formatted results directly to a local text file. |
|
|
41
43
|
| `--disable-og` | `-do` | Disable code from showing the original endpoint with variables. Keeps output tidier. Will NOT remove original tag from progress if the --show-prog flag is present. |
|
|
42
44
|
| `--tidy` | `-ti` | Script will not show where it got extra endpoints from, and will not show if it is a client side route and requires login, or react shell etc (or any SPA shell). Will also not show if an endpoint is a potential service. |
|
|
43
45
|
| `--tidy-all` | `-ta` | Flags --disable-og and --tidy combined. |
|
|
44
|
-
| `--only-res` | `-or` | Only show summarised endpoints.
|
|
46
|
+
| `--only-res` | `-or` | Only show summarised endpoints, and not print out extra information. Has an exception if number of endpoints exceeds 3000. |
|
|
45
47
|
| `--only-original` | `-oo` | Only show the original version of the flag instead of it being replaced with a 1. Will also affect show prog. |
|
|
46
48
|
| `--show-source` | `-ss` | Print the source of each endpoint during progress, like printing out which file it found the endpoint from. |
|
|
47
49
|
| `--scan-timeout` | `-st` | Stop scan completely after given number of minutes and print/save any results found in that time window. Will leave unsorted endpoints in a section labelled 'UNSORTED', and will leave out sensitive endpoints. Will NOT interrupt rate limiting test. |
|
|
@@ -50,19 +52,33 @@ Passable arguments:
|
|
|
50
52
|
## Installation
|
|
51
53
|
|
|
52
54
|
You MUST have python 3.9 or above to use this tool!
|
|
53
|
-
To install the official [endpointscanner Python package](https://pypi.org/project/endpointscanner/)
|
|
55
|
+
To install the official [endpointscanner Python package](https://pypi.org/project/endpointscanner/):
|
|
56
|
+
Command for MacOS/Linux:
|
|
54
57
|
|
|
55
58
|
```bash
|
|
56
59
|
python3 -m pip install endpointscanner
|
|
57
60
|
```
|
|
58
61
|
|
|
62
|
+
Command for Windows Command Prompt:
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
py -m pip install endpointscanner
|
|
66
|
+
```
|
|
67
|
+
|
|
59
68
|
After that, install chromium on playwright (playwright will be installed when you install endpointscanner):
|
|
69
|
+
Command for MacOS/Linux:
|
|
60
70
|
|
|
61
71
|
```bash
|
|
62
72
|
playwright install chromium
|
|
63
73
|
```
|
|
64
74
|
|
|
65
|
-
|
|
75
|
+
Command for Windows Command Prompt:
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
py -m playwright install chromium
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### You may need to create a virtual environment if PEP 668 blocks you. (For the endpointscanner installation, not playwright install chromium.) Windows users do not need this step as they will not face the PEP 668 restriction.
|
|
66
82
|
|
|
67
83
|
To create a virtual environment named 'myvenv':
|
|
68
84
|
|
|
@@ -70,25 +86,13 @@ To create a virtual environment named 'myvenv':
|
|
|
70
86
|
python3 -m venv myvenv
|
|
71
87
|
```
|
|
72
88
|
|
|
73
|
-
To activate virtual environment
|
|
89
|
+
To activate virtual environment:
|
|
74
90
|
|
|
75
91
|
```bash
|
|
76
92
|
source myvenv/bin/activate
|
|
77
93
|
```
|
|
78
94
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
```text
|
|
82
|
-
myvenv\Scripts\activate
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
To activate virtual environment on Windows PowerShell:
|
|
86
|
-
|
|
87
|
-
```powershell
|
|
88
|
-
myvenv\Scripts\Activate.ps1
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Alternative (Not Recommended)
|
|
95
|
+
### Alternative for Virtual Environment (Not Recommended)
|
|
92
96
|
|
|
93
97
|
If you do not want to create a virtual environment, you can run:
|
|
94
98
|
|
|
@@ -100,14 +104,36 @@ to install it without PEP 668.
|
|
|
100
104
|
|
|
101
105
|
**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.
|
|
102
106
|
|
|
107
|
+
### Troubleshooting Windows "Command Not Found" Error:
|
|
108
|
+
|
|
109
|
+
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
|
+
|
|
111
|
+
```powershell
|
|
112
|
+
$pDir = (py -c "import sys, os; print(os.path.dirname(sys.executable))"); if ($pDir) { $s = "$pDir\Scripts"; $p = [Environment]::GetEnvironmentVariable("Path", "User"); if ($p -notlike "*$s*") { [Environment]::SetEnvironmentVariable("Path", "$p;$s", "User") } }
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
What the PowerShell command does:
|
|
116
|
+
Checks the current version of python being used, and adds that python version as an environmental variable in the computer so you can run `endpointscanner` as a standalone command. Does not require admin privileges.
|
|
117
|
+
|
|
118
|
+
**Requirements for this command:** Python must already be installed.
|
|
119
|
+
|
|
120
|
+
**Note:** You MUST close the terminal (not minimise) and open a new one for the changes to work.
|
|
121
|
+
|
|
103
122
|
### Updating script
|
|
104
123
|
|
|
105
124
|
To update the script, you can run:
|
|
125
|
+
MacOS and Linux Command:
|
|
106
126
|
|
|
107
127
|
```bash
|
|
108
128
|
python3 -m pip install --upgrade endpointscanner
|
|
109
129
|
```
|
|
110
130
|
|
|
131
|
+
Windows Command:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
py -m pip install --upgrade endpointscanner
|
|
135
|
+
```
|
|
136
|
+
|
|
111
137
|
## Example Commands
|
|
112
138
|
|
|
113
139
|
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):
|
|
@@ -144,53 +170,55 @@ Example command to only show the original endpoint, only print endpoints and out
|
|
|
144
170
|
endpointscanner example.com -oo -or -o examplescan.txt
|
|
145
171
|
```
|
|
146
172
|
|
|
147
|
-
## Weaknesses
|
|
148
|
-
|
|
149
|
-
- If there is a login page, the script will either show that all of the pages require login, or label all of them as 403.
|
|
150
|
-
- If there are shells (e.g. React SPA shells) in the page, it may give false positives for sensitive endpoints. If you see sensitive endpoints in the scan, they may not actually be exposed on the website if the website has a shell. (E.g. .gitignore, .env.local)
|
|
151
|
-
- The rate limit test is more susceptible to captchas as it uses a module (httpx, not curl_cffi) that is not built to specifically pass through firewalls/captchas. This is as the httpx module for requests is better for asynchronous functions for rate limit testing on websites.
|
|
152
|
-
|
|
153
173
|
## What was added
|
|
154
174
|
|
|
155
|
-
Version 7.
|
|
156
|
-
|
|
157
|
-
-
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
-
|
|
170
|
-
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
-
|
|
181
|
-
-
|
|
175
|
+
Version 7.3 added:
|
|
176
|
+
|
|
177
|
+
- Recursive scanning for sitemaps (all xml files)
|
|
178
|
+
- Recursive scanning for javascript files
|
|
179
|
+
- Scanning of localhost:port and IP addresses like 127.0.0.1, not just example.com.
|
|
180
|
+
- Filtering out Emscripten + Pyodide Virtual File System endpoints as they were false positives.
|
|
181
|
+
- More JS Stacks to detect, and more accurate. Full list of stacks after 7.3:
|
|
182
|
+
- React
|
|
183
|
+
- Nuxt.js
|
|
184
|
+
- Next.js
|
|
185
|
+
- Node.js
|
|
186
|
+
- Vue.js
|
|
187
|
+
- Angular
|
|
188
|
+
- Astro
|
|
189
|
+
- Gatsby
|
|
190
|
+
- Remix
|
|
191
|
+
- Solid.js
|
|
192
|
+
- Svelte
|
|
193
|
+
- Alpine.js
|
|
194
|
+
- Backbone.js
|
|
195
|
+
- Ember.js
|
|
196
|
+
- Redux
|
|
197
|
+
- Ruby on Rails
|
|
198
|
+
- Forem (also ruby on rails)
|
|
199
|
+
- Deno
|
|
200
|
+
- Bun
|
|
201
|
+
- jQuery
|
|
202
|
+
- Webpack
|
|
203
|
+
- Vite
|
|
204
|
+
- Turbopack
|
|
205
|
+
- Parcel
|
|
182
206
|
|
|
183
207
|
## Plans for next version and the future
|
|
184
208
|
|
|
185
|
-
Version 7.
|
|
209
|
+
Version 7.4:
|
|
186
210
|
|
|
187
|
-
- More JS Stacks to detect (and more accurate)
|
|
188
211
|
- Detecting what type of captcha was used if the script is blocked.
|
|
212
|
+
- Optimisation to make sorting of endpoints faster (called parallel requests or something)
|
|
189
213
|
|
|
190
214
|
Future plans (May be added in the next version):
|
|
215
|
+
none. please leave any suggestions you want.
|
|
191
216
|
|
|
192
|
-
|
|
193
|
-
|
|
217
|
+
## Weaknesses
|
|
218
|
+
|
|
219
|
+
- If there is a login page, the script will either show that all of the pages require login, or label all of them as 403.
|
|
220
|
+
- If there are shells (e.g. React SPA shells) in the page, it may give false positives for sensitive endpoints. If you see sensitive endpoints in the scan, they may not actually be exposed on the website if the website has a shell. (E.g. .gitignore, .env.local)
|
|
221
|
+
- The rate limit test is more susceptible to captchas as it uses a module (httpx, not curl_cffi) that is not built to specifically pass through firewalls/captchas. This is as the httpx module for requests is better for asynchronous functions for rate limit testing on websites.
|
|
194
222
|
|
|
195
223
|
ai assisted code btw
|
|
196
224
|
|