Tests mobile app API authentication and authorization for vulnerabilities like auth bypass, insecure JWT tokens, IDOR, privilege escalation, and session flaws. Useful for pentesting Android/iOS backends with Burp Suite or mitmproxy.
npx claudepluginhub killvxk/cybersecurity-skills-zhThis skill uses the workspace's default tool permissions.
适用于以下情况:
Tests mobile app API authentication for broken auth, insecure JWTs/OAuth, session fixation, privilege escalation, and IDOR vulnerabilities during security assessments.
Tests mobile API authentication for vulnerabilities like broken auth, insecure JWTs, OAuth flows, session fixation, privilege escalation, and IDOR. Use for pentesting mobile backends.
Tests API authentication weaknesses including token validation failures, unprotected endpoints, JWT flaws, credential risks, and session defects. Useful for REST API security audits per OWASP API2:2023.
Share bugs, ideas, or general feedback.
适用于以下情况:
不适用场景:未经明确授权且无速率限制意识,不得对生产 API 使用此技能。
拦截移动应用流量,识别认证相关端点:
POST /api/v1/auth/login - 初始认证
POST /api/v1/auth/register - 账户注册
POST /api/v1/auth/refresh - Token 刷新
POST /api/v1/auth/logout - 会话终止
POST /api/v1/auth/forgot-password - 密码重置
POST /api/v1/auth/verify-otp - OTP 验证
GET /api/v1/auth/me - 已认证用户信息
JWT 分析:
# 不验证签名直接解码 JWT
echo "eyJhbGciOiJIUzI1NiIs..." | cut -d. -f2 | base64 -d 2>/dev/null
# 检查常见 JWT 漏洞:
# 1. None 算法攻击
# 修改 Header 为:{"alg":"none","typ":"JWT"}
# 去掉签名:header.payload.
# 2. 算法混淆(RS256 改为 HS256)
# 若服务器使用 RS256,尝试以公钥作为 secret 使用 HS256
# 3. 弱签名密钥
# 使用 hashcat 或 jwt-cracker 爆破 HMAC secret
hashcat -m 16500 jwt.txt wordlist.txt
# 4. 过期时间绕过
# 修改 "exp" 声明为未来时间戳
不透明 Token 分析:
- 测试 Token 长度和熵值
- 检查 Token 是否具有顺序性或可预测性
- 测试登出后 Token 是否可复用
- 验证密码修改后 Token 是否失效
# 测试无认证访问
curl -X GET https://api.target.com/api/v1/users/profile
# 使用空/null Token 测试
curl -X GET https://api.target.com/api/v1/users/profile \
-H "Authorization: Bearer "
curl -X GET https://api.target.com/api/v1/users/profile \
-H "Authorization: Bearer null"
# 使用过期 Token 测试(应返回失败)
curl -X GET https://api.target.com/api/v1/users/profile \
-H "Authorization: Bearer <过期_token>"
# 使用其他用户 Token 测试
curl -X GET https://api.target.com/api/v1/users/123/profile \
-H "Authorization: Bearer <用户456的_token>"
# 修改请求路径中的用户 ID
curl -X GET https://api.target.com/api/v1/users/123/orders \
-H "Authorization: Bearer <用户456的_token>"
# 修改请求体中的对象 ID
curl -X PUT https://api.target.com/api/v1/orders/789 \
-H "Authorization: Bearer <用户456的_token>" \
-d '{"status": "cancelled"}'
# 测试横向权限提升
# 使用普通用户 Token 访问管理员端点
curl -X GET https://api.target.com/api/v1/admin/users \
-H "Authorization: Bearer <普通用户_token>"
# 测试并发会话
# 从多台设备同时登录——两个会话是否均保持有效?
# 测试登出后 Token 失效
TOKEN=$(curl -s -X POST https://api.target.com/api/v1/auth/login \
-d '{"email":"test@test.com","password":"pass"}' | jq -r '.token')
# 执行登出
curl -X POST https://api.target.com/api/v1/auth/logout \
-H "Authorization: Bearer $TOKEN"
# 尝试使用相同 Token(应返回失败)
curl -X GET https://api.target.com/api/v1/users/me \
-H "Authorization: Bearer $TOKEN"
# 测试密码修改后 Token 失效
# 密码修改前获取的 Token 应在修改后失效
# 测试授权码拦截
# 检查是否强制使用 PKCE(Proof Key for Code Exchange)
# 测试缺少 code_verifier 参数的情况
# 测试重定向 URI 操纵
# 尝试自定义 Scheme 劫持:myapp://callback
# 测试修改 redirect_uri 参数
# 测试权限范围提升
# 请求超出已授权的权限范围
| 术语 | 定义 |
|---|---|
| BOLA/IDOR | 对象级授权失效——通过修改标识符访问资源,而服务端未进行授权检查 |
| JWT | JSON Web Token——包含 Header、Payload 和 Signature 的自包含认证令牌 |
| PKCE | Proof Key for Code Exchange——防止移动应用授权码被拦截的 OAuth 2.0 扩展 |
| Token 刷新 | 使用长期有效的刷新令牌获取新访问令牌的机制,无需重新认证 |
| 会话固定(Session Fixation) | 攻击者在受害者认证前预设已知会话 ID,随后劫持该会话的攻击方式 |