v2: real exploitation — discovery phase, nuclei CVE scanning, SQLi/XSS/LFI rebuild

- New discovery engine (engine/discovery.sh): crawls target for real
  URLs, forms, parameters, and API endpoints before attacking
- New nuclei vector (21): runs nuclei templates for real CVE detection
  (critical/high/medium severity)
- Rebuilt SQLi vector: tests discovered forms and URL params with
  error-based and time-based blind payloads, sqlmap injection
- Rebuilt XSS vector: multi-context payloads against discovered
  forms/params, confirms payload reflection
- Rebuilt LFI vector: tests all discovered and common file parameters
  with traversal payloads, confirms by reading /etc/passwd
- Updated main analyzer with 5-step pipeline: connectivity →
  discovery → recon → Ollama brain → exploitation
This commit is contained in:
drjones
2026-06-19 06:27:33 -07:00
parent eb1fad4ecc
commit e832ef3b46
8 changed files with 719 additions and 206 deletions

View File

@@ -1,11 +1,11 @@
1|#!/usr/bin/env bash
2|# Vector 14: API Abuse & Security Testing
3|# Desc: Rate limiting, auth bypass, mass assignment, parameter pollution
4|# Detect: API endpoints /api/, /v1/, /rest
5|# Severity: HIGH
6|# Tools: curl
7|
8|vector_apiab() {
#!/usr/bin/env bash
# Vector 14: API Abuse & Security Testing
# Desc: Rate limiting, auth bypass, mass assignment, parameter pollution
# Detect: API endpoints /api/, /v1/, /rest
# Severity: HIGH
# Tools: curl
vector_apiab() {
local target="$1"
local report="$2"
local findings=0
@@ -54,14 +54,13 @@
if [ "$rate_check" -eq 0 ]; then
print_warn "No rate limiting detected on $endpoint"
echo "SEVERITY: MEDIUM
57|VECTOR: Missing Rate Limiting
58|DETAIL: No rate limiting on $endpoint
59|EVIDENCE: 10 rapid requests without 429/503 response
60|EXPLOIT: Enables brute force, credential stuffing, DoS" > "$REPORTS_DIR/.finding_$(date +%s)_ratelimit.txt"
VECTOR: Missing Rate Limiting
DETAIL: No rate limiting on $endpoint
EVIDENCE: 10 rapid requests without 429/503 response
EXPLOIT: Enables brute force, credential stuffing, DoS" > "$REPORTS_DIR/.finding_$(date +%s)_ratelimit.txt"
findings=$((findings + 1))
fi
done
return $findings
66|}
67|
}