
BOLA & IDOR
criticalCWE-639
Autonomous cross-object enumeration seeds a unique sentinel in the victim's state, then proves one identity can read another's. Similarity alone is refused as evidence.
PenStrike carries a dedicated exploitation prover for each vulnerability class. A finding is never reported on a scanner signal — it is exploited, reproduced and revalidated first. Here is the full coverage.
Any scanner signal is treated as unsorted noise until an exploitation prover confirms impact. Nothing is published unless all four gates pass.
Every verdict is three-state: proven, refuted, or inconclusive — reproduced at least three times.
| Class | Proof technique | CWE | Severity |
|---|---|---|---|
| SQL injection (SQLi) | Boolean/UNION/time-based oracle, auth bypass | CWE-89 | Critical |
| Cross-site scripting (XSS) | Reflected, stored, DOM — real nonce execution | CWE-79 | High |
| Access control (BOLA/IDOR/BFLA) | Cross-object enumeration + anonymous access | CWE-639 | Critical |
| Authentication (JWT) | alg=none forge, weak HMAC accepted | CWE-287 | Critical |
| Open redirect | Redirect to sentinel origin | CWE-601 | Medium |
| Server-side request forgery | Unique out-of-band callback | CWE-918 | High |
| Command injection (RCE) | OOB curl / timing oracle, non-destructive | CWE-77 | Critical |
| XML external entity (XXE) | External entity resolved to OOB URL | CWE-611 | High |
| Server-side template injection | Arithmetic expression evaluated | CWE-1336 | Critical |
| LFI / path traversal | Known system file disclosed, read-only | CWE-22 | High |
| CORS misconfiguration | Attacker origin reflected + credentials | CWE-942 | Medium |
| Secret exposure | Sensitive path read (.git, .env, actuator) | CWE-200 | High |
| Business logic | Price tampering, mass-assignment, token reuse | CWE-840 | High |
| Second-order / stored injection | Payload written, evaluated on render | CWE-74 | High |
| GraphQL abuse | Schema disclosure via introspection | CWE-863 | High |
| Race condition / TOCTOU | Concurrent burst past a single-use limit | CWE-362 | High |
| Request smuggling / cache poison | Reflected Host-header injection | CWE-444 | High |
Intrusive classes (race condition, request smuggling) are opt-in and run only inside an explicitly authorized scope.
Request access and point PenStrike at a target you own or are authorized to test.
Request access