api-security-testing
13
总安装量
4
周安装量
#24845
全站排名
安装命令
npx skills add https://github.com/ed1s0nz/cyberstrikeai --skill api-security-testing
Agent 安装分布
codex
3
opencode
2
amp
1
kimi-cli
1
github-copilot
1
claude-code
1
Skill 文档
APIå®å ¨æµè¯
æ¦è¿°
APIå®å ¨æµè¯æ¯ç¡®ä¿APIæ¥å£å®å ¨æ§çéè¦ç¯èãæ¬æè½æä¾APIå®å ¨æµè¯çæ¹æ³ãå·¥å ·åæä½³å®è·µã
æµè¯èå´
1. 认è¯åææ
æµè¯é¡¹ç®ï¼
- Tokenæææ§éªè¯
- Tokenè¿æå¤ç
- æéæ§å¶
- è§è²æééªè¯
2. è¾å ¥éªè¯
æµè¯é¡¹ç®ï¼
- åæ°ç±»åéªè¯
- æ°æ®é¿åº¦éå¶
- ç¹æ®å符å¤ç
- SQLæ³¨å ¥é²æ¤
- XSS鲿¤
3. ä¸å¡é»è¾
æµè¯é¡¹ç®ï¼
- 工使µéªè¯
- ç¶æè½¬æ¢
- å¹¶åæ§å¶
- ä¸å¡è§å
4. é误å¤ç
æµè¯é¡¹ç®ï¼
- éè¯¯ä¿¡æ¯æ³é²
- å æ è·è¸ª
- ææä¿¡æ¯æ´é²
æµè¯æ¹æ³
1. APIåç°
è¯å«API端ç¹ï¼
# 使ç¨ç®å½æ«æ
gobuster dir -u https://target.com -w api-wordlist.txt
# 使ç¨Burp Suiteè¢«å¨æ«æ
# æµè§åºç¨ï¼è§å¯APIè°ç¨
# åæJavaScriptæä»¶
# æ¥æ¾API端ç¹å®ä¹
2. è®¤è¯æµè¯
Tokenæµè¯ï¼
# æµè¯æ æToken
GET /api/user
Authorization: Bearer invalid_token
# æµè¯è¿æToken
GET /api/user
Authorization: Bearer expired_token
# æµè¯æ Token
GET /api/user
JWTæµè¯ï¼
# 使ç¨jwt_tool
python jwt_tool.py <JWT_TOKEN>
# æµè¯ç®æ³æ··æ·
python jwt_tool.py <JWT_TOKEN> -X a
# æµè¯å¯é¥æ´åç ´è§£
python jwt_tool.py <JWT_TOKEN> -C -d wordlist.txt
3. æææµè¯
æ°´å¹³æéï¼
# ç¨æ·A访é®ç¨æ·Bçèµæº
GET /api/user/123
Authorization: Bearer user_a_token
# åºè¯¥è¿å403
åç´æéï¼
# æ®éç¨æ·è®¿é®ç®¡ç忥å£
GET /api/admin/users
Authorization: Bearer user_token
# åºè¯¥è¿å403
4. è¾å ¥éªè¯æµè¯
SQLæ³¨å ¥ï¼
POST /api/search
{
"query": "test' OR '1'='1"
}
å½ä»¤æ³¨å ¥ï¼
POST /api/execute
{
"command": "ping; id"
}
XXEï¼
POST /api/parse
Content-Type: application/xml
<?xml version="1.0"?>
<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<foo>&xxe;</foo>
5. éçéå¶æµè¯
æµè¯éçéå¶ï¼
import requests
for i in range(1000):
response = requests.get('https://target.com/api/endpoint')
print(f"Request {i}: {response.status_code}")
å·¥å ·ä½¿ç¨
Postman
å建æµè¯éåï¼
- å¯¼å ¥APIææ¡£
- 设置认è¯
- å建æµè¯ç¨ä¾
- è¿è¡èªå¨åæµè¯
Burp Suite
APIæ«æï¼
- é ç½®API端ç¹
- 设置认è¯
- è¿è¡ä¸»å¨æ«æ
- åæç»æ
OWASP ZAP
# APIæ«æ
zap-cli quick-scan --self-contained \
--start-options '-config api.disablekey=true' \
http://target.com/api
REST-Attacker
# æ«æOpenAPIè§è
rest-attacker scan openapi.yaml
å¸¸è§æ¼æ´
1. 认è¯ç»è¿
Tokenéªè¯ç¼ºé·ï¼
- å¼±Tokençæ
- Tokenå¯é¢æµ
- Tokenä¸éªè¯ç¾å
2. æéæå
IDORï¼
- ç´æ¥å¯¹è±¡å¼ç¨
- æªéªè¯èµæºæææ
3. ä¿¡æ¯æ³é²
é误信æ¯ï¼
- 详ç»é误信æ¯
- å æ è·è¸ª
- æææ°æ®
4. æ³¨å ¥æ¼æ´
å¸¸è§æ³¨å ¥ï¼
- SQLæ³¨å ¥
- NoSQLæ³¨å ¥
- å½ä»¤æ³¨å ¥
- XXE
5. ä¸å¡é»è¾
é»è¾ç¼ºé·ï¼
- ä»·æ ¼æä½
- æ°ééå¶ç»è¿
- ç¶æä¿®æ¹
æµè¯æ¸ å
è®¤è¯æµè¯
- Tokenæææ§éªè¯
- Tokenè¿æå¤ç
- å¼±Tokenæ£æµ
- Tokenéæ¾æ»å»
æææµè¯
- æ°´å¹³æéæµè¯
- åç´æéæµè¯
- è§è²æééªè¯
- èµæºè®¿é®æ§å¶
è¾å ¥éªè¯
- SQLæ³¨å ¥æµè¯
- XSSæµè¯
- å½ä»¤æ³¨å ¥æµè¯
- XXEæµè¯
- åæ°æ±¡æ
ä¸å¡é»è¾
- 工使µéªè¯
- ç¶æè½¬æ¢
- å¹¶åæ§å¶
- ä¸å¡è§å
é误å¤ç
- éè¯¯ä¿¡æ¯æ³é²
- å æ è·è¸ª
- ææä¿¡æ¯æ´é²
鲿¤æªæ½
æ¨èæ¹æ¡
-
认è¯
- 使ç¨å¼ºToken
- å®ç°Tokenå·æ°
- éªè¯Tokenç¾å
-
ææ
- åºäºè§è²çè®¿é®æ§å¶
- èµæºæææéªè¯
- æå°æéåå
-
è¾å ¥éªè¯
- åæ°ç±»åéªè¯
- æ°æ®é¿åº¦éå¶
- ç½ååéªè¯
-
é误å¤ç
- ç»ä¸é误ååº
- 䏿³é²è¯¦ç»ä¿¡æ¯
- è®°å½é误æ¥å¿
-
éçéå¶
- å®ç°APIéæµ
- 鲿¢æ´åç ´è§£
- çæ§å¼å¸¸è¯·æ±
注æäºé¡¹
- ä» å¨æææµè¯ç¯å¢ä¸è¿è¡
- é¿å 对APIé æå½±å
- 注æä¸åAPIçæ¬çå·®å¼
- æµè¯æ¶æ³¨æè¯·æ±é¢ç