Perform black-box / grey-box web application penetration testing on an authorized target — auth bypass, IDOR, session handling, business-logic flaws, parameter tampering, Burp Suite / OWASP ZAP workflows. Use when the user mentions 'web pentest,' 'web application penetration test,' 'pentesting,' 'bug bounty,' 'Burp Suite,' 'ZAP,' 'OWASP testing,' 'authentication testing,' 'session testing,' 'authorization testing,' 'business logic testing,' 'web vulnerability testing,' or has explicit authorization to test a live web application.
71
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Structured black-box / grey-box penetration testing of a live web application against an authorized target. Pairs with recon (which maps the surface) and complements owasp-audit (which reads the source). Use recon first; use this once you have a target list and credentials (or guest access).
Before touching the target, confirm:
If anything is unclear, ask before proceeding. Never assume authorization.
Follows the OWASP Web Security Testing Guide (WSTG) structure. Each phase produces evidence; document everything as you go.
Goal: understand what's running and how it's exposed.
curl -I and curl -I -H "Origin: https://evil.com":
Server, X-Powered-By revealing stackAccess-Control-Allow-Origin reflection without an allow-list, Allow-Credentials: true paired with *testssl.sh https://target or sslyze --regular target/.git/, /.env, /backup.sql, /web.config, /server-status, /.aws/credentials/admin, /administrator, /manage, /console, /actuator/, /_debug/, /swagger, /graphql, /.well-known/Host: internal.target.com?Goal: understand who can be created, how, and with what privileges.
Goal: break in as someone you shouldn't be.
HttpOnly, Secure, SameSite=Lax or Strict?Host: evil.com in the reset email link)state parameter validated? redirect_uri strictly matched (not prefix-matched)?Goal: access things you shouldn't.
Horizontal privilege escalation (IDOR / BOLA):
GET /users/:id, POST /users/:id/..., DELETE /users/:id, GET /api/users/:id/orders, GraphQL user(id: ...)Vertical privilege escalation (BFLA):
/admin/* exploration, from JS bundle strings, from Burp's site map)DELETE /admin/users/x blocked, but POST /admin/users/x/delete works{ role: "admin" } because it does User.create(req.body) without filteringTenant isolation (multi-tenant SaaS):
For each input — URL params, query strings, headers, JSON bodies, file uploads:
<title> injection), stored (in profile fields, comments, file names), DOM (look at JS sinks like innerHTML, eval, location)
owasp-audit Verify Fixes XSS payloads' OR 1=1 --, time-based blind ('; SELECT pg_sleep(5)--), error-based, UNION-based
owasp-audit A10 bypass matrix{{7*7}} in a name field renders 49? You're inowasp-audit A01 with control-byte rejectionO: for PHP, \xac\xed for Java, cos\nsystem for Python pickle)/health / /status / /metrics / /actuator/* exposedThe category most scanners can't touch. Look at what the app is supposed to do and ask "what if I do that, but wrong?"
-100 and credit yourself?approver_id?.html and have the server serve it with Content-Type: text/html?view-source: / DevTools, look for inline secrets, API keys, internal endpoint hints<script> and see if it's blockedlocalStorage / sessionStorage / IndexedDB? Tokens? PII?postMessage from your origin reach the app's window without origin check?--risk=1 --level=1 to start)# Web Application Pentest Report
## Target: [target name and scope]
## Engagement window: [start - end]
## Methodology: OWASP WSTG
## Date: [date]
### Executive summary
[2-3 paragraphs — overall posture, top 3 critical findings, business impact]
### Findings
| ID | Severity | OWASP | CWE | Title |
|----|----------|-------|-----|-------|
### Per-finding detail
#### [SEVERITY] [Title]
**Endpoint:** `METHOD /path`
**OWASP / CWE:** WSTG-XXX / CWE-XXX
**Description:** [what + why it matters]
**Proof of concept:**
[curl / Burp request showing the issue, minimal viable repro]
**Observed response:**
[response excerpt showing the issue]
**Remediation:**
[concrete fix + reference to owasp-audit or api-audit if applicable]
**Risk rating:** [Critical / High / Medium / Low / Info — with rationale]
**Verification:** [what to re-test after fix]
### Out-of-scope / not tested
[Anything skipped, with reason]
### Recommendations
[Prioritized 30/60/90 day fixes]c9ade03
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.