[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M79TP9RTQB2C0VPXAEDDM2BP":3,"skill-same:01M79TP9RTQB2C0VPXAEDDM2BP":69},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":20,"frontMatter":21,"refName":22,"commitSha":23,"skillDirectory":24,"forksCount":25,"repositoryHtmlUrl":26,"repositoryHomepageUrl":6,"ownerHtmlUrl":27,"ownerBlogUrl":28,"ownerDescription":29,"updatedAt":30,"install":31,"resources":44},"01M79TP9RTQB2C0VPXAEDDM2BP","ffuf",null,"0xwi11iam\u002FSuijin","0xwi11iam","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F209588302?v=4","01M79TJ12BMH55AZF1B12GWK42","William Jiang","01M79TJ130WSYMC9XRHSET2TRD",24,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fmodules\u002Fffuf\u002Fskill.md",[],[],"2026-11-15 14:19:17",false,"# FFUF\n\n> [warn] **LONG-RUNNING** — Always use `\"background\": true`. Fuzzing with large wordlists takes minutes.\n> `{\"tool_name\": \"ffuf_fuzz\", \"tool_args\": {\"url\": \"...\", \"wordlist\": \"...\", \"background\": true}}` (`ffuf_fuzz`)\n\nFast web fuzzer. For parameters, dirs, vhosts, headers.\n\n## Installation\n\n- Homebrew: `brew install ffuf`\n- APT: `sudo apt install ffuf`\n- Go: `go install github.com\u002Fffuf\u002Fffuf\u002Fv2@latest`\n\n## Usage\n\n```json\n{\"tool\": \"ffuf_fuzz\", \"args\": {\"url\": \"http:\u002F\u002FTARGET\u002FFUZZ\", \"wordlist\": \"\u002Fusr\u002Fshare\u002Fwordlists\u002Fdirb\u002Fcommon.txt\", \"options\": \"-fc 403,404 -t 100\"}}\n{\"tool\": \"ffuf_fuzz\", \"args\": {\"url\": \"http:\u002F\u002FTARGET\u002Fpage?id=FUZZ\", \"wordlist\": \"\u002Fusr\u002Fshare\u002Fwordlists\u002Fsqli.txt\", \"options\": \"-fw 100\"}}\n```\n\n## Key Flags\n\n| Flag | Purpose |\n|------|---------|\n| `-fc 403,404` | Filter status codes |\n| `-fs 1000` | Filter by response size |\n| `-fw 100` | Filter by word count |\n| `-fr \"error\"` | Filter by regex |\n| `-mc 200,301` | Match status codes |\n| `-t 200` | Threads |\n| `-X POST` | HTTP method |\n| `-d \"param=FUZZ\"` | POST body |\n| `-H \"Host: FUZZ\"` | Vhost fuzzing |\n| `-ac` | Auto-calibrate |\n| `-p 0.1` | Request delay |\n\n## Fuzzing Keywords\n\n| URL Pattern | Purpose |\n|-------------|---------|\n| `http:\u002F\u002FTARGET\u002FFUZZ` | Directory fuzzing |\n| `http:\u002F\u002FTARGET\u002Fpage?param=FUZZ` | Parameter fuzzing |\n| `http:\u002F\u002FTARGET\u002FPARAM?user=KEY` | Custom keyword with `-w list.txt:KEY` |\n| `-H \"Host: FUZZ.TARGET\"` | Vhost enumeration |\n\n## Response Signals\n\n| Signal | Meaning |\n|--------|---------|\n| Different status code | Found |\n| Different size | Possible find |\n| Same size across all | Auto-calibrate needed (`-ac`) |\n",{},"main","aad9c80e194eaa5df87f75b0c2d21353dd03bfe8","suijin\u002Fmodules\u002Fffuf",4,"https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin","https:\u002F\u002Fgithub.com\u002F0xwi11iam","0xwi11iam.vercel.app","Nothing good in life comes free.","2026-11-14 21:30:06",{"source":7,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add 0xwi11iam\u002FSuijin --skill ffuf",{"tool":37,"command":38},"bunx","bunx skills add 0xwi11iam\u002FSuijin --skill ffuf",{"tool":40,"command":41},"pnpm","pnpm dlx skills add 0xwi11iam\u002FSuijin --skill ffuf","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fmodules\u002Fffuf\u002Fskill.md",true,[45,51,55,59,65],{"path":46,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":49,"sourceHtmlUrl":50},"__init__.py","SCRIPT","脚本",50,"https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fmodules\u002Fffuf\u002F__init__.py",{"path":52,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":53,"sourceHtmlUrl":54},"entry.py",2184,"https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fmodules\u002Fffuf\u002Fentry.py",{"path":56,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":57,"sourceHtmlUrl":58},"main.py",403,"https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fmodules\u002Fffuf\u002Fmain.py",{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"manifest.json","REFERENCE","参考文档",424,"https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fmodules\u002Fffuf\u002Fmanifest.json",{"path":66,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":67,"sourceHtmlUrl":68},"plugin.json",372,"https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fmodules\u002Fffuf\u002Fplugin.json",[70,77,84,91,98,105],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":18},"01M79TYP6NA2P0T637YQBVRMTW","WSTG Session Management Testing","Test session tokens for entropy, predictability, fixation, logout, timeout, cookie scope","https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fserver\u002Fagent\u002Flib\u002Fskills\u002Fwstg-session-mgmt\u002FSKILL.md",[],[],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":18},"01M79TYJSQ3D6013V73Y0Y0XP5","WSTG Information Gathering","Systematic information gathering: search engine discovery, web server fingerprinting, review page content for info leaka","https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fserver\u002Fagent\u002Flib\u002Fskills\u002Fwstg-info-gathering\u002FSKILL.md",[],[],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":18},"01M79TYCAC17VNZYDNECPM0JQ6","WSTG Identity & Authentication Testing","Test credential encryption in transit, authentication bypass, weak lockout, password reset, security question, multi-fac","https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fserver\u002Fagent\u002Flib\u002Fskills\u002Fwstg-identity-auth\u002FSKILL.md",[],[],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":18},"01M79TY9RWTNY08VR1BQDAZHZZ","WSTG Error Handling Testing","Test for stack traces, verbose errors, CWE search, improper error handling","https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fserver\u002Fagent\u002Flib\u002Fskills\u002Fwstg-error-handling\u002FSKILL.md",[],[],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":18},"01M79TY5ARBHTT3DA0Z33GX32T","WSTG Data Validation Testing","Test reflected\u002Fstored\u002FDOM XSS, SQL injection, LDAP injection, ORM injection, command injection, format string","https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fserver\u002Fagent\u002Flib\u002Fskills\u002Fwstg-data-validation\u002FSKILL.md",[],[],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":18},"01M79TY2PCE6KNDXZXEE3J1D76","WSTG Cryptography Testing","Test for weak SSL\u002FTLS, padding oracle, weak encryption, clear-text transmission","https:\u002F\u002Fgithub.com\u002F0xwi11iam\u002FSuijin\u002Fblob\u002Fmain\u002Fsuijin\u002Fserver\u002Fagent\u002Flib\u002Fskills\u002Fwstg-cryptography\u002FSKILL.md",[],[]]