跳到正文
cccskills
免费在 GitHub 公开

ffuf-web-fuzzing

Expert guidance for ffuf web fuzzing during authorized penetration testing. Covers directory discovery, subdomain enumeration, parameter fuzzing, authenticated fuzzing with raw requests, auto-calibration, and result analysis. Use when running ffuf scans, analyzing ffuf output, or building fuzzing strategies for web targets.

中文简介正在准备中。当前显示原文说明。

trailofbits/skills-curated星标 521(GitHub 521 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(3)

  • SKILL.md6.8 KB
  • references/request-templates.md2.9 KB
  • references/wordlists.md2.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

FFUF Web Fuzzing

Guidance for using ffuf (Fuzz Faster U Fool) effectively during authorized penetration testing.

Prerequisites

ffuf must be installed: brew install ffuf (macOS) or go install github.com/ffuf/ffuf/v2@latest

When to Use

  • Running directory, file, or subdomain discovery against web targets
  • Fuzzing API endpoints, parameters, or POST data
  • Authenticated fuzzing with raw HTTP requests
  • Analyzing ffuf JSON output for anomalies and interesting findings
  • Building fuzzing strategies (wordlist selection, filtering, rate limiting)
  • IDOR testing with authenticated sessions

When NOT to Use

  • Target system is not in scope or authorization is unclear
  • Passive reconnaissance is more appropriate (use OSINT tools instead)
  • The target is a production system and rate limiting hasn't been configured
  • You need a full vulnerability scanner (use Burp Suite, Nuclei, etc.)
  • Testing for logic flaws that require multi-step interaction

Rationalizations to Reject

  • "Auto-calibration is optional" -- -ac is mandatory. Without it, results are buried in false positives and analysis is wasted effort.
  • "More threads = faster results" -- Hammering a target with -t 200 triggers WAFs, gets you blocked, and may crash staging environments. Start with -t 10 -rate 2 for production targets.
  • "I'll filter later" -- Set up filtering before the scan. Running a 220k wordlist without filters and then trying to grep through the noise is backwards.
  • "The default wordlist is fine" -- Wordlist selection is the most important decision. A generic wordlist misses technology-specific paths. See references/wordlists.md.
  • "Raw requests are too much work" -- For authenticated fuzzing, --request req.txt is simpler and more reliable than chaining -H and -b flags. Capture once, fuzz many times.

Critical Rules

  1. Always use -ac (auto-calibration) unless you have a specific, documented reason not to
  2. Always save output with -o results.json for later analysis
  3. Rate limit production targets with -rate and -t flags
  4. Use --request for auth -- raw request files beat command-line header chains
  5. Confirm authorization first -- before running any scan, verify the user has written permission for the target. Ask if unclear.

Core Concepts

The FUZZ Keyword

# In URL path
ffuf -w wordlist.txt -u https://target.com/FUZZ -ac

# In headers
ffuf -w wordlist.txt -u https://target.com -H "Host: FUZZ.target.com" -ac

# In POST body
ffuf -w wordlist.txt -X POST -d "user=admin&pass=FUZZ" -u https://target.com/login -ac

# Multiple positions with custom keywords
ffuf -w endpoints.txt:EP -w ids.txt:ID -u https://target.com/EP/ID -mode pitchfork -ac

Auto-Calibration

-ac automatically detects and filters repetitive false-positive responses. It adapts to the target's specific behavior and removes noise from dynamic content.

ffuf -w wordlist.txt -u https://target.com/FUZZ -ac        # Standard
ffuf -w wordlist.txt -u https://target.com/FUZZ -ach       # Per-host (multi-host scans)
ffuf -w wordlist.txt -u https://target.com/FUZZ -acc "404" # Custom calibration string

Common Patterns

Directory Discovery

ffuf -w /opt/SecLists/Discovery/Web-Content/raft-large-directories.txt \
     -u https://target.com/FUZZ -e .php,.html,.txt,.bak \
     -ac -c -v -o results.json

Subdomain Enumeration

ffuf -w /opt/SecLists/Discovery/DNS/subdomains-top1million-5000.txt \
     -u https://FUZZ.target.com -ac -c -v -o results.json

API Endpoint Discovery

ffuf -w /opt/SecLists/Discovery/Web-Content/api/api-endpoints.txt \
     -u https://api.target.com/v1/FUZZ \
     -H "Authorization: Bearer YOUR_TOKEN_HERE" -mc 200,201 -ac -c

Authenticated Fuzzing with Raw Requests

Capture a full authenticated request, save to req.txt, insert FUZZ:

POST /api/v1/users/FUZZ HTTP/1.1
Host: target.com
Authorization: Bearer YOUR_TOKEN_HERE
Cookie: session=YOUR_SESSION_ID
Content-Type: application/json

{"action":"view","id":"1"}
ffuf --request req.txt -w wordlist.txt -ac -o results.json

See references/request-templates.md for pre-built templates covering bearer tokens, session cookies, API keys, and GraphQL.

Authenticated Fuzzing: Agent Workflow

Authenticated fuzzing requires real credentials that the agent cannot obtain independently. When the user asks for authenticated fuzzing:

  1. Ask the user to provide ONE of:
    • A raw HTTP request file (req.txt) with auth headers already included
    • A curl command from browser DevTools (convert it to req.txt format)
    • Individual credentials (Bearer token, session cookie, API key)
  2. If given a curl command, convert it to raw HTTP request format and write to req.txt
  3. If given individual credentials, use a template from references/request-templates.md and substitute real values
  4. Never fabricate or guess authentication tokens

IDOR Testing

ffuf --request req.txt -w <(seq 1 10000) -ac -mc 200 -o idor_results.json

Rate Limiting

EnvironmentFlagsNotes
Production (stealth)-rate 2 -t 10Avoid WAF triggers
Production (normal)-rate 10 -t 20Balanced
Staging/Dev-rate 50 -t 40Faster
Local/LabNo limit, -t 100Maximum speed

Analyzing Results

Save output as JSON (-o results.json), then read the file and focus on:

  • Anomalous status codes -- anything other than the baseline 404/403
  • Size outliers -- responses significantly larger or smaller than average
  • Interesting keywords in URLs -- admin, api, backup, config, .git, .env
  • Timing anomalies -- slow responses may indicate SQL injection or heavy processing
  • Follow-up targets -- interesting findings warrant deeper fuzzing

Use -fs to filter by response size and -fc to filter by status code when auto-calibration isn't sufficient. Run ffuf -h for the full list of match/filter flags.

References

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Reverse engineers binaries using Ghidra's headless analyzer. Use when decompiling executables, extracting functions, strings, symbols, or analyzing call graphs from compiled binaries without the Ghidra GUI.

中文简介正在准备中。当前显示原文说明。

trailofbits/skills-curated5212026年7月15日 更新

grilling

免费

Interviews the user relentlessly about a plan, decision, or idea until every branch of the decision tree is resolved. Use when the user wants to stress-test their thinking, sharpen a plan or design before acting, or uses any 'grill' trigger phrase (e.g. "grill me on this").

中文简介正在准备中。当前显示原文说明。

trailofbits/skills-curated5212026年7月15日 更新

handoff

免费

Compacts the current conversation into a handoff document so a fresh agent can continue the work in a new session.

中文简介正在准备中。当前显示原文说明。

trailofbits/skills-curated5212026年7月15日 更新

humanizer

免费

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases. 30c5c8d (Update humanizer plugin to upstream v2.2.0)

中文简介正在准备中。当前显示原文说明。

trailofbits/skills-curated5212026年7月15日 更新

Researches a topic from the last 30 days on Reddit, X, and the web. Surfaces real community discussions with engagement metrics and synthesizes findings into actionable insights. Use when the user wants to know what people are saying about a topic right now.

中文简介正在准备中。当前显示原文说明。

trailofbits/skills-curated5212026年7月15日 更新

Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare. Originally from OpenAI's curated skills catalog.

中文简介正在准备中。当前显示原文说明。

trailofbits/skills-curated5212026年7月15日 更新

查看 trailofbits 的全部技能

报告此技能的问题