vpixray 0.1.0__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.
- vpixray-0.1.0/LICENSE +21 -0
- vpixray-0.1.0/PKG-INFO +370 -0
- vpixray-0.1.0/README.md +340 -0
- vpixray-0.1.0/core/__init__.py +0 -0
- vpixray-0.1.0/core/cmdi.py +40 -0
- vpixray-0.1.0/core/cors.py +38 -0
- vpixray-0.1.0/core/crlf.py +40 -0
- vpixray-0.1.0/core/csrf.py +35 -0
- vpixray-0.1.0/core/dirlisting.py +31 -0
- vpixray-0.1.0/core/fingerprint.py +38 -0
- vpixray-0.1.0/core/headers_check.py +38 -0
- vpixray-0.1.0/core/hostheader.py +29 -0
- vpixray-0.1.0/core/idor.py +32 -0
- vpixray-0.1.0/core/jwt.py +77 -0
- vpixray-0.1.0/core/lfi.py +49 -0
- vpixray-0.1.0/core/nosqli.py +51 -0
- vpixray-0.1.0/core/redirect.py +39 -0
- vpixray-0.1.0/core/requester.py +44 -0
- vpixray-0.1.0/core/sensitive.py +41 -0
- vpixray-0.1.0/core/sqli.py +102 -0
- vpixray-0.1.0/core/sqli_blind.py +48 -0
- vpixray-0.1.0/core/ssrf.py +36 -0
- vpixray-0.1.0/core/ssti.py +39 -0
- vpixray-0.1.0/core/xss.py +42 -0
- vpixray-0.1.0/core/xxe.py +26 -0
- vpixray-0.1.0/pyproject.toml +47 -0
- vpixray-0.1.0/recon/__init__.py +0 -0
- vpixray-0.1.0/recon/dns_lookup.py +50 -0
- vpixray-0.1.0/recon/http_methods.py +66 -0
- vpixray-0.1.0/recon/ipinfo.py +76 -0
- vpixray-0.1.0/recon/port_scan.py +63 -0
- vpixray-0.1.0/recon/server_info.py +59 -0
- vpixray-0.1.0/recon/ssl_info.py +72 -0
- vpixray-0.1.0/recon/subdomain_enum.py +54 -0
- vpixray-0.1.0/recon/whois_lookup.py +61 -0
- vpixray-0.1.0/setup.cfg +4 -0
- vpixray-0.1.0/utils/__init__.py +0 -0
- vpixray-0.1.0/utils/banner.py +23 -0
- vpixray-0.1.0/utils/colors.py +14 -0
- vpixray-0.1.0/utils/reporter.py +56 -0
- vpixray-0.1.0/vpixray.egg-info/PKG-INFO +370 -0
- vpixray-0.1.0/vpixray.egg-info/SOURCES.txt +45 -0
- vpixray-0.1.0/vpixray.egg-info/dependency_links.txt +1 -0
- vpixray-0.1.0/vpixray.egg-info/entry_points.txt +2 -0
- vpixray-0.1.0/vpixray.egg-info/requires.txt +6 -0
- vpixray-0.1.0/vpixray.egg-info/top_level.txt +4 -0
- vpixray-0.1.0/vpixray.py +198 -0
vpixray-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 vp20ix
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
vpixray-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vpixray
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: X-ray for the web. Web vulnerability scanner + recon suite in Python.
|
|
5
|
+
Author-email: vp20ix <vp20ix@example.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/vp20ix/VpiXray
|
|
8
|
+
Project-URL: Bug Tracker, https://github.com/vp20ix/VpiXray/issues
|
|
9
|
+
Project-URL: Source Code, https://github.com/vp20ix/VpiXray
|
|
10
|
+
Keywords: security,cybersecurity,pentest,vulnerability-scanner,recon,bug-bounty
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Information Technology
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Security
|
|
20
|
+
Requires-Python: >=3.8
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Requires-Dist: requests>=2.31.0
|
|
24
|
+
Requires-Dist: rich>=13.7.0
|
|
25
|
+
Requires-Dist: urllib3>=2.0.0
|
|
26
|
+
Requires-Dist: beautifulsoup4>=4.12.0
|
|
27
|
+
Requires-Dist: dnspython>=2.4.0
|
|
28
|
+
Requires-Dist: python-whois>=0.9.4
|
|
29
|
+
Dynamic: license-file
|
|
30
|
+
|
|
31
|
+
# 🩻 VpiXray
|
|
32
|
+
|
|
33
|
+
> X-ray for the web. Nothing hides.
|
|
34
|
+
|
|
35
|
+
Web vulnerability scanner + recon suite written in Python.
|
|
36
|
+
Built for penetration testers, bug bounty hunters, and security learners.
|
|
37
|
+
|
|
38
|
+

