web2-vuln-classes SKILL.md skillF

web2-vuln-classes from mikacr1138/claude-bug-bounty is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add mikacr1138/claude-bug-bounty/web2-vuln-classes@git:20260317.a154787

Pins git:20260317.a154787 in mdr.lock. Pin the fingerprint instead.

Audit grade
F, 13 of 17 checks passed
Kind
SKILL.md skill
Repository
mikacr1138/claude-bug-bounty
Path
skills/web2-vuln-classes/SKILL.md
Versions recorded
1
Latest version
git:20260317.a154787, committed Mar 17, 2026
Size
20,836 bytes
Repository stars
3
License
MIT

Complete reference for 18 web2 bug classes with root causes, detection patterns, bypass tables, exploit techniques, and real paid examples. Covers IDOR, auth bypass, XSS, SSRF (11 IP bypass techniques), SQLi, business logic, race conditions, OAuth/OIDC, file upload (10 bypass techniques), GraphQL, LLM/AI (ASI01-ASI10 agentic framework), API misconfig, ATO taxonomy, SSTI, subdomain takeover, cloud/infra misconfigs, HTTP smuggling, cache poisoning. Use when hunting a specific vuln class or…

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# WEB2 BUG CLASSES — 18 Classes

Root cause, pattern, bypass table, chaining opportunity, real paid examples.

---

## 1. IDOR — INSECURE DIRECT OBJECT REFERENCE
> #1 most paid web2 class — 30% of all submissions that get paid.

### Root Cause
```python
# VULNERABLE — no ownership check
@app.route('/api/orders/<order_id>')
def get_order(order_id):
    order = db.query("SELECT * FROM orders WHERE id = ?", order_id)
    return jsonify(order)  # Never checks if order belongs to current user!

# SECURE
@app.route('/api/orders/<order_id>')
def get_order(order_id):
    order = db.query("SELECT * FROM orders WHERE id = ? AND user_id = ?",
                     order_id, current_user.id)
```

### Variants
- **V1:** Numeric ID swap — `/api/user/123/profile` → change to 124
- **V2:** UUID swap — enumerate UUID via email invite or other endpoint
- **V3:** Indirect IDOR — `POST /api/export?report_id=456` exports another user's report
- **V4:** Parameter add — `?user_id=other` makes backend use it
- **V5:** HTTP method swap — PUT protected, DELETE not
- **V6:** Old API version — `/v1/users/123` lacks auth that `/v2/` has
- **V7:** GraphQL node — `{ node(id: "base64(User:456)") { email } }`
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add mikacr1138/claude-bug-bounty/web2-vuln-classes@sha256:81d1eed13caa5f8c

The line at the top of this page pins the label git:20260317.a154787, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_b4xwo6pk7opf33gd.svg)](https://markdownregistry.com/a/art_b4xwo6pk7opf33gd)

8 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Mar 17, 2026.

versioncommittedcommitsizeaudit
git:20260317.a154787 latest2026-03-17 a154787 20,836 BF view

Audit of the latest version

F  13 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • FAIL, critical: No link to an exfiltration or paste host (matched: https://attacker.burpcollaborator)
  • fail: No prompt-injection phrasing (matched: Ignore previous instructions)
  • fail: No link to a raw IP address (matched: http://169.254.169.254)
  • fail: No script tag (matched: <script)
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (20836 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters

Starting a new one? Use a template for SKILL.md on mdpantry, which passes every one of these checks and says what to change in it.

Source

GitHub

mikacr1138/claude-bug-bounty · 3 stars · license MIT · pushed 2026-10-14 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_b4xwo6pk7opf33gd
GET https://markdownregistry.com/api/v1/resolve?ref=mikacr1138/claude-bug-bounty/web2-vuln-classes
GET https://markdownregistry.com/api/v1/blob/81d1eed13caa5f8c193c967dc47bd9f86d95fa2385869d5fb94d92ddf0e6adec

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from mikacr1138/claude-bug-bounty

CLAUDE.md CLAUDE.md file
mikacr1138/claude-bug-bounty · CLAUDE.md
git:20260317.a154787 · audit A · 3 stars
bug-bounty SKILL.md skill
mikacr1138/claude-bug-bounty · SKILL.md · Complete bug bounty workflow — recon (subdomain enumeration, asset discovery, fingerprinting, HackerOne scope, source…
git:20260314.20ad601 · audit B · 3 stars
bug-bounty SKILL.md skill
mikacr1138/claude-bug-bounty · skills/bug-bounty/SKILL.md · Complete bug bounty workflow — recon (subdomain enumeration, asset discovery, fingerprinting, HackerOne scope, source…
git:20260317.a154787 · audit B · 3 stars
report-writing SKILL.md skill
mikacr1138/claude-bug-bounty · skills/report-writing/SKILL.md · Bug bounty report writing for H1/Bugcrowd/Intigriti/Immunefi — report templates, human tone guidelines, impact-first…
git:20260317.a154787 · audit A · 3 stars
security-arsenal SKILL.md skill
mikacr1138/claude-bug-bounty · skills/security-arsenal/SKILL.md · Security payloads, bypass tables, wordlists, gf pattern names, always-rejected bug list, and…
git:20260317.a154787 · audit F · 3 stars
triage-validation SKILL.md skill
mikacr1138/claude-bug-bounty · skills/triage-validation/SKILL.md · Finding validation before writing any report — 7-Question Gate (all 7 questions), 4 pre-submission gates…
git:20260317.a154787 · audit A · 3 stars
web2-recon SKILL.md skill
mikacr1138/claude-bug-bounty · skills/web2-recon/SKILL.md · Web2 recon pipeline — subdomain enumeration (subfinder, Chaos API, assetfinder), live host discovery (dnsx, httpx), URL…
git:20260317.a154787 · audit A · 3 stars
web3-audit SKILL.md skill
mikacr1138/claude-bug-bounty · skills/web3-audit/SKILL.md · Smart contract security audit — 10 DeFi bug classes (accounting desync, access control, incomplete path, off-by-one…
git:20260317.a154787 · audit A · 3 stars

Every file in mikacr1138/claude-bug-bounty

Browse by kind, by grade F, or by owner.