|
|
39
|
+

|
|
40
|
+

|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Table of Contents
|
|
45
|
+
|
|
46
|
+
- [Features](#features)
|
|
47
|
+
- [Requirements](#requirements)
|
|
48
|
+
- [Quick Start](#quick-start)
|
|
49
|
+
- [Usage](#usage)
|
|
50
|
+
- [Command Options](#command-options)
|
|
51
|
+
- [Examples](#examples)
|
|
52
|
+
- [Architecture](#architecture)
|
|
53
|
+
- [FAQ](#faq)
|
|
54
|
+
- [Roadmap](#roadmap)
|
|
55
|
+
- [Contributing](#contributing)
|
|
56
|
+
- [Credits](#credits)
|
|
57
|
+
- [Legal Disclaimer](#legal-disclaimer)
|
|
58
|
+
- [Author](#author)
|
|
59
|
+
- [License](#license)
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Features
|
|
64
|
+
|
|
65
|
+
### Vulnerability Scanner (21 checks)
|
|
66
|
+
|
|
67
|
+
- SQL Injection (Error-based)
|
|
68
|
+
- Time-based SQLi
|
|
69
|
+
- Blind SQLi (Boolean)
|
|
70
|
+
- NoSQL Injection
|
|
71
|
+
- Command Injection
|
|
72
|
+
- SSTI (Server-Side Template Injection)
|
|
73
|
+
- SSRF (Server-Side Request Forgery)
|
|
74
|
+
- XXE (XML External Entity)
|
|
75
|
+
- LFI (Local File Inclusion)
|
|
76
|
+
- Reflected XSS
|
|
77
|
+
- CRLF Injection
|
|
78
|
+
- Host Header Injection
|
|
79
|
+
- CORS Misconfiguration
|
|
80
|
+
- Sensitive Files (.env, .git, backups)
|
|
81
|
+
- CSRF
|
|
82
|
+
- IDOR
|
|
83
|
+
- Directory Listing
|
|
84
|
+
- Open Redirect
|
|
85
|
+
- Security Headers
|
|
86
|
+
- JWT Analyzer
|
|
87
|
+
- Tech Fingerprint
|
|
88
|
+
|
|
89
|
+
### Recon Suite (8 checks)
|
|
90
|
+
|
|
91
|
+
- IP & Geolocation
|
|
92
|
+
- DNS Records
|
|
93
|
+
- WHOIS
|
|
94
|
+
- SSL/TLS Info
|
|
95
|
+
- Server Info + CDN detection
|
|
96
|
+
- HTTP Methods
|
|
97
|
+
- Port Scan (18 ports)
|
|
98
|
+
- Subdomain Enumeration
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Requirements
|
|
103
|
+
|
|
104
|
+
| Requirement | Details |
|
|
105
|
+
|-------------|---------|
|
|
106
|
+
| Python | 3.8 or higher |
|
|
107
|
+
| pip | Latest version |
|
|
108
|
+
| OS | Linux, macOS, Windows (WSL), Kali |
|
|
109
|
+
| Root access | Not required |
|
|
110
|
+
| API keys | Not required |
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Quick Start
|
|
115
|
+
|
|
116
|
+
Step 1: Clone the repository
|
|
117
|
+
|
|
118
|
+
git clone https://github.com/vp20ix/VpiXray.git
|
|
119
|
+
cd VpiXray
|
|
120
|
+
|
|
121
|
+
Step 2: Create virtual environment
|
|
122
|
+
|
|
123
|
+
python3 -m venv venv
|
|
124
|
+
source venv/bin/activate
|
|
125
|
+
|
|
126
|
+
Step 3: Install dependencies
|
|
127
|
+
|
|
128
|
+
pip install -r requirements.txt
|
|
129
|
+
|
|
130
|
+
Step 4: Run the tool
|
|
131
|
+
|
|
132
|
+
python3 vpixray.py -u https://target.com --all
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Usage
|
|
137
|
+
|
|
138
|
+
Full vulnerability scan:
|
|
139
|
+
|
|
140
|
+
python3 vpixray.py -u https://target.com --all
|
|
141
|
+
|
|
142
|
+
Full recon suite:
|
|
143
|
+
|
|
144
|
+
python3 vpixray.py -u https://target.com --recon
|
|
145
|
+
|
|
146
|
+
Recon + vulnerability scan:
|
|
147
|
+
|
|
148
|
+
python3 vpixray.py -u https://target.com --recon --all
|
|
149
|
+
|
|
150
|
+
Specific checks:
|
|
151
|
+
|
|
152
|
+
python3 vpixray.py -u https://target.com --sqli --xss --lfi
|
|
153
|
+
|
|
154
|
+
Export to JSON:
|
|
155
|
+
|
|
156
|
+
python3 vpixray.py -u https://target.com --all -o report.json
|
|
157
|
+
|
|
158
|
+
With session cookie:
|
|
159
|
+
|
|
160
|
+
python3 vpixray.py -u https://target.com --all --cookie "PHPSESSID=xxx"
|
|
161
|
+
|
|
162
|
+
Through a proxy:
|
|
163
|
+
|
|
164
|
+
python3 vpixray.py -u https://target.com --all --proxy http://127.0.0.1:8080
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Command Options
|
|
169
|
+
|
|
170
|
+
### General
|
|
171
|
+
|
|
172
|
+
| Option | Description |
|
|
173
|
+
|--------|-------------|
|
|
174
|
+
| `-u, --url` | Target URL (required) |
|
|
175
|
+
| `--all` | Run all vulnerability checks |
|
|
176
|
+
| `--recon` | Run full recon suite |
|
|
177
|
+
| `-o, --output` | Export to JSON |
|
|
178
|
+
| `--cookie` | Session cookie |
|
|
179
|
+
| `--proxy` | Proxy URL |
|
|
180
|
+
| `--timeout` | Timeout in seconds |
|
|
181
|
+
|
|
182
|
+
### Vulnerability Checks
|
|
183
|
+
|
|
184
|
+
| Option | Check |
|
|
185
|
+
|--------|-------|
|
|
186
|
+
| `--sqli` | SQL Injection |
|
|
187
|
+
| `--sqli-time` | Time-based SQLi |
|
|
188
|
+
| `--sqli-blind` | Blind SQLi |
|
|
189
|
+
| `--nosqli` | NoSQL Injection |
|
|
190
|
+
| `--xss` | Reflected XSS |
|
|
191
|
+
| `--lfi` | Local File Inclusion |
|
|
192
|
+
| `--cmdi` | Command Injection |
|
|
193
|
+
| `--csrf` | CSRF |
|
|
194
|
+
| `--idor` | IDOR |
|
|
195
|
+
| `--ssrf` | SSRF |
|
|
196
|
+
| `--xxe` | XXE |
|
|
197
|
+
| `--ssti` | SSTI |
|
|
198
|
+
| `--cors` | CORS Misconfig |
|
|
199
|
+
| `--hostheader` | Host Header Injection |
|
|
200
|
+
| `--crlf` | CRLF Injection |
|
|
201
|
+
| `--jwt` | JWT Analyzer |
|
|
202
|
+
| `--dirlisting` | Directory Listing |
|
|
203
|
+
| `--headers` | Security Headers |
|
|
204
|
+
| `--sensitive` | Sensitive Files |
|
|
205
|
+
| `--redirect` | Open Redirect |
|
|
206
|
+
| `--fingerprint` | Tech Fingerprint |
|
|
207
|
+
|
|
208
|
+
### Recon Options
|
|
209
|
+
|
|
210
|
+
| Option | Check |
|
|
211
|
+
|--------|-------|
|
|
212
|
+
| `--ipinfo` | IP + Geolocation |
|
|
213
|
+
| `--dns` | DNS Records |
|
|
214
|
+
| `--whois` | WHOIS |
|
|
215
|
+
| `--ssl-info` | SSL/TLS Info |
|
|
216
|
+
| `--server-info` | Server Info |
|
|
217
|
+
| `--methods` | HTTP Methods |
|
|
218
|
+
| `--ports` | Port Scan |
|
|
219
|
+
| `--subdomains` | Subdomain Enum |
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Examples
|
|
224
|
+
|
|
225
|
+
### Example 1: Scan DVWA locally
|
|
226
|
+
|
|
227
|
+
sudo docker run --rm -it -p 8080:80 vulnerables/web-dvwa
|
|
228
|
+
python3 vpixray.py -u "http://localhost:8080/vulnerabilities/sqli/?id=1" --sqli --cookie "PHPSESSID=xxx"
|
|
229
|
+
|
|
230
|
+
Result: Detects SQL Injection.
|
|
231
|
+
|
|
232
|
+
### Example 2: Scan a legal test target
|
|
233
|
+
|
|
234
|
+
python3 vpixray.py -u "http://testphp.vulnweb.com/artists.php?artist=1" --all
|
|
235
|
+
|
|
236
|
+
Result: Detects multiple vulnerabilities.
|
|
237
|
+
|
|
238
|
+
### Example 3: Recon only
|
|
239
|
+
|
|
240
|
+
python3 vpixray.py -u "https://example.com" --recon
|
|
241
|
+
|
|
242
|
+
Result: Shows IP, DNS, SSL, server info, ports.
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
## Screenshots
|
|
248
|
+
|
|
249
|
+
### Main Interface
|
|
250
|
+
|
|
251
|
+

|
|
252
|
+
|
|
253
|
+
### Vulnerability Scan — SQL Injection Detection
|
|
254
|
+
|
|
255
|
+

|
|
256
|
+
|
|
257
|
+
### Recon Suite
|
|
258
|
+
|
|
259
|
+

|
|
260
|
+
|
|
261
|
+
## Architecture
|
|
262
|
+
|
|
263
|
+
VpiXray/
|
|
264
|
+
├── vpixray.py # Entry point
|
|
265
|
+
├── core/ # Vulnerability checks
|
|
266
|
+
├── recon/ # Reconnaissance modules
|
|
267
|
+
├── utils/ # Utilities
|
|
268
|
+
├── wordlists/
|
|
269
|
+
├── requirements.txt
|
|
270
|
+
├── LICENSE
|
|
271
|
+
└── README.md
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## FAQ
|
|
276
|
+
|
|
277
|
+
### Does VpiXray require Kali Linux?
|
|
278
|
+
No. It runs on any Linux distribution, macOS, and Windows (via WSL).
|
|
279
|
+
|
|
280
|
+
### Do I need root access?
|
|
281
|
+
No. Regular user permissions are enough.
|
|
282
|
+
|
|
283
|
+
### Do I need API keys?
|
|
284
|
+
No. All services used are free.
|
|
285
|
+
|
|
286
|
+
### Is it legal to use?
|
|
287
|
+
Only on systems you own or have written permission to test.
|
|
288
|
+
|
|
289
|
+
### How long does a scan take?
|
|
290
|
+
Typically 30 seconds to 2 minutes.
|
|
291
|
+
|
|
292
|
+
### Can I use it in bug bounty?
|
|
293
|
+
Yes, but check the program's scope first.
|
|
294
|
+
|
|
295
|
+
### The scan is slow. How to speed up?
|
|
296
|
+
Use --timeout 3
|
|
297
|
+
|
|
298
|
+
### pip install fails with "externally-managed-environment"?
|
|
299
|
+
You must use a virtual environment.
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Roadmap
|
|
304
|
+
|
|
305
|
+
- [x] 21 vulnerability checks
|
|
306
|
+
- [x] 8 recon checks
|
|
307
|
+
- [x] JSON export
|
|
308
|
+
- [x] Cookie support
|
|
309
|
+
- [x] Proxy support
|
|
310
|
+
- [ ] HTML Dashboard
|
|
311
|
+
- [ ] CVSS Scoring
|
|
312
|
+
- [ ] AI Triage
|
|
313
|
+
- [ ] Plugin System
|
|
314
|
+
- [ ] Async Engine
|
|
315
|
+
- [ ] Multi-target
|
|
316
|
+
- [ ] Docker image
|
|
317
|
+
- [ ] PyPI package
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## Contributing
|
|
322
|
+
|
|
323
|
+
Contributions are welcome.
|
|
324
|
+
|
|
325
|
+
1. Fork the repository
|
|
326
|
+
2. Create a feature branch
|
|
327
|
+
3. Commit your changes
|
|
328
|
+
4. Push to your branch
|
|
329
|
+
5. Open a Pull Request
|
|
330
|
+
|
|
331
|
+
Report bugs via GitHub Issues.
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
## Credits
|
|
336
|
+
|
|
337
|
+
Built with:
|
|
338
|
+
- requests
|
|
339
|
+
- rich
|
|
340
|
+
- beautifulsoup4
|
|
341
|
+
- dnspython
|
|
342
|
+
- python-whois
|
|
343
|
+
|
|
344
|
+
Inspired by: sqlmap, nuclei, nikto, nmap.
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Legal Disclaimer
|
|
349
|
+
|
|
350
|
+
**For authorized security testing ONLY.**
|
|
351
|
+
|
|
352
|
+
Never scan targets without written permission.
|
|
353
|
+
|
|
354
|
+
Safe targets:
|
|
355
|
+
- scanme.nmap.org
|
|
356
|
+
- Your own servers
|
|
357
|
+
- DVWA (local)
|
|
358
|
+
- PortSwigger Web Security Academy
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## Author
|
|
363
|
+
|
|
364
|
+
**vp20ix** — https://github.com/vp20ix
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## License
|
|
369
|
+
|
|
370
|
+
MIT License - see LICENSE file.
|
vpixray-0.1.0/README.md
ADDED
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
# 🩻 VpiXray
|
|
2
|
+
|
|
3
|
+
> X-ray for the web. Nothing hides.
|
|
4
|
+
|
|
5
|
+
Web vulnerability scanner + recon suite written in Python.
|
|
6
|
+
Built for penetration testers, bug bounty hunters, and security learners.
|
|
7
|
+
|
|
8
|
+

|
|
9
|
+

|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Table of Contents
|
|
15
|
+
|
|
16
|
+
- [Features](#features)
|
|
17
|
+
- [Requirements](#requirements)
|
|
18
|
+
- [Quick Start](#quick-start)
|
|
19
|
+
- [Usage](#usage)
|
|
20
|
+
- [Command Options](#command-options)
|
|
21
|
+
- [Examples](#examples)
|
|
22
|
+
- [Architecture](#architecture)
|
|
23
|
+
- [FAQ](#faq)
|
|
24
|
+
- [Roadmap](#roadmap)
|
|
25
|
+
- [Contributing](#contributing)
|
|
26
|
+
- [Credits](#credits)
|
|
27
|
+
- [Legal Disclaimer](#legal-disclaimer)
|
|
28
|
+
- [Author](#author)
|
|
29
|
+
- [License](#license)
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Features
|
|
34
|
+
|
|
35
|
+
### Vulnerability Scanner (21 checks)
|
|
36
|
+
|
|
37
|
+
- SQL Injection (Error-based)
|
|
38
|
+
- Time-based SQLi
|
|
39
|
+
- Blind SQLi (Boolean)
|
|
40
|
+
- NoSQL Injection
|
|
41
|
+
- Command Injection
|
|
42
|
+
- SSTI (Server-Side Template Injection)
|
|
43
|
+
- SSRF (Server-Side Request Forgery)
|
|
44
|
+
- XXE (XML External Entity)
|
|
45
|
+
- LFI (Local File Inclusion)
|
|
46
|
+
- Reflected XSS
|
|
47
|
+
- CRLF Injection
|
|
48
|
+
- Host Header Injection
|
|
49
|
+
- CORS Misconfiguration
|
|
50
|
+
- Sensitive Files (.env, .git, backups)
|
|
51
|
+
- CSRF
|
|
52
|
+
- IDOR
|
|
53
|
+
- Directory Listing
|
|
54
|
+
- Open Redirect
|
|
55
|
+
- Security Headers
|
|
56
|
+
- JWT Analyzer
|
|
57
|
+
- Tech Fingerprint
|
|
58
|
+
|
|
59
|
+
### Recon Suite (8 checks)
|
|
60
|
+
|
|
61
|
+
- IP & Geolocation
|
|
62
|
+
- DNS Records
|
|
63
|
+
- WHOIS
|
|
64
|
+
- SSL/TLS Info
|
|
65
|
+
- Server Info + CDN detection
|
|
66
|
+
- HTTP Methods
|
|
67
|
+
- Port Scan (18 ports)
|
|
68
|
+
- Subdomain Enumeration
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Requirements
|
|
73
|
+
|
|
74
|
+
| Requirement | Details |
|
|
75
|
+
|-------------|---------|
|
|
76
|
+
| Python | 3.8 or higher |
|
|
77
|
+
| pip | Latest version |
|
|
78
|
+
| OS | Linux, macOS, Windows (WSL), Kali |
|
|
79
|
+
| Root access | Not required |
|
|
80
|
+
| API keys | Not required |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Quick Start
|
|
85
|
+
|
|
86
|
+
Step 1: Clone the repository
|
|
87
|
+
|
|
88
|
+
git clone https://github.com/vp20ix/VpiXray.git
|
|
89
|
+
cd VpiXray
|
|
90
|
+
|
|
91
|
+
Step 2: Create virtual environment
|
|
92
|
+
|
|
93
|
+
python3 -m venv venv
|
|
94
|
+
source venv/bin/activate
|
|
95
|
+
|
|
96
|
+
Step 3: Install dependencies
|
|
97
|
+
|
|
98
|
+
pip install -r requirements.txt
|
|
99
|
+
|
|
100
|
+
Step 4: Run the tool
|
|
101
|
+
|
|
102
|
+
python3 vpixray.py -u https://target.com --all
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Usage
|
|
107
|
+
|
|
108
|
+
Full vulnerability scan:
|
|
109
|
+
|
|
110
|
+
python3 vpixray.py -u https://target.com --all
|
|
111
|
+
|
|
112
|
+
Full recon suite:
|
|
113
|
+
|
|
114
|
+
python3 vpixray.py -u https://target.com --recon
|
|
115
|
+
|
|
116
|
+
Recon + vulnerability scan:
|
|
117
|
+
|
|
118
|
+
python3 vpixray.py -u https://target.com --recon --all
|
|
119
|
+
|
|
120
|
+
Specific checks:
|
|
121
|
+
|
|
122
|
+
python3 vpixray.py -u https://target.com --sqli --xss --lfi
|
|
123
|
+
|
|
124
|
+
Export to JSON:
|
|
125
|
+
|
|
126
|
+
python3 vpixray.py -u https://target.com --all -o report.json
|
|
127
|
+
|
|
128
|
+
With session cookie:
|
|
129
|
+
|
|
130
|
+
python3 vpixray.py -u https://target.com --all --cookie "PHPSESSID=xxx"
|
|
131
|
+
|
|
132
|
+
Through a proxy:
|
|
133
|
+
|
|
134
|
+
python3 vpixray.py -u https://target.com --all --proxy http://127.0.0.1:8080
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Command Options
|
|
139
|
+
|
|
140
|
+
### General
|
|
141
|
+
|
|
142
|
+
| Option | Description |
|
|
143
|
+
|--------|-------------|
|
|
144
|
+
| `-u, --url` | Target URL (required) |
|
|
145
|
+
| `--all` | Run all vulnerability checks |
|
|
146
|
+
| `--recon` | Run full recon suite |
|
|
147
|
+
| `-o, --output` | Export to JSON |
|
|
148
|
+
| `--cookie` | Session cookie |
|
|
149
|
+
| `--proxy` | Proxy URL |
|
|
150
|
+
| `--timeout` | Timeout in seconds |
|
|
151
|
+
|
|
152
|
+
### Vulnerability Checks
|
|
153
|
+
|
|
154
|
+
| Option | Check |
|
|
155
|
+
|--------|-------|
|
|
156
|
+
| `--sqli` | SQL Injection |
|
|
157
|
+
| `--sqli-time` | Time-based SQLi |
|
|
158
|
+
| `--sqli-blind` | Blind SQLi |
|
|
159
|
+
| `--nosqli` | NoSQL Injection |
|
|
160
|
+
| `--xss` | Reflected XSS |
|
|
161
|
+
| `--lfi` | Local File Inclusion |
|
|
162
|
+
| `--cmdi` | Command Injection |
|
|
163
|
+
| `--csrf` | CSRF |
|
|
164
|
+
| `--idor` | IDOR |
|
|
165
|
+
| `--ssrf` | SSRF |
|
|
166
|
+
| `--xxe` | XXE |
|
|
167
|
+
| `--ssti` | SSTI |
|
|
168
|
+
| `--cors` | CORS Misconfig |
|
|
169
|
+
| `--hostheader` | Host Header Injection |
|
|
170
|
+
| `--crlf` | CRLF Injection |
|
|
171
|
+
| `--jwt` | JWT Analyzer |
|
|
172
|
+
| `--dirlisting` | Directory Listing |
|
|
173
|
+
| `--headers` | Security Headers |
|
|
174
|
+
| `--sensitive` | Sensitive Files |
|
|
175
|
+
| `--redirect` | Open Redirect |
|
|
176
|
+
| `--fingerprint` | Tech Fingerprint |
|
|
177
|
+
|
|
178
|
+
### Recon Options
|
|
179
|
+
|
|
180
|
+
| Option | Check |
|
|
181
|
+
|--------|-------|
|
|
182
|
+
| `--ipinfo` | IP + Geolocation |
|
|
183
|
+
| `--dns` | DNS Records |
|
|
184
|
+
| `--whois` | WHOIS |
|
|
185
|
+
| `--ssl-info` | SSL/TLS Info |
|
|
186
|
+
| `--server-info` | Server Info |
|
|
187
|
+
| `--methods` | HTTP Methods |
|
|
188
|
+
| `--ports` | Port Scan |
|
|
189
|
+
| `--subdomains` | Subdomain Enum |
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Examples
|
|
194
|
+
|
|
195
|
+
### Example 1: Scan DVWA locally
|
|
196
|
+
|
|
197
|
+
sudo docker run --rm -it -p 8080:80 vulnerables/web-dvwa
|
|
198
|
+
python3 vpixray.py -u "http://localhost:8080/vulnerabilities/sqli/?id=1" --sqli --cookie "PHPSESSID=xxx"
|
|
199
|
+
|
|
200
|
+
Result: Detects SQL Injection.
|
|
201
|
+
|
|
202
|
+
### Example 2: Scan a legal test target
|
|
203
|
+
|
|
204
|
+
python3 vpixray.py -u "http://testphp.vulnweb.com/artists.php?artist=1" --all
|
|
205
|
+
|
|
206
|
+
Result: Detects multiple vulnerabilities.
|
|
207
|
+
|
|
208
|
+
### Example 3: Recon only
|
|
209
|
+
|
|
210
|
+
python3 vpixray.py -u "https://example.com" --recon
|
|
211
|
+
|
|
212
|
+
Result: Shows IP, DNS, SSL, server info, ports.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
## Screenshots
|
|
218
|
+
|
|
219
|
+
### Main Interface
|
|
220
|
+
|
|
221
|
+

|
|
222
|
+
|
|
223
|
+
### Vulnerability Scan — SQL Injection Detection
|
|
224
|
+
|
|
225
|
+

|
|
226
|
+
|
|
227
|
+
### Recon Suite
|
|
228
|
+
|
|
229
|
+

|
|
230
|
+
|
|
231
|
+
## Architecture
|
|
232
|
+
|
|
233
|
+
VpiXray/
|
|
234
|
+
├── vpixray.py # Entry point
|
|
235
|
+
├── core/ # Vulnerability checks
|
|
236
|
+
├── recon/ # Reconnaissance modules
|
|
237
|
+
├── utils/ # Utilities
|
|
238
|
+
├── wordlists/
|
|
239
|
+
├── requirements.txt
|
|
240
|
+
├── LICENSE
|
|
241
|
+
└── README.md
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## FAQ
|
|
246
|
+
|
|
247
|
+
### Does VpiXray require Kali Linux?
|
|
248
|
+
No. It runs on any Linux distribution, macOS, and Windows (via WSL).
|
|
249
|
+
|
|
250
|
+
### Do I need root access?
|
|
251
|
+
No. Regular user permissions are enough.
|
|
252
|
+
|
|
253
|
+
### Do I need API keys?
|
|
254
|
+
No. All services used are free.
|
|
255
|
+
|
|
256
|
+
### Is it legal to use?
|
|
257
|
+
Only on systems you own or have written permission to test.
|
|
258
|
+
|
|
259
|
+
### How long does a scan take?
|
|
260
|
+
Typically 30 seconds to 2 minutes.
|
|
261
|
+
|
|
262
|
+
### Can I use it in bug bounty?
|
|
263
|
+
Yes, but check the program's scope first.
|
|
264
|
+
|
|
265
|
+
### The scan is slow. How to speed up?
|
|
266
|
+
Use --timeout 3
|
|
267
|
+
|
|
268
|
+
### pip install fails with "externally-managed-environment"?
|
|
269
|
+
You must use a virtual environment.
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Roadmap
|
|
274
|
+
|
|
275
|
+
- [x] 21 vulnerability checks
|
|
276
|
+
- [x] 8 recon checks
|
|
277
|
+
- [x] JSON export
|
|
278
|
+
- [x] Cookie support
|
|
279
|
+
- [x] Proxy support
|
|
280
|
+
- [ ] HTML Dashboard
|
|
281
|
+
- [ ] CVSS Scoring
|
|
282
|
+
- [ ] AI Triage
|
|
283
|
+
- [ ] Plugin System
|
|
284
|
+
- [ ] Async Engine
|
|
285
|
+
- [ ] Multi-target
|
|
286
|
+
- [ ] Docker image
|
|
287
|
+
- [ ] PyPI package
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Contributing
|
|
292
|
+
|
|
293
|
+
Contributions are welcome.
|
|
294
|
+
|
|
295
|
+
1. Fork the repository
|
|
296
|
+
2. Create a feature branch
|
|
297
|
+
3. Commit your changes
|
|
298
|
+
4. Push to your branch
|
|
299
|
+
5. Open a Pull Request
|
|
300
|
+
|
|
301
|
+
Report bugs via GitHub Issues.
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Credits
|
|
306
|
+
|
|
307
|
+
Built with:
|
|
308
|
+
- requests
|
|
309
|
+
- rich
|
|
310
|
+
- beautifulsoup4
|
|
311
|
+
- dnspython
|
|
312
|
+
- python-whois
|
|
313
|
+
|
|
314
|
+
Inspired by: sqlmap, nuclei, nikto, nmap.
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## Legal Disclaimer
|
|
319
|
+
|
|
320
|
+
**For authorized security testing ONLY.**
|
|
321
|
+
|
|
322
|
+
Never scan targets without written permission.
|
|
323
|
+
|
|
324
|
+
Safe targets:
|
|
325
|
+
- scanme.nmap.org
|
|
326
|
+
- Your own servers
|
|
327
|
+
- DVWA (local)
|
|
328
|
+
- PortSwigger Web Security Academy
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Author
|
|
333
|
+
|
|
334
|
+
**vp20ix** — https://github.com/vp20ix
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## License
|
|
339
|
+
|
|
340
|
+
MIT License - see LICENSE file.
|
|
File without changes
